Je veux évaluer l'exactitude des tests de normalité sur différentes tailles d'échantillon dans R (je me rends compte que les tests de normalité peuvent être trompeurs ). Par exemple, pour examiner le test de Shapiro-Wilk, je procède à la simulation suivante (ainsi que le traçage des résultats) et je m'attends à ce que la taille de l'échantillon augmente la probabilité de rejeter les diminutions nulles:
n <- 1000
pvalue_mat <- matrix(NA, ncol = 1, nrow = n)
for(i in 10:n){
x1 <- rnorm(i, mean = 0, sd = 1)
pvalue_mat[i,] <- shapiro.test(x1)$p.value
}
plot(pvalue_mat)
À mon avis, à mesure que la taille de l'échantillon augmente, le taux de rejet devrait diminuer, mais il semble assez uniforme. Je pense que je comprends mal - toutes les pensées sont les bienvenues.
r
simulation
power-analysis
normality-assumption
user94759
la source
la source
Réponses:
Vous simulez sous l'hypothèse nulle (distribution normale), donc le taux de rejet tendra au niveau de signification comme prévu. Pour évaluer la puissance, vous devez simuler sous n'importe quelle distribution non normale. Il existe une infinité de possibilités / scénarios (par exemple, les distributions gamma avec une asymétrie croissante, la distribution t avec une df décroissante, etc.) parmi lesquelles choisir, selon la portée de votre étude.
la source
La compréhension de l'analyse de puissance des tests d'hypothèses statistiques peut être améliorée en effectuant certains et en regardant de près les résultats.
De par sa conception, un test de taille est destiné à rejeter l'hypothèse nulle avec une chance d'au moins lorsque le zéro est vrai (son taux de faux positifs attendu ).α αα Lorsque nous avons la capacité (ou le luxe) de choisir parmi des procédures alternatives avec cette propriété, nous préférerions celles qui (a) se rapprochent réellement du taux de faux positifs nominaux et (b) ont des chances relativement plus élevées de rejeter l'hypothèse nulle lorsqu'elle est pas vrai.
Le deuxième critère nous oblige à préciser de quelle (s) manière (s) et dans quelle mesure le nul ne se révèle pas vrai. Dans les cas de manuels, cela est facile, car les alternatives sont de portée limitée et clairement spécifiées. Avec des tests de distribution comme le Shapiro-Wilk, l'alternative est beaucoup plus vague: ils sont «non normaux». Lors du choix parmi les tests de distribution, l'analyste devra probablement mener sa propre étude de puissance ponctuelle pour évaluer dans quelle mesure les tests fonctionnent avec des hypothèses alternatives plus spécifiques qui sont préoccupantes dans le problème en question.
Un exemple motivé par la réponse de Michael Mayer postule que la distribution alternative peut avoir des qualités similaires à celles de la famille des distributions t de Student. Cette famille, paramétrée par un nombre (ainsi que par emplacement et échelle) inclut dans la limite des grands les distributions normales.ν≥1 ν
Dans les deux situations - qu'il s'agisse d'évaluer la taille réelle du test ou sa puissance - nous devons générer des échantillons indépendants à partir d'une distribution spécifiée, exécuter le test sur chaque échantillon et trouver la vitesse à laquelle il rejette l'hypothèse nulle. Cependant, il y a plus d'informations disponibles dans n'importe quel résultat de test: sa valeur P. En conservant l'ensemble des valeurs de P produites lors d'une telle simulation, nous pouvons ultérieurement évaluer la vitesse à laquelle le test rejetterait la valeur nulle pour toute valeur de pourrait nous intéresser. Le cœur de l'analyse de puissance est donc un sous-programme qui génère cette distribution de valeur P (soit par simulation, comme nous venons de le décrire, soit - occasionnellement - avec une formule théorique). Voici un exemple codé . Ses arguments incluentα
R
rdist
, le nom d'une fonction pour produire un échantillon aléatoire à partir d'une distributionn
, la taille des échantillons à demanderrdist
n.iter
, le nombre de ces échantillons à obtenir...
, tous les paramètres facultatifs à transmettrerdist
(tels que les degrés de liberté ).Les paramètres restants contrôlent l'affichage des résultats; ils sont inclus principalement pour faciliter la génération des chiffres dans cette réponse.
Vous pouvez voir que le calcul ne prend en fait qu'une seule ligne; le reste du code trace l'histogramme. Pour l'illustrer, utilisons-le pour calculer les taux de faux positifs attendus. «Taux» est au pluriel car les propriétés d'un test varient généralement avec la taille de l'échantillon. Comme il est bien connu que les tests de distribution ont une puissance élevée par rapport à des alternatives qualitativement petites lorsque la taille des échantillons est grande, cette étude se concentre sur une gamme de petites tailles d'échantillon où ces tests sont souvent appliqués dans la pratique: généralement environ à Pour économiser le calcul temps, je ne signale que des valeurs de de à5 100. n 5 20.
Après avoir spécifié les paramètres, ce code n'est également qu'une seule ligne. Il donne la sortie suivante:
C'est l'apparence attendue: les histogrammes montrent des distributions presque uniformes des valeurs de P sur toute la plage de à . Avec la taille nominale fixée à les simulations indiquent entre et des valeurs P étaient en fait inférieures à ce seuil: ce sont les résultats surlignés en rouge. La proximité de ces fréquences à la valeur nominale atteste que le test de Shapiro-Wilk fonctionne comme annoncé.0 1 α=0.05, .0481 0.0499
(Il semble y avoir une tendance vers une fréquence inhabituellement élevée de valeurs de P proches de Ceci est peu préoccupant, car dans presque toutes les applications, les seules valeurs de P que l'on examine sont ou moins.)1 0.2
Passons maintenant à l'évaluation de la puissance. La gamme complète des valeurs de pour la distribution de Student t peut être étudiée de manière adéquate en évaluant quelques exemples d'environ à . Comment le sais-je? J'ai effectué quelques essais préliminaires en utilisant un très petit nombre d'itérations (de à ), ce qui ne prend pas de temps du tout. Le code nécessite désormais une double boucle (et dans des situations plus complexes, nous avons souvent besoin de boucles triples ou quadruples pour s'adapter à tous les aspects dont nous devons varier): une pour étudier comment la puissance varie avec la taille de l'échantillon et une autre pour étudier comment elle varie avec les degrés de liberté. Encore une fois, cependant, tout se fait en une seule ligne de code (la troisième et dernière):ν ν=100 ν=1 100 1000
Une petite étude de ce tableau fournit une bonne intuition sur le pouvoir. Je voudrais attirer l'attention sur ses aspects les plus saillants et utiles:
À mesure que les degrés de liberté passent de à gauche à à droite, de plus en plus de valeurs P sont petites, ce qui montre que le pouvoir de discriminer ces distributions d'une distribution normale augmente. (La puissance est quantifiée dans chaque titre de tracé: elle est égale à la proportion de la zone de l'histogramme qui est rouge.)ν=64 ν=1
À mesure que la taille de l'échantillon passe de sur la rangée du haut à sur le bas, la puissance augmente également.n=5 n=20
Remarquez que, comme la distribution alternative diffère davantage de la distribution nulle et que la taille de l'échantillon augmente, les valeurs P commencent à se collecter vers la gauche, mais il y en a toujours une "queue" qui s'étend jusqu'à . Ceci est caractéristique des études de puissance. Cela montre que le test est un pari : même lorsque l'hypothèse nulle est violée de manière flagrante et même lorsque notre taille d'échantillon est raisonnablement grande, notre test formel peut ne pas produire de résultat significatif.1
Même dans le cas extrême en bas à droite, où un échantillon de est tiré d'une distribution de Student t avec degré de liberté (une distribution de Cauchy), la puissance n'est pas : il y a chance qu'un échantillon de iid variables de Cauchy ne sera pas considéré comme significativement différent de Normal à un niveau de (c'est-à-dire avec une confiance de ).20 1 1 100−86.57=13% 20 5% 95%
Nous pourrions évaluer la puissance à n'importe quelle valeur de nous choisissons en coloriant plus ou moins de barres sur ces histogrammes. Par exemple, pour évaluer la puissance à , coloriez les deux barres de gauche de chaque histogramme et estimez sa surface en fraction du total.α α=0.10
(Cela ne fonctionnera pas trop bien pour des valeurs de inférieures à avec cette figure. En pratique, on limiterait les histogrammes aux valeurs P uniquement dans la plage qui serait utilisée, peut-être de à , et les montrer avec suffisamment de détails pour permettre une évaluation visuelle de la puissance jusqu'à ou même . (C'est à cela que sert l' option .) Le post-traitement des résultats de la simulation peut fournir encore plus de détails.)α 0.05 0 20% α=0.01 α=0.005
breaks
sim
Il est amusant de pouvoir en tirer autant de ce qui équivaut en fait à trois lignes de code: une pour simuler des échantillons iid d'une distribution spécifiée, une pour l'appliquer à un tableau de distributions nulles et la troisième pour l'appliquer à un tableau de distributions alternatives. Ce sont les trois étapes qui entrent dans toute analyse de puissance: le reste résume et interprète simplement les résultats.
la source
(Plus qu'un commentaire, peut-être pas une réponse complète)
Laissant de côté les considérations de tests biaisés (qui ne sont pas rares dans la qualité de l'ajustement, il vaut donc la peine d'être mentionné), il y a trois situations relatives au taux de rejet que l'on pourrait envisager:
1) le taux de rejet lors de la simulation à partir du nul (comme vous semblez le faire dans votre question)
Ici, le taux de rejet doit être égal ou proche du niveau de signification, donc, non, si vous maintenez le niveau de signification constant, le taux de rejet ne diminue pas lorsque n augmente, mais reste à / près de .α
2) le taux de rejet lors de la simulation à partir d'une alternative
Ici, le taux de rejet devrait augmenter à mesure que n augmente.
3) le taux de rejet pour certaines collectes de données réelles
Pratiquement, la valeur nulle n'est jamais réellement vraie, et les données réelles auront un mélange de quantités de non-normalité (mesurées par la statistique de test). Si le degré de non-normalité n'est pas lié à la taille de l'échantillon, le taux de rejet devrait augmenter à mesure que n augmente.
En fait, dans aucune de ces situations, nous ne devrions voir le taux de rejet diminuer avec la taille de l'échantillon.
la source