Eu tenho dados de 3 grupos de biomassa de algas ( , , ) que contêm tamanhos de amostra desiguais ( , , ) e gostaria de comparar se esses grupos são da mesma população.B C n A = 15 n B = 13 n C = 12
A ANOVA unidirecional seria definitivamente o caminho a seguir, no entanto, ao realizar testes de normalidade nos meus dados, a heteroskedascity parece ser o principal problema. Meus dados brutos, sem nenhuma transformação, produziram uma razão de variações ( ) que é muito maior que o valor crítico ( F _ {\ rm crit} = 4.16 ) e, portanto, não posso executar ANOVA unidirecional .
Eu também tentei a transformação para normalizar meus dados. Mesmo após tentativas de várias transformações (log, raiz quadrada, quadrado), o menor produzido após a transformação com uma transformação foi de , o que foi ainda maior em comparação com .
Alguém aqui pode me aconselhar sobre onde ir daqui? Não consigo pensar em outros métodos de transformação para normalizar pelos dados. Existem alternativas para uma ANOVA unidirecional?
PS: meus dados brutos estão abaixo:
A: 0.178 0.195 0.225 0.294 0.315 0.341 0.36 0.363 0.371 0.398 0.407 0.409 0.432
0.494 0.719
B: 0.11 0.111 0.204 0.416 0.417 0.441 0.492 0.965 1.113 1.19 1.233 1.505 1.897
C: 0.106 0.114 0.143 0.435 0.448 0.51 0.576 0.588 0.608 0.64 0.658 0.788 0.958
fonte
Respostas:
Há várias opções disponíveis ao lidar com dados heterocedásticos. Infelizmente, nenhum deles é garantido para sempre trabalhar. Aqui estão algumas opções que eu estou familiarizado:
Atualização: Aqui está uma demonstração
R
de algumas maneiras de ajustar um modelo linear (isto é, uma ANOVA ou uma regressão) quando você tem heterocedasticidade / heterogeneidade de variação.Vamos começar analisando seus dados. Por conveniência, eu os carrego em dois quadros de dados chamados
my.data
(que está estruturado como acima com uma coluna por grupo) estacked.data
(que tem duas colunas:values
com os números eind
com o indicador de grupo).Podemos testar formalmente a heterocedasticidade com o teste de Levene:
Com certeza, você tem heterocedasticidade. Vamos verificar quais são as variações dos grupos. Uma regra prática é que os modelos lineares são bastante robustos à heterogeneidade da variação, desde que a variação máxima não seja superior a maior que a variação mínima, também encontraremos essa proporção:4×
Suas variações diferem substancialmente, com as maiores19×
B
, sendo o menor,. Este é um nível problemático de heteroscedsaticidade.A
Você pensou em usar transformações como o log ou a raiz quadrada para estabilizar a variação. Isso funcionará em alguns casos, mas as transformações do tipo Box-Cox estabilizam a variação pressionando os dados assimetricamente, pressionando-os para baixo com os dados mais altos pressionados mais ou pressionando-os para cima com os dados mais baixos pressionados mais. Portanto, você precisa que a variação de seus dados mude com a média para que isso funcione de maneira ideal. Seus dados têm uma enorme diferença de variação, mas uma diferença relativamente pequena entre as médias e medianas, ou seja, as distribuições se sobrepõem principalmente. Como exercício de ensino, podemos criar alguns2.7 .7
parallel.universe.data
adicionando a todos os valores e 0,7 aB
C
para mostrar como funcionaria:O uso da transformação de raiz quadrada estabiliza esses dados muito bem. Você pode ver a melhoria dos dados do universo paralelo aqui:
Em vez de apenas tentar transformações diferentes, uma abordagem mais sistemática é otimizar o parâmetro Box-Cox (embora seja geralmente recomendável arredondá-lo para a transformação interpretável mais próxima). No seu caso, a raiz quadrada, λ = 0,5 , ou o log, λ = 0 , são aceitáveis, embora nenhum deles realmente funcione. Para os dados do universo paralelo, a raiz quadrada é a melhor:λ λ = 0,5 λ = 0
df = 19.445
df = 38
Uma abordagem mais geral é usar mínimos quadrados ponderados . Como alguns grupos (
B
) se espalham mais, os dados desses grupos fornecem menos informações sobre a localização da média do que os dados de outros grupos. Podemos deixar que o modelo incorpore isso, fornecendo um peso a cada ponto de dados. Um sistema comum é usar o recíproco da variação do grupo como o peso:4.5089
0.01749
Os pesos aqui não são tão extremos. Os meios previstos grupo diferem ligeiramente (
A
: WLS0.36673
, robusto0.35722
;B
: WLS0.77646
, robusto0.70433
;C
: WLS0.50554
, robusto0.51845
), com os meios deB
eC
sendo menos puxado por valores extremos.Na econometria, o erro padrão de Huber-White ("sanduíche") é muito popular. Como a correção de Welch, isso não exige que você conheça as variações a priori e não exige que você estime pesos de seus dados e / ou contingente em um modelo que pode não estar correto. Por outro lado, não sei como incorporar isso a uma ANOVA, o que significa que você os obtém apenas para os testes de códigos fictícios individuais, o que me parece menos útil nesse caso, mas os demonstrarei de qualquer maneira:
vcovHC
R
car
white.adjust
Embora o teste de Kruskal-Wallis seja definitivamente a melhor proteção contra erros do tipo I, ele só pode ser usado com uma única variável categórica (ou seja, sem preditores contínuos ou desenhos fatoriais) e possui o menor poder de todas as estratégias discutidas. Outra abordagem não paramétrica é usar a regressão logística ordinal . Isso parece estranho para muitas pessoas, mas você só precisa supor que seus dados de resposta contenham informações ordinais legítimas, o que elas certamente contêm ou todas as outras estratégias acima também são inválidas:
chi2
Discrimination Indexes
0.0363
fonte
car
, há também a opção de definirwhite.adjust=T
heterocedasticidade para lidar com heteroskedacity utilizando Branco-ajustados corrigidos erros padrãolm
's, mas também parece funcionar paraaov
' s (opções parawhite.adjust
sãowhite.adjust=c(FALSE, TRUE, "hc3", "hc0", "hc1", "hc2", "hc4")
- Para mais informações consulte?hccm
)