Atualmente, estou analisando alguns dados que foram produzidos por uma simulação de MC que escrevi - espero que os valores sejam normalmente distribuídos. Naturalmente, plotei um histograma e parece razoável (eu acho?):
[Canto superior esquerdo: histograma com dist.pdf()
, canto superior direito: histograma cumulativo com dist.cdf()
, inferior: gráfico QQ, data
vs dist
]
Então eu decidi dar uma olhada mais profunda nisso com alguns testes estatísticos. (Observe que dist = stats.norm(loc=np.mean(data), scale=np.std(data))
.) O que fiz e o resultado que obtive foi o seguinte:
Teste de Kolmogorov-Smirnov:
scipy.stats.kstest(data, 'norm', args=(data_avg, data_sig)) KstestResult(statistic=0.050096921447209564, pvalue=0.20206939857573536)
Teste de Shapiro-Wilk:
scipy.stats.shapiro(dat) (0.9810476899147034, 1.3054057490080595e-05) # where the first value is the test statistic and the second one is the p-value.
QQ-plot:
stats.probplot(dat, dist=dist)
Minhas conclusões disso seriam:
olhando para o histograma e o histograma cumulativo, eu definitivamente assumiria uma distribuição normal
O mesmo vale depois de analisar o gráfico QQ (isso nunca fica muito melhor?)
o teste KS diz: 'sim, esta é uma distribuição normal'
Minha confusão é: o teste SW diz que não é normalmente distribuído (valor p muito menor que a significância alpha=0.05
, e a hipótese inicial era uma distribuição normal). Eu não entendo isso, alguém tem uma interpretação melhor? Eu estraguei tudo em algum momento?
fonte
args
argumentar se os parâmetros foram derivados dos dados ou não. A documentação não é clara , mas sua falta de menção a essas distinções sugere fortemente que ela não está realizando o teste de Lilliefors. Esse teste é descrito, com um exemplo de código, em stackoverflow.com/a/22135929/844723 .Respostas:
Existem inúmeras maneiras pelas quais uma distribuição pode diferir de uma distribuição normal. Nenhum teste conseguiu capturar todos eles. Como resultado, cada teste difere em como verifica se sua distribuição corresponde à normal. Por exemplo, o teste KS analisa o quantil em que sua função de distribuição cumulativa empírica difere no máximo da função de distribuição cumulativa teórica do normal. Isso geralmente ocorre em algum lugar no meio da distribuição, que não é onde geralmente nos preocupamos com incompatibilidades. O teste SW concentra-se nas caudas, que é onde normalmente nos importamos se as distribuições são semelhantes. Como resultado, o SW é geralmente preferido. Além disso, o teste KW não é válido se você estiver usando parâmetros de distribuição estimados em sua amostra (consulte:Qual é a diferença entre o teste de normalidade Shapiro-Wilk e o teste de normalidade Kolmogorov-Smirnov? ) Você deve usar o SW aqui.
Mas as plotagens geralmente são recomendadas e os testes não (veja: O teste de normalidade é 'essencialmente inútil'? ). Você pode ver em todas as suas plotagens que possui uma cauda direita pesada e uma esquerda leve em relação a um verdadeiro normal. Ou seja, você tem um pouco de inclinação correta.
fonte
Você não pode escolher os testes de normalidade com base nos resultados. Nesse caso, você aceita a rejeição em qualquer teste realizado ou não os utiliza. O teste KS não é muito poderoso, não é um teste de normalidade "especializado". Se alguma coisa SW for provavelmente mais confiável neste caso.
Para mim, seu gráfico de QQ tem sinais de cauda direita gorda ou inclinação para a esquerda, ou ambos. Eu sugeriria usar a ferramenta de Tukey para estudar a gordura das caudas. Isso lhe dará uma indicação de como uma distribuição é normal ou Cauchy.
fonte