Teste de frequências emparelhadas para independência


8

Espero que isso não seja muito básico ou redundante. Eu tenho procurado por orientação, mas até agora ainda não tenho certeza de como proceder.

Meus dados consistem em contagens de uma estrutura específica usada em conversas entre pares de interlocutores. A hipótese que eu quero testar é a seguinte: o uso mais frequente dessa estrutura por um falante tenderá a aumentar a frequência da estrutura pelo outro falante (isto é, isso pode ser evidência de um efeito de priming).

Então, eu só tenho dois vetores, as contagens do orador A e as contagens do orador B são as colunas e, se estiverem alinhadas, cada linha representa uma conversa específica, como esta:

AB
0 1
0 2
1 0
3 1
0 2
2 0
2 1

Existem cerca de 420 conversas (linhas). Existem muitos zeros nesses dados.

Qual seria a melhor maneira de analisar esses dados? Estou usando R, se isso faz diferença.

Aqui está um gráfico das frequências (contagens). O eixo x é o número de usos pelo alto-falante A, o número de usos do eixo y pelo alto-falante B. A distinção entre os alto-falantes significa apenas que o alto-falante A falou primeiro e não há motivo especial para isso. Caso contrário, a distinção entre o falante A e o falante B é basicamente sem sentido:

XHTML válido http://phonematic.com/convplot.jpg

E essa é a frequência em relação ao número de frases faladas por cada falante em cada conversa. :

XHTML válido http://phonematic.com/rs_plot.jpg

(Devo mencionar que iniciei conversas sem acertos, ou seja, {0,0}.)


Cada linha é a contagem de uma estrutura diferente para a mesma conversa ou a contagem da mesma estrutura por diferentes períodos de tempo?
RockScience

Cada linha é o número total de usos da mesma estrutura por duas pessoas diferentes conversando entre si. Por exemplo, se eu estivesse contando sentenças passivas, o número na coluna A seria o número de sentenças passivas usadas pelo falante A e o número na coluna B o número de sentenças passivas usadas pelo falante B. Portanto, cada linha é uma conversa diferente. Cada conversa tem exatamente dois participantes.
Alan H.

Eu também tenho os mesmos dados calculados em relação ao número de frases faladas por cada falante em cada conversa, se isso faz diferença.
Alan H.

Desculpe se estou um pouco lento, mas ainda tenho algumas dificuldades para entender sua estrutura de dados. Existem apenas 2 alto-falantes, com 420 medições repetidas coletadas em cada uma (quero dizer uma linha = um tipo de conversa, mas o mesmo resultado é registrado, por exemplo, não. Frases passivas)? Eu pergunto isso porque você tem algum tipo de correspondência ou emparelhamento (entre os sujeitos A e B), mas neste último caso, você também teria que lidar com medições repetidas, e isso torna os modelos marginais para pares correspondentes menos relevantes.
chl

Não, também são todos diferentes falantes. Esses dados foram extraídos de um corpus de conversas telefônicas gravadas. Então orador Um em uma conversa 1 não é a mesma pessoa como orador Um na conversa 2.
Alan H.

Respostas:


10

Os modelos lineares de log podem ser outra opção, se você quiser estudar sua estrutura de dados bidirecional.

Se você pressupõe que as duas amostras são correspondidas (ou seja, há algum tipo de dependência entre as duas séries de locuções) e leva em consideração que os dados são realmente contagens que podem ser consideradas como pontuações ou respostas ordenadas (como sugerido por @caracal ), também é possível examinar modelos marginais para pares correspondentes, que geralmente envolvem a análise de uma tabela de contingência quadrada. Pode não ser necessariamente o caso de você terminar com uma tabela quadrada, mas também podemos decidir um limite superior para o número de, por exemplo, sentenças passivas. De qualquer forma, os modelos para pares correspondentes são bem explicados no capítulo 10 da Agresti, análise de dados categóricos ; modelos relevantes para categorias ordinais em tabelas quadradas estão testando quase-simetria(a diferença no efeito de uma categoria de um caso para o outro segue uma tendência linear nas pontuações da categoria), simetria condicional ( ou , ) e associação quase uniforme ( associação linear por linear fora da diagonal principal, que no caso de pontuações em intervalos iguais significa uma associação local uniforme). A quase-simetria ordinal (OQS) é um caso especial do modelo linear de logit e pode ser comparado a um modelo mais simples, onde apenas a homogeneidade marginal se mantém com um teste de RL, porque quase-simetria ordinária + homogeneidade marginal simetria. π a b > π a ba , b =πumab<πumabπumab>πumabuma,b=

Seguindo a notação de Agresti (p. 429), consideramos ordenei pontuações para a variável (em linhas) e a variável (em colunas); ou denota qualquer linha ou coluna. O modelo OQS lê como o seguinte modelo log-linear: X Y a bvocê1vocêEuXYumab

registroμumab=λ+λuma+λb+βvocêb+λumab

onde para todos . Comparado com o modelo QS usual para dados nominais, que é , em que significaria independência entre as duas variáveis , no modelo OQS, impomos (introduzindo, portanto, a ideia de uma tendência linear). A representação equivalente de logit é , para . a < b log μ a b = λ + λ X a + λ Y b + λ a b λ a b = 0 λ Y b - λ X b = β u b log ( π a b / π b a ) = β ( u b - uλumab=λbumauma<bregistroμumab=λ+λumaX+λbY+λumabλumab=0 0λbY-λbX=βvocêba bregistro(πumab/πbuma)=β(vocêb-vocêuma)umab

Se , temos simetria como um caso especial deste modelo. Se , temos margens estocásticas ordenadas, ou seja, significa que a média da coluna é maior em comparação à média da linha (e quanto maior , maiores são as diferenças entre as duas distribuições de probabilidades conjuntas e são, o que será refletido nas diferenças entre as distribuições marginais de linha e coluna). Um teste de corresponde a um teste de homogeneidade marginal. A interpretação do estimado é direta: a probabilidade estimada de pontuação na variável éβ=0 0β0 0β>0 0|β|πumabπbumaβ=0 0βXx unidades mais positivas que a pontuação em é vezes a probabilidade reversa. No seu caso particular, isso significa que pode permitir quantificar a influência que um determinado palestrante exerce sobre o outro.Yexp(β^x)β^

De notar, todo o código R foi disponibilizado por Laura Thompson no seu S Manual para acompanhar a análise de dados categóricos da Agresti .

A seguir, forneço alguns exemplos de código R para que você possa brincar com ele em seus próprios dados. Então, vamos tentar gerar alguns dados primeiro:

set.seed(56)
d <- as.data.frame(replicate(2, rpois(420, 1.5)))
colnames(d) <- paste("S", 1:2, sep="")
d.tab <- table(d$S1, d$S2, dnn=names(d)) # or xtabs(~S1+S2, d)
library(vcdExtra)
structable(~S1+S2, data=d)
# library(ggplot2)
# ggfluctuation(d.tab, type="color") + labs(x="S1", y="S2") + theme_bw()

Visualmente, a classificação cruzada fica assim:

   S2  0  1  2  3  4  5  6
S1                        
0     17 35 31  8  7  3  0
1     41 41 30 23  7  2  0
2     19 43 18 18  5  0  1
3     11 21  9 15  2  1  0
4      0  3  4  1  0  0  0
5      1  0  0  2  0  0  0
6      0  0  0  1  0  0  0

Agora, podemos ajustar o modelo OQS. Ao contrário de Laura Thompson, que usou a glm()função base e uma matriz de design personalizado para simetria, podemos confiar no pacote gnm ; precisamos, no entanto, adicionar um vetor para pontuações numéricas para estimar no modelo acima.β

library(gnm)
d.long <- data.frame(counts=c(d.tab), S1=gl(7,1,7*7,labels=0:6),
                     S2=gl(7,7,7*7,labels=0:6))
d.long$scores <- rep(0:6, each=7)
summary(mod.oqs <- gnm(counts~scores+Symm(S1,S2), data=d.long, 
                       family=poisson))
anova(mod.oqs)

Aqui, temos e, portanto, a probabilidade de o Orador B marcar 4 quando o Orador A obtém 3 é vezes a probabilidade de o Orador B ter uma pontuação de 3 enquanto o Orador A tem uma pontuação de 4.β^=0,123exp(0,123)=1,13

Recentemente, deparei com o pacote catspec R, que parece oferecer facilidades semelhantes, mas não tentei. Houve um bom tutorial no UseR! 2009 sobre tudo isso: Introdução aos modelos não lineares generalizados em R , mas veja também a vinheta que acompanha, Modelos não lineares generalizados em R: Uma visão geral do pacote gnm .

Se você quiser entender a idéia com dados reais, há muitos exemplos com conjuntos de dados reais no pacote vcdExtra da Michael Friendly. Sobre o modelo OQS, Agresti utilizou dados sobre sexo antes do casamento e sexo extra-conjugal (Tabela 10.5, p. 421). Os resultados são discutidos no §10.4.7 (p. 430) e foi estimado em -2,86. O código abaixo permite (parcialmente extraído do livro de Thompson) reproduzir esses resultados. Precisaríamos de níveis relevantes de fatores para estabelecer a mesma linha de base que a Agresti.β^

table.10.5 <- data.frame(expand.grid(PreSex=factor(1:4),
                                     ExSex=factor(1:4)),
                         counts=c(144,33,84,126,2,4,14,29,0,2,6,25,0,0,1,5))
table.10.5$scores <- rep(1:4,each=4)
summary(mod.oqs <- gnm(counts~scores+Symm(PreSex,ExSex), data=table.10.5, 
                       family=poisson)) # beta = -2.857
anova(mod.oqs) # G^2(5)=2.10

Uau, isso parece realmente útil. Vou adquirir uma cópia deste livro o mais rápido possível, pois todo mundo parece citá-lo. Enquanto isso, apenas uma pergunta ingênua: esses modelos podem lidar com um número arbitrário de efeitos aleatórios? Eu acho que preciso de 3 no meu modelo.
Alan H.

@ Alan Lembre-se de que nós (@caracal e eu) não estamos citando o mesmo livro. CDA é o mais completo, mas o livro de Laura Thompson já inclui cerca de 10 páginas de resumo para cada capítulo. Veja o livro dela primeiro. O ICDA está disponível nos livros do Google, eu acho.
chl

Erro de digitação na definição de simetria condicional? ou ,πumab<πbumaπumab>πbumauma<b
Scortchi - Reinstate Monica

2

Parece que você ordenou dados categóricos, portanto, sugiro um teste linear por linear, conforme descrito por Agresti (2007, p229 e seguintes). A função lbl_test()do pacote coinimplementa-o em R.

Agresti, A. (2007). Introdução à análise de dados categóricos. 2nd Ed. Hoboken, Nova Jersey: John Wiley & Sons. Hoboken, NJ: Wiley.


0

Talvez eu comece com uma análise de correlação de classificação .
O problema é que você pode ter correlações muito baixas, pois os efeitos que você está tentando capturar são pequenos.

Os coeficientes de correlação de Kendall e Spearman são implementados em R em

cor(x=A, y=B, method = "spearman")  
cor(x=A, y=B, method = "kendall")

1
0 0

Eu tentei isso. Mas com tantos 0s, não sei ao certo o que fazer. Tentei excluir qualquer conversa em que qualquer um dos falantes não usasse nenhuma dessas construções (ou seja, o ponto de dados cairia em qualquer um dos eixos), mas a correlação de Spearman resultante não foi significativa (e o coeficiente era muito pequeno).
Alan H.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.