J'examine actuellement certaines données produites par une simulation MC que j'ai écrite - je m'attends à ce que les valeurs soient normalement distribuées. Naturellement, j'ai tracé un histogramme et il semble raisonnable (je suppose?):
[En haut à gauche: histogramme avec dist.pdf()
, en haut à droite: histogramme cumulatif avec dist.cdf()
, en bas: tracé QQ, data
vs dist
]
J'ai alors décidé d'approfondir cette question avec des tests statistiques. (Notez que dist = stats.norm(loc=np.mean(data), scale=np.std(data))
.) Ce que j'ai fait et la sortie que j'ai obtenue était la suivante:
Test de Kolmogorov-Smirnov:
scipy.stats.kstest(data, 'norm', args=(data_avg, data_sig)) KstestResult(statistic=0.050096921447209564, pvalue=0.20206939857573536)
Test 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)
Mes conclusions en seraient les suivantes:
en regardant l'histogramme et l'histogramme cumulatif, je suppose certainement une distribution normale
il en va de même après avoir regardé l'intrigue QQ (cela s'améliore-t-il jamais?)
le test KS dit: «oui, c'est une distribution normale»
Ma confusion est: le test SW dit qu'il n'est pas normalement distribué (valeur p bien plus petite que la signification alpha=0.05
, et l'hypothèse initiale était une distribution normale). Je ne comprends pas, est-ce que quelqu'un a une meilleure interprétation? Ai-je merdé à un moment donné?
la source
args
argument de révéler si les paramètres ont été dérivés des données ou non. La documentation n'est pas claire , mais son absence de mention de ces distinctions suggère fortement qu'elle n'effectue pas le test de Lilliefors. Ce test est décrit, avec un exemple de code, sur stackoverflow.com/a/22135929/844723 .Réponses:
Il existe d'innombrables façons dont une distribution peut différer d'une distribution normale. Aucun test n'a pu les capturer tous. Par conséquent, chaque test diffère dans la façon dont il vérifie si votre distribution correspond à la normale. Par exemple, le test KS examine le quantile où votre fonction de distribution cumulative empirique diffère au maximum de la fonction de distribution cumulative théorique de la normale. C'est souvent quelque part au milieu de la distribution, ce qui n'est généralement pas le cas pour les asymétries. Le test SW se concentre sur les queues, ce qui est généralement le cas si les distributions sont similaires. En conséquence, le SW est généralement préféré. De plus, le test KW n'est pas valide si vous utilisez des paramètres de distribution estimés à partir de votre échantillon (voir:Quelle est la différence entre le test de normalité de Shapiro-Wilk et le test de normalité de Kolmogorov-Smirnov? ). Vous devez utiliser le SW ici.
Mais les graphiques sont généralement recommandés et les tests ne le sont pas (voir: Les tests de normalité sont-ils «essentiellement inutiles»? ). Vous pouvez voir dans toutes vos parcelles que vous avez une queue droite lourde et une queue gauche légère par rapport à une vraie normale. Autrement dit, vous avez un peu d'inclinaison droite.
la source
Vous ne pouvez pas choisir les tests de normalité en fonction des résultats. Dans ce cas, vous allez soit avec le rejet dans tout test effectué, soit vous ne les utilisez pas du tout. Le test KS n'est pas très puissant, ce n'est pas un test de normalité "spécialisé". Si quelque chose SW est probablement plus fiable dans ce cas.
Pour moi, votre intrigue QQ a des signes de grosse queue droite ou de biais vers la gauche, ou les deux. Je suggérerais d'utiliser l'outil de Tukey pour étudier le gras des queues. Cela vous donnera une indication de la façon dont une distribution est comme normale ou Cauchy.
la source