Tests de normalité appropriés pour les petits échantillons

22

Jusqu'à présent, j'ai utilisé la statistique de Shapiro-Wilk afin de tester les hypothèses de normalité dans de petits échantillons.

Pourriez-vous s'il vous plaît recommander une autre technique?

aL3xa
la source
1
Voici quelques autres questions pouvant présenter un intérêt: les tests de normalité sont-ils essentiellement inutiles , pour une discussion sur la valeur des tests de normalité, et ce qui se passe si les résidus sont distribués normalement mais y est non , pour une discussion / clarification du sens dans lequel la normalité est une hypothèse d'un modèle linéaire.
gung - Rétablir Monica
3
Le Wilk de Shapiro-Wilk fait référence à Martin B. Wilk. Il est trop facile d'écrire "Wilks", en particulier (a) si quelqu'un d'autre a dit ou écrit cela et que vous copiez (b) vous connaissez le travail en statistique de Samuel S. Wilks, une personne très différente (c) vous obtenez confus à propos du terminal "s" en anglais, étant donné ses autres utilisations pour les pluriels (statistiques, chats, chiens, ...) et possessifs ('s), ce qui est courant même chez ceux dont la langue maternelle est l'anglais. J'ai édité ce fil dans la mesure du possible; Je ne peux pas entrer dans les commentaires.
Nick Cox

Réponses:

24

Les fBasics package en R (qui fait partie de Rmetrics ) comprend plusieurs tests de normalité , couvrant de nombreux tests fréquentistes populaires - Kolmogorov-Smirnov, Shapiro-Wilk, Jarque – Bera et D'Agostino - ainsi qu'un emballage pour les tests de normalité dans le paquet le plus au nord - Anderson – Darling, Cramer – von Mises, Lilliefors (Kolmogorov-Smirnov), le chi carré Pearson et Shapiro – Francia. La documentation du package fournit également toutes les références importantes. Voici une démo qui montre comment utiliser les tests de nortest .

Une approche, si vous avez le temps, consiste à utiliser plus d'un test et à vérifier l'accord. Les tests varient de plusieurs façons, il n'est donc pas tout à fait simple de choisir "le meilleur". Qu'est-ce que les autres chercheurs de votre domaine utilisent? Cela peut varier et il peut être préférable de s'en tenir aux méthodes acceptées afin que d'autres acceptent votre travail. J'utilise fréquemment le test de Jarque-Bera, en partie pour cette raison, et Anderson – Darling pour comparaison.

Vous pouvez consulter «Comparaison des tests de normalité univariée» (Seier 2002) et «Une comparaison de divers tests de normalité» (Yazici; Yolacan 2007) pour une comparaison et une discussion des problèmes.

Il est également trivial de tester ces méthodes de comparaison dans R, grâce à toutes les fonctions de distribution . Voici un exemple simple avec des données simulées (je n'imprimerai pas les résultats pour économiser de l'espace), bien qu'une exposition plus complète soit requise:

library(fBasics); library(ggplot2)
set.seed(1)

# normal distribution
x1 <- rnorm(1e+06)   
x1.samp <- sample(x1, 200)
qplot(x1.samp, geom="histogram")
jbTest(x1.samp)
adTest(x1.samp)

# cauchy distribution
x2 <- rcauchy(1e+06)
x2.samp <- sample(x2, 200)
qplot(x2.samp, geom="histogram")
jbTest(x2.samp)
adTest(x2.samp)

Une fois que vous avez les résultats des différents tests sur différentes distributions, vous pouvez comparer les plus efficaces. Par exemple, la valeur de p pour le test de Jarque-Bera ci-dessus a retourné 0,276 pour la distribution normale (acceptant) et <2,2e-16 pour le cauchy (rejetant l'hypothèse nulle).

Shane
la source
Merci Shane, excellente réponse! Eh bien, "les autres" de mon domaine utilisent souvent SPSS, ils utilisent donc Kolmogorov-Smirnov (s'ils vérifient la normalité), bien qu'à mon humble avis le test de Lilliefors soit un meilleur choix lorsque les données sont collectées à partir d'un échantillon (lorsque les paramètres sont inconnue). On m'a appris que Shapiro-Wilk est approprié pour les petits échantillons, et je voulais juste obtenir plus d'informations sur les "tests de normalité des petits échantillons" ... BTW, j'utilise nortest dans R! =)
aL3xa
12

Pour la normalité, le Shapiro-Wilk réel a un bon pouvoir dans des échantillons assez petits.

Le principal concurrent dans les études que j'ai vues est le général Anderson-Darling, qui s'en sort assez bien, mais je ne dirais pas que c'était mieux. Si vous pouvez clarifier les alternatives qui vous intéressent, une meilleure statistique serait peut-être plus évidente. [modifier: si vous estimez les paramètres, le test AD doit être ajusté pour cela.]

[Je recommande fortement de ne pas considérer Jarque-Bera dans de petits échantillons (qui sont probablement mieux connus sous le nom de Bowman-Shenton dans les cercles statistiques - ils ont étudié la distribution des petits échantillons). La distribution asymptotique des articulations d'asymétrie et de kurtosis ne ressemble en rien à la distribution de petits échantillons - de la même manière, une banane ne ressemble pas beaucoup à une orange. Il a également une très faible puissance contre certaines alternatives intéressantes - par exemple, il a une faible puissance pour capter un bimodal symétrique distribution qui a un kurtosis proche de celui d'une distribution normale.]

Souvent, les gens testent la qualité de leur forme pour des raisons qui s'avèrent ne pas être particulièrement bonnes, ou répondent à une question autre que celle à laquelle ils veulent réellement répondre.

Par exemple, vous savez presque certainement déjà que vos données ne sont pas vraiment normales (pas exactement), il est donc inutile d'essayer de répondre à une question à laquelle vous connaissez la réponse - et le test d'hypothèse n'y répond pas de toute façon .

Étant donné que vous savez que vous n'avez pas déjà de normalité exacte, votre test d'hypothèse de normalité vous donne vraiment une réponse à une question plus proche de "ma taille d'échantillon est-elle suffisamment grande pour capter la quantité de non-normalité que j'ai", tandis que la vraie question à laquelle vous souhaitez répondre est généralement plus proche de "quel est l' impact de cette non-normalité sur ces autres choses qui m'intéressent?". Le test d'hypothèse mesure la taille de l'échantillon, tandis que la question à laquelle vous souhaitez répondre ne dépend pas beaucoup de la taille de l'échantillon.

Il y a des moments où le test de normalité a un certain sens, mais ces situations ne se produisent presque jamais avec de petits échantillons.

Pourquoi testez-vous la normalité?

Glen_b -Reinstate Monica
la source
Merci pour une excellente réponse et une excellente question par la suite. Il est essentiel d'avoir une idée de l'arrière-plan du problème. Eh bien, tant de fois j'ai vu des gens faire le test t, le r de Pearson ou l'ANOVA sans avoir aucune idée de la forme de la distribution (qui est souvent asymétrique) - les techniques paramétriques "ont besoin" d'une hypothèse de normalité satisfaite. En psychologie (qui est mon domaine d'intérêt), nous traitons souvent de petits échantillons, j'ai donc besoin d'un test de normalité approprié.
aL3xa
5
Mais la normalité n'est jamais satisfaite. C'est parfois une description raisonnable des données, mais elles ne sont pas réellement normales.Bien qu'il soit judicieux de vérifier la non-normalité lorsque vous les supposez, il n'est pas particulièrement utile de les tester (pour les raisons que j'ai décrites ci-dessus). Je fais un qq-plot, par exemple, mais un test d'hypothèse répond à la mauvaise question dans cette situation. Les tests t et anova fonctionnent généralement assez bien si les distributions ne sont pas fortement asymétriques. Une meilleure approche pourrait être d'utiliser des procédures qui ne supposent pas la normalité - peut-être des techniques de rééchantillonnage.
Glen_b -Reinstate Monica
Ou vous pouvez utiliser des tests non paramétriques, au prix d'avoir moins de puissance. Et rien n'est absolument satisfait en statistique, ce n'est pas seulement un problème de normalité. Cependant, le bootstrapping ou le jackknifing ne sont pas une solution lors de l'introduction à quelqu'un d'hypothèses de test t et / ou d'ANOVA. Je doute que les techniques de rééchantillonnage résolvent du tout les problèmes de normalité. Il faut vérifier la normalité à la fois graphiquement (graphique de densité, boxplot, QQplot, histogramme) et "numériquement" (tests de normalité, asymétrie, kurtosis, etc.). Que suggérez-vous? C'est complètement hors sujet, mais comment vérifieriez-vous, par exemple, les hypothèses de normalité de l'ANOVA?
aL3xa
@ aL3xa Je pense que l'approche de randomisation est mieux adaptée à votre domaine de recherche; nonobstant le fait que les tests paramétriques habituels fournissent une bonne approximation des tests de permutation exacte, les tests non paramétriques impliquent également une sorte d'hypothèse (par exemple sur la forme de la distribution). Je me demande même comment nous pourrions vraiment définir ce qu'est un écart par rapport à la normalité dans une étude sur de petits échantillons. Je pense que vous devriez demander une discussion plus approfondie sur ce point dans une question distincte.
chl
10

Il existe toute une catégorie Wikipédia sur les tests de normalité, notamment:

Je pense que AD est probablement le meilleur d'entre eux.

Rob Hyndman
la source
1
Je suis d'accord. J'ai effectué un test rapide du test AD, Jarque-Bera, et le test de Spiegelhalter (1983), sous le zéro, avec la taille d'échantillon 8, en répétant 10 000 fois. Le test AD maintient le taux de rejet nominal et donne des valeurs uniformes, tandis que le test JB est terrible, Spiegelhalter est médiocre.
shabbychef
1
@shabbychef Le test de Jarque-Bera repose sur la normalité asymptotique de l'asymétrie et du kurtosis de l'échantillon, ce qui ne fonctionne pas bien, même pour n dans le bas des 100 . Mais pour obtenir le taux de rejet souhaité, vous pouvez ajuster les valeurs critiques, par exemple en fonction des résultats de la simulation, comme dans la section 4.1 de Thadewald, T et H. Buning, 2004, test de Jarque-Bera et ses concurrents pour tester la normalité - Une comparaison de puissance , discussion Paper Economics 2004/9, School of Business and Economics, Université libre de Berlin.
Silverfish
3

Pour être complet, les économétriciens aiment aussi le test de Kiefer et Salmon de leur article de 1983 dans Economics Letters - il résume les expressions «normalisées» d'asymétrie et de kurtosis qui sont ensuite distribuées en chi carré. J'ai une ancienne version C ++ que j'ai écrite pendant mes études supérieures que je pourrais traduire en R.

Edit: Et voici un article récent de Bierens (re) dérivant Jarque-Bera et Kiefer-Salmon.

Edit 2: J'ai regardé l'ancien code, et il semble que ce soit vraiment le même test entre Jarque-Bera et Kiefer-Salmon.

Dirk Eddelbuettel
la source
2

En fait, le test Kiefer Salmon et le test Jarque Bera sont très différents, comme indiqué à plusieurs endroits, mais plus récemment ici - Moment Tests for Standardized Error Distributions: A Simple Robust Approach par Yi-Ting Chen. Le test Kiefer Salmon par construction est robuste face aux structures d'erreur de type ARCH contrairement au test Jarque Bera standard. Le document de Yi-Ting Chen développe et discute de ce que je pense être les meilleurs tests actuellement.

Mark Salmon
la source
4
Chen semble se concentrer sur des ensembles de données plus importants, ce qui est logique, car les quatrième et sixième moments et plus élevés impliqués dans ces tests vont prendre un certain temps pour s'installer à des niveaux asymptotiques. Mais les tests de distribution sont généralement utilisés pour des ensembles de données inférieurs à 250 valeurs (le minimum étudié dans cet article). En fait, la plupart d'entre eux deviennent si puissants avec de plus grandes quantités de données qu'ils ne sont guère plus qu'une réflexion après coup dans de telles applications. Ou y a-t-il plus de choses ici que je n'en vois?
whuber
0

Pour les tailles d'échantillon <30 sujets, Shapiro-Wilk est considéré comme ayant une puissance robuste - Soyez prudent , lorsque vous ajustez le niveau de signification du test, car cela peut induire une erreur de type II! [1]

Aliakbar Ahmadi
la source
Dans de petits échantillons, les tests de qualité de l'ajustement ne sont généralement pas en mesure de rejeter la normalité.
Michael R. Chernick
@MichaelChernick que se passe-t-il alors dans le cas spécifique? Quelle est la raison pour laquelle un petit petit est "classé" comme non normal?
Aliakbar Ahmadi du