Comment tester un effet d'interaction avec un test non paramétrique (par exemple un test de permutation)?


10

J'ai deux variables catégorielles / nominales. Chacun d'eux ne peut prendre que deux valeurs distinctes (j'ai donc 4 combinaisons au total).

Chaque combinaison de valeurs est livrée avec un ensemble de valeurs numériques. Donc, j'ai 4 séries de chiffres. Pour le rendre plus concret, disons que j'ai male / femaleet young / oldcomme variables nominales et j'ai weightcomme "sortie" numérique dépendante.

Je sais que le passage de maleà femalechange le poids moyen et ces changements sont statistiquement significatifs. Je peux donc calculer un genderfacteur. Il en va de même pour la agevariable. Je sais que la transition de youngà oldchange le poids moyen et je peux calculer le agefacteur correspondant .

Maintenant, ce que je veux vraiment voir si les données prouvent que la transition des jeunes femmes aux vieux hommes est plus qu'une combinaison de facteurs de genre et d'âge. En d'autres termes, je veux savoir si les données prouvent qu'il y a des "effets 2D" ou, en d'autres termes, que les effets d'âge et de sexe ne sont pas indépendants. Par exemple, il se pourrait que le fait de vieillir pour les hommes augmente le poids du facteur 1,3 et pour les femmes le facteur correspondant est de 1,1.

Bien sûr, je peux calculer les deux facteurs mentionnés (facteur d'âge pour les hommes et facteur d'âge pour les femmes) et ils sont différents. Mais je veux calculer la signification statistique de cette différence. Quelle est la réalité de cette différence.

J'aimerais faire un test non paramétrique, si possible. Est-il possible de faire ce que je veux faire en mélangeant les quatre ensembles, en les mélangeant, en les re-divisant et en calculant quelque chose.


2
Une difficulté à traiter l'interaction de manière non paramétrique est qu'une transformation monotone de la réponse peut supprimer l'interaction qui était présente, induire une interaction là où elle était absente ou inverser la direction de l'interaction. Cela suggère que les approches basées sur le classement, par exemple, peuvent ne pas faire ce que vous attendez d'eux.
Glen_b -Reinstate Monica

Avec les tests de permutation sur les variables d'origine, vous n'avez pas ce problème mais il s'avère qu'il n'y a pas de test exact d'interaction. Vous pouvez obtenir des tests approximatifs.
Glen_b -Reinstate Monica

Réponses:


5

Il existe des tests d'interaction non paramétriques. En gros, vous remplacez les poids observés par leurs rangs et traitez l'ensemble de données résultant comme une ANOVA hétéroskédastique. Regardez par exemple «Méthodes non paramétriques dans les plans factoriels» de Brunner et Puri (2001).

Cependant, le type d'interaction non paramétrique qui vous intéresse ne peut pas être montré dans cette généralité. Tu as dit:

En d'autres termes, je veux savoir si les données prouvent qu'il y a des "effets 2D" ou, en d'autres termes, que les effets d'âge et de sexe ne sont pas indépendants. Par exemple, il se pourrait que le fait de vieillir pour les hommes augmente le poids du facteur 1,3 et pour les femmes le facteur correspondant est de 1,1.

Ce dernier est impossible. L'interaction non paramétrique doit impliquer un changement de signe, c'est-à-dire que vieillir augmente le poids des mâles mais diminue le poids des femelles. Un tel changement de signe demeure même si vous transformez les poids de manière monotone. Mais vous pouvez choisir une transformation monotone sur les données qui mappe l'augmentation de poids du facteur 1,1 aussi près que vous le souhaitez de 1,3. Bien sûr, vous ne montrerez jamais qu'une différence est significative si elle peut être aussi proche que vous le souhaitez.

Si vous êtes vraiment intéressé par des interactions sans changement de signe, vous devriez vous en tenir à l'analyse paramétrique habituelle. Là, les transformations monotones qui "avalent la différence" ne sont pas autorisées. Bien sûr, c'est encore une chose à garder à l'esprit en modélisant et en interprétant vos statistiques.


1

Si vous pensez que les effets de l'âge et du sexe sont plus que les effets individuels, vous pouvez considérer le modèleLe coefficient capture la taille de l'effet "2D" de l'âge et du sexe. Vous pouvez vérifier la statistique t de pour avoir une idée approximative si le vous observez dans votre modèle est significativement différent de .weighti=αagei+βgenderi+γ(genderiagei).γγγγ=0

Voici un exemple graphique très approximatif pour montrer ce que fait ce terme multiplicatif supplémentaire .genderiagei

Dans la du modèle , nous essayons essentiellement d'adapter un hyperplan simple aux donnéesresponse=x1+x2

entrez la description de l'image ici

Ce modèle est linéaire dans les covariables, d'où la forme linéaire que vous voyez dans le graphique ci-dessus.

D'un autre côté, la du modèle est non linéaire en et et permet donc un certain niveau de courbureresponse=x1+x2+x1x2x1x2

entrez la description de l'image ici

Ne pas rejeter l'hypothèse que revient à ne pas rejeter qu'il existe une certaine courbure de cette forme dans le modèle.γ=0

En termes de test non paramétrique, vous pouvez faire quelque chose dans le sens de ce que vous avez suggéré en obtenant des erreurs standard de bootstrap pour . Cela signifie que, plusieurs fois, vous: 1) échantillonnez vos données avec remplacement, 2) recalculez le mode linéaire, 3) obtenez une estimation . Après avoir obtenu de nombreuses estimations de , vous pouvez utiliser le quantile pour configurer un intervalle de confiance non paramétrique de pour . Pour en savoir plus à ce sujet, google "bootstrap standard errors".γγ^γ^50±p%2p%γ


Comment cela peut-il être non linéaire si x1 et x2 ne peuvent prendre que des valeurs de 0 ou 1? Comment le gamma dans votre exemple expliquerait-il une forme de courbure?
5

Peu importe le domaine, il est toujours non linéaire car la fonction ne peut pas être écrite comme une combinaison linéaire de ses arguments (par exemple ). Pour votre deuxième point, notez que j'ai soigneusement dit "un exemple graphique très approximatif". Il s'agit d'un analogue continu du cas binaire. αR2:x1+x2+x1x2=i=12αixi
Mustafa S Eisa

J'ajouterai cependant que lorsque le domaine est binaire (qui est comme les sommets du cube 2D), vous pouvez traiter cette fonction linéairement. Mais la forme fonctionnelle est strictement non linéaire.
Mustafa S Eisa

@MustafaMEisa, je n'ai jamais vu un terme d'interaction dans un modèle linéaire expliqué en termes de "sommets d'un cube 2D". Ce serait instructif si vous pouviez élaborer.
5

@ HorstGrünbusch, je suis également curieux de connaître votre commentaire sur cette réponse, car vous avez déjà donné un commentaire utile sur ma réponse.
5

1

Comme d'autres l'ont noté, cela peut être modélisé linéairement avec une interaction. Vous interagissez avec deux mannequins, et cela n'a rien de non linéaire. Étant donné le modèle: L'effet marginal 'gender' est la dérivée partielle:

wt=α+b1age+b2gender+b3agegender+ϵ

wtgender=b2+b3age

Voyez comment si le sexe et l'âge ne peuvent prendre que des valeurs de 0 ou 1, nous ne cherchons essentiellement qu'une différence de moyens pour quatre groupes différents? Autrement dit, nous n'avons que les quatre combinaisons différentes que nous pouvons connecter aux équations ci-dessus: (1) et , (2) et , (3) et et (4) et . Ainsi, votre exemple spécifique équivaut à une comparaison entre quatre moyennes de groupe.gender=0age=0gender=1age=1gender=0age=1gender=1age=0

Il pourrait également être utile de voir cette discussion pour comprendre comment ce qui précède est équivalent à l'ANOVA avec deux variables nominales interagies. Comme autre façon de réaffirmer le fait qu'avec votre exemple spécifique, (encore une fois, car il n'y a que quatre combinaisons possibles d'âge et de sexe), nous pourrions également spécifier un modèle comme le suivant, sans terme d'interaction explicite:

wt=α+b1young.male+b2old.male+b3young.female+ϵ

Lorsque est omis comme catégorie de référence, et par exemple, le coefficient sera une différence de entre et . Où l'interception sera également égale au moyen dans (encore une fois, la catégorie de référence).old.femaleb1old.femaleyoung.maleαwtold.female

Essayez-le avec vos propres données. Avec un modèle linéaire avec une interaction, une ANOVA avec une interaction ou en utilisant des variables muettes pour chacun des groupes sans interaction, vous obtiendrez les mêmes résultats. Assez cool, hein? Un livre de statistiques pourrait discuter de chacune de ces méthodes dans un chapitre différent mais toutes les routes mènent à Rome. Vraiment, voir comment cela fonctionne avec vos propres données est l'un des meilleurs moyens d'apprendre.

Les exemples ci-dessus sont donc un moyen trop compliqué pour arriver à cette conclusion (que nous comparons vraiment seulement quatre moyennes de groupe), mais pour apprendre comment les interactions fonctionnent, je pense que c'est un exercice utile. Il existe d'autres très bons articles sur CV concernant l'interaction d'une variable continue avec une variable nominale ou l'interaction de deux variables continues. Même si votre question a été modifiée pour spécifier des tests non paramétriques, je pense qu'il est utile de réfléchir à votre problème à partir d'une approche plus conventionnelle (c'est-à-dire paramétrique), car la plupart des approches non paramétriques des tests d'hypothèse ont la même logique, mais généralement avec moins d'hypothèses sur des distributions spécifiques.

Mais la question demandait spécifiquement une approche non paramétrique, ce qui pourrait être plus approprié, par exemple, si nous ne voulions pas faire certaines hypothèses sur la normalité de . Un test non paramétrique approprié serait le test de Dunn . Ce test est similaire au test de somme de rang de Wilcoxon-Mann-Whitney mais avec plus de deux catégories.wt

D'autres tests de permutation pourraient également être appropriés si vous aviez une différence spécifique dans les moyens que vous , par exemple, les contre les . Que vous utilisiez ou non R, la documentation de l'ensemble «pièces» fournit un bon résumé des différents tests non paramétriques et dans quelles circonstances ces tests peuvent être appropriés. old.menyoung.women

Bref sur les interactions "significatives"

Parfois, vous verrez des énoncés comme «l'interaction entre et était statistiquement significative». Ces déclarations ne sont pas nécessairement fausses, mais elles sont trompeuses. Habituellement, lorsqu'un auteur écrit cela, il dit que le coefficient du terme d'interaction était statistiquement significatif. Mais il s'agit d'un effet inconditionnel dans un modèle conditionnel . Un rapport plus précis dirait que " était statistiquement significatif sur" certaines valeurs "de ", où toutes les autres covariables étaient maintenues constantes à une valeur raisonnable, comme une moyenne, une médiane ou un mode.x1x2x1x2Mais encore une fois, si nous n'avons que deux covariables qui ne peuvent prendre que des valeurs de 0 ou 1, cela signifie que nous examinons essentiellement quatre moyennes de groupe.

Exemple travaillé

Comparons les résultats du modèle d'interaction avec les résultats du test de Dunn. Tout d'abord, générons des données où (a) les hommes pèsent plus que les femmes, (b) les hommes plus jeunes pèsent moins que les hommes plus âgés, et (c) il n'y a pas de différence entre les femmes plus jeunes et les femmes plus âgées.

set.seed(405)
old.men<-rnorm(50,mean=80,sd=15)
young.men<-rnorm(50,mean=70,sd=15)
young.women<-rnorm(50,mean=60,sd=15)
old.women<-rnorm(50,mean=60,sd=15)
cat<-rep(1:4, c(50,50,50,50))
gender<-rep(1:2, c(100,100))
age<-c(rep(1,50),rep(2,100),rep(1,50))
wt<-c(old.men,young.men,young.women,old.women)
data<-data.frame(cbind(wt,cat,age,gender))
data$cat<-factor(data$cat,labels=c("old.men","young.men","young.women","old.women"))
data$age<-factor(data$age,labels=c("old","young"))
data$gender<-factor(data$gender,labels=c("male","female"))

Estimez le modèle d'interaction et obtenez un prédit à partir de l'effet marginal (avec le paquet «effets»). Voir ici pourquoi nous ne voulons pas interpréter les effets inconditionnels dans un modèle comme celui-ci. Au lieu de cela, nous voulons interpréter les effets marginaux. Le modèle détecte correctement les différences que nous avons imposées lorsque nous avons généré nos exemples de données.wt

mod<-lm(wt~age*gender,data)
library(effects)
allEffects(mod)

 model: wt ~ age * gender

 age*gender effect
       gender
age         male   female
  old   80.61897 57.70635
  young 67.78351 56.01228

Besoin de calculer une erreur standard ou un intervalle de confiance pour votre effet marginal? Le package «effets» référencé ci-dessus peut le faire pour vous, mais mieux encore, Aiken et West (1991) vous donnent les formules, même pour des modèles d'interaction beaucoup plus compliqués. Leurs tableaux sont idéalement imprimés ici , avec de très bons commentaires de Matt Golder.

Maintenant, pour implémenter le test de Dunn.

#install.packages("dunn.test")
dunn.test(data$wt, data$cat, method="bh")

Kruskal-Wallis chi-squared = 65.9549, df = 3, p-value = 0


                           Comparison of x by group                            
                             (Benjamini-Hochberg)                              
Col Mean-|
Row Mean |    old.men   young.me   young.wo
---------+---------------------------------
young.me |   3.662802
         |    0.0002*
         |
young.wo |   7.185657   3.522855
         |    0.0000*    0.0003*
         |
old.wome |   6.705346   3.042544  -0.480310
         |    0.0000*    0.0014*     0.3155

La valeur de p sur le résultat du test du khi carré Kruskal-Wallis suggère qu'au moins un de nos groupes «provient d'une population différente». Pour les comparaisons groupe par groupe, le nombre supérieur est la statistique du test z de Dunn, et le nombre inférieur est une valeur p, qui a été ajustée pour des comparaisons multiples. Comme nos données d'exemple étaient plutôt artificielles, il n'est pas surprenant que nous ayons autant de petites valeurs de p. Mais notez la comparaison en bas à droite entre les femmes plus jeunes et les femmes plus âgées. Le test prend correctement en charge l'hypothèse nulle selon laquelle il n'y a pas de différence entre ces deux groupes.

Ainsi, le modèle d'interaction et le test de Dunn nous conduisent tous deux à des conclusions similaires. Dans tous les exemples donnés ci-dessus, nous comparons en quelque sorte les moyennes de groupe. Et, bien qu'il existe certainement des approches plus directes pour comparer les moyennes de groupe, j'ai essayé d'illustrer comment la comparaison des moyennes de groupe peut également être comprise comme une interaction ou «effet 2D», avec certaines spécifications de modèle, en particulier avec des interactions nominales. Je pense que comprendre cela est utile pour comprendre des modèles plus compliqués avec des effets d'interaction. Je vais faire un lien vers cet artice une fois de plus, juste parce que je pense qu'il devrait être nécessaire de lire pour toute personne travaillant avec des interactions (il y a une raison pour laquelle cet article a été cité plus de 3k fois ).

MISE À JOUR: Compte tenu des autres réponses, cette réponse a été mise à jour pour contester l'idée que cela nécessite toute forme de modélisation non linéaire, ou que - étant donné l'exemple spécifique de OP de deux covariables binaires, c'est-à-dire quatre groupes - qu'il doit y avoir un signe le changement pour évaluer cela de manière non paramétrique. Si l'âge était continu, par exemple, il y aurait d'autres façons d'aborder ce problème, mais ce n'était pas l'exemple donné par OP.


Vous n'utilisez pas la structure de deux facteurs croisés. Vous comparez simplement quatre groupes. Le test de Dunn ne concerne pas du tout l'interaction.
Horst Grünbusch

D'accord, le test de Dunn ne concerne pas l'interaction. Cependant, la question porte spécifiquement sur une interaction entre deux variables binaires. Ma réponse montre comment cela équivaut à comparer les quatre groupes. Si les termes d'interaction sont nouveaux pour OP, j'espère que c'est une illustration utile.
5

1

Vous avez donc ces variables aléatoires:

  • A - prend des valeurs dans . C'est ce que nous appelons l' âge .N
  • S - prend des valeurs dans . C'est ce que nous appelons le sexe .{male,female}
  • W - prend des valeurs dans . C'est ce que nous appelons le poids .]0,[

Et vous avez ces fonctions de masse / densité de probabilité:

  • fW - densité de rv .W
  • fW,A - densité conjointe de rv .W,A
  • fW,S - densité conjointe de va de .W,S
  • fW,A,S - densité de joint vr .W,A,S

Vous savez qu'il existe un poids , âge et sexe tels que:was

  • fW,A(w,a)fW(w) , donc le poids n'est pas indépendant de l'âge.
  • fW,S(w,s)fW(w) , donc le poids n'est pas indépendant du sexe.

Maintenant, vous souhaitez savoir si l'âge et le sexe sont indépendants car ils sont liés / combinatoires au poids. En d'autres termes, vous souhaitez trouver ceci:

fW,A,S(w,a,s)fW,A(w,a)fW,S(w,s)

Si vous montrez qu'il existe un poids , âge et sexe qui satisfont à ce qui précède, alors vous montrerez que l'âge et le sexe ont un effet combinatoire sur le poids.was

Cependant, vous ne connaissez pas les vrais PDF communs ci-dessus. Puisque vous voulez vous limiter aux méthodes non paramétriques, votre tâche consiste maintenant à trouver ces estimations non paramétriques:

  • f^W,A(w,a) .
  • f^W,S(w,s) .
  • f^W,A,S(w,a,s) .

Et puis montrez que:

  • Vos estimations de densité sont suffisamment précises.
  • La probabilité que est très élevé.f^W,A,S(w,a,s)f^W,A(w,a)f^W,S(w,s)
  • Ou que la probabilité que est très faible.f^W,A,S(w,a,s)=f^W,A(w,a)=f^W,S(w,s)

0

Ce serait vérifier les effets d'interaction . La modélisation linéaire pourrait vérifier une telle chose mais elle n'est pas non paramétrique, donc je suppose qu'un autre outil doit être utilisé.

Comment vérifiez-vous ageet gendereffectuez-vous jusqu'à présent?

EDIT: Cette réponse semble vous aider

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.