O jornal Edgell e Noon entendeu errado.
fundo
O artigo descreve o resultado de conjuntos de dados simulados (xEu,yEu)com coordenadas independentes extraídas das distribuições Normal, Exponencial, Uniforme e Cauchy. (Embora relate duas "formas" do Cauchy, elas diferiam apenas na forma como os valores eram gerados, o que é uma distração irrelevante.) Os tamanhos dos conjuntos de dadosn ("tamanho da amostra") variou de 5 para 100. Para cada conjunto de dados, o coeficiente de correlação da amostra de Pearsonr foi computado, convertido em t estatística via
t = rn - 21 -r2------√,
(consulte a Equação (1)) e referiu isso a um Estudante t distribuição com n - 2graus de liberdade usando um cálculo bicaudal. Os autores realizaram10 , 000 simulações independentes para cada um dos 10 pares dessa distribuição e cada tamanho de amostra, produzindo 10 , 000 testatísticas em cada um. Finalmente, eles tabularam a proporção det estatísticas que pareciam ser significativas no α = 0,05 nível: ou seja, o t estatísticas no exterior α / 2 = 0,025 caudas do aluno t distribuição.
Discussão
Antes de prosseguirmos, observe que este estudo analisa apenas a robustez de um teste de correlação zero com a não normalidade. Isso não é um erro, mas é uma limitação importante a ser lembrada.
Há um erro estratégico importante neste estudo e um erro técnico flagrante.
O erro estratégico é que essas distribuições não são tão normais. Nem as distribuições Normal nem Uniforme causarão problemas aos coeficientes de correlação: a primeira por design e a segunda porque não pode produzir outliers (que é o que causa a correlação de Pearson nãoser robusto). (O Normal precisava ser incluído como referência, para garantir que tudo estivesse funcionando corretamente.) Nenhuma dessas quatro distribuições é um bom modelo para situações comuns em que os dados podem ser "contaminados" por valores de uma distribuição com um local diferente. completamente (como quando os sujeitos realmente vêm de populações distintas, desconhecidas pelo pesquisador). O teste mais severo vem do Cauchy, mas, por ser simétrico, não detecta a sensibilidade mais provável do coeficiente de correlação a valores extremos unilaterais .
O erro técnico é que o estudo não examinou as distribuições reais dos valores-p: analisou apenas as taxas de dois lados paraα = 0,05.
(Embora possamos desculpar muito do que aconteceu 32 anos atrás devido a limitações na tecnologia de computação, as pessoas examinavam rotineiramente distribuições contaminadas, distribuições de barras, distribuições Lognormal e outras formas mais graves de não normalidade; e isso é rotineiro por mais tempo. explore uma ampla variedade de tamanhos de teste, em vez de limitar os estudos a apenas um tamanho.)
Corrigindo os erros
Abaixo, forneço R
código que reproduzirá completamente este estudo (em menos de um minuto de cálculo). Mas faz algo mais: exibe as distribuições de amostra dos valores-p. Isso é bastante revelador, então vamos pular e observar esses histogramas.
Primeiro, aqui estão os histogramas de grandes amostras das três distribuições que observei, para que você possa ter uma idéia de como elas não são normais.
O exponencial é distorcido (mas não terrivelmente); o Cauchy tem caudas longas (de fato, alguns valores entre os milhares foram excluídos dessa trama para que você possa ver seu centro); o contaminado é um normal padrão com uma mistura de 5% de um normal normal deslocada para10. Eles representam formas de não normalidade frequentemente encontradas nos dados.
Como Edgell e Noon tabularam seus resultados em linhas correspondentes a pares de distribuições e colunas para tamanhos de amostra, eu fiz o mesmo. Não precisamos examinar toda a gama de tamanhos de amostra que eles usaram: o menor (5), maior (100) e um valor intermediário (20) vai dar certo. Mas, em vez de tabular frequências de cauda, plotei as distribuições dos valores-p.
Idealmente, os valores-p terão distribuições uniformes: as barras devem estar todas perto de uma altura constante de1 1, mostrado com uma linha cinza tracejada em cada plotagem. Nestas parcelas existem 40 barras, com espaçamento constante de0,025 Um estudo de α = 0,05incidirá na altura média da barra mais à esquerda e à direita (as "barras extremas"). Edgell e Noon compararam essas médias com a frequência ideal de0,05.
Como os desvios da uniformidade são proeminentes, não são necessários muitos comentários, mas antes que eu forneça alguns, procure você mesmo o restante dos resultados. Você pode identificar os tamanhos das amostras nos títulos - todos eles são executados5 - 20 - 100 em cada linha - e você pode ler os pares de distribuições nas legendas abaixo de cada gráfico.
O que mais deve impressioná-lo é a diferença entre as barras extremas e o restante da distribuição. Um estudo deα = 0,05é extraordinariamente especial ! Realmente não nos diz quão bem o teste executará outros tamanhos; de fato, os resultados para0,05são tão especiais que nos enganarão sobre as características deste teste.
Segundo, observe que quando a distribuição contaminada está envolvida - com sua tendência de produzir apenas valores extremos altos - a distribuição dos valores de p se torna assimétrica. Uma barra (que seria usada para testar a correlação positiva ) é extremamente alta, enquanto sua contraparte na outra extremidade (que seria usada para testar a correlação negativa ) é extremamente baixa. Em média, porém, eles quase se equilibram: dois erros enormes são cancelados!
É particularmente alarmante que os problemas tendem a piorar com amostras maiores.
Eu também tenho algumas preocupações sobre a precisão dos resultados. Aqui estão os resumos de100 , 000 iterações, dez vezes mais do que Edgell e Noon:
5 20 100
Exponential-Exponential 0.05398 0.05048 0.04742
Exponential-Cauchy 0.05864 0.05780 0.05331
Exponential-Contaminated 0.05462 0.05213 0.04758
Cauchy-Cauchy 0.07256 0.06876 0.04515
Cauchy-Contaminated 0.06207 0.06366 0.06045
Contaminated-Contaminated 0.05637 0.06010 0.05460
Três deles - os que não envolvem a distribuição contaminada - reproduzem partes da mesa do papel. Embora eles levem qualitativamente às mesmas conclusões (ruins) (ou seja, que essas frequências parecem bem próximas do objetivo de0,05) diferem o suficiente para questionar meu código ou os resultados do artigo. (A precisão no papel será aproximadamenteα ( 1 - α ) / n---------√≈ 0,0022, mas alguns desses resultados diferem dos do artigo muitas vezes.)
Conclusões
Ao não incluir distribuições não normais que provavelmente causam problemas para os coeficientes de correlação, e ao não examinar as simulações em detalhes, Edgell e Noon falharam em identificar uma clara falta de robustez e perderam a oportunidade de caracterizar sua natureza. Que eles encontraram robustez para testes nos dois lados doα = 0,05O nível parece ser quase puramente um acidente, uma anomalia que não é compartilhada por testes em outros níveis.
Código R
#
# Create one row (or cell) of the paper's table.
#
simulate <- function(F1, F2, sample.size, n.iter=1e4, alpha=0.05, ...) {
p <- rep(NA, length(sample.size))
i <- 0
for (n in sample.size) {
#
# Create the data.
#
x <- array(cbind(matrix(F1(n*n.iter), nrow=n),
matrix(F2(n*n.iter), nrow=n)), dim=c(n, n.iter, 2))
#
# Compute the p-values.
#
r.hat <- apply(x, 2, cor)[2, ]
t.stat <- r.hat * sqrt((n-2) / (1 - r.hat^2))
p.values <- pt(t.stat, n-2)
#
# Plot the p-values.
#
hist(p.values, breaks=seq(0, 1, 1/40), freq=FALSE,
xlab="p-values",
main=paste("Sample size", n), ...)
abline(h=1, lty=3, col="#a0a0a0")
#
# Store the frequency of p-values less than `alpha` (two-sided).
#
i <- i+1
p[i] <- mean(1 - abs(1 - 2*p.values) <= alpha)
}
return(p)
}
#
# The paper's distributions.
#
distributions <- list(N=rnorm,
U=runif,
E=rexp,
C=function(n) rt(n, 1)
)
#
# A slightly better set of distributions.
#
# distributions <- list(Exponential=rexp,
# Cauchy=function(n) rt(n, 1),
# Contaminated=function(n) rnorm(n, rbinom(n, 1, 0.05)*10))
#
# Depict the distributions.
#
par(mfrow=c(1, length(distributions)))
for (s in names(distributions)) {
x <- distributions[[s]](1e5)
x <- x[abs(x) < 20]
hist(x, breaks=seq(min(x), max(x), length.out=60),main=s, xlab="Value")
}
#
# Conduct the study.
#
set.seed(17)
sample.sizes <- c(5, 10, 15, 20, 30, 50, 100)
#sample.sizes <- c(5, 20, 100)
results <- matrix(numeric(0), nrow=0, ncol=length(sample.sizes))
colnames(results) <- sample.sizes
par(mfrow=c(2, length(sample.sizes)))
s <- names(distributions)
for (i1 in 1:length(distributions)) {
s1 <- s[i1]
F1 <- distributions[[s1]]
for (i2 in i1:length(distributions)) {
s2 <- s[i2]
F2 <- distributions[[s2]]
title <- paste(s1, s2, sep="-")
p <- simulate(F1, F2, sample.sizes, sub=title)
p <- matrix(p, nrow=1)
rownames(p) <- title
results <- rbind(results, p)
}
}
#
# Display the table.
#
print(results)
Referência
Stephen E. Edgell e Sheila M. Noon, Efeito da violação da normalidade notTeste do coeficiente de correlação. Psychological Bulletin 1984, Vol., 95, No. 3, 576-583.