Qu'est-ce qu'une matrice de contraste?


46

Qu'est- ce que la matrice de contraste (terme utilisé dans une analyse avec prédicteurs catégoriels) et comment spécifie-t-on exactement la matrice de contraste? Par exemple, quelles sont les colonnes, quelles sont les lignes, quelles sont les contraintes sur cette matrice et que signifie le nombre dans la colonne jet la ligne i? J'ai essayé de consulter la documentation et le Web, mais il semble que tout le monde l'utilise, mais il n'y a pas de définition nulle part. Je pourrais reconfigurer les contrastes prédéfinis disponibles, mais je pense que la définition devrait être disponible sans cela.

> contr.treatment(4)
  2 3 4
1 0 0 0
2 1 0 0
3 0 1 0
4 0 0 1
> contr.sum(4)
  [,1] [,2] [,3]
1    1    0    0
2    0    1    0
3    0    0    1
4   -1   -1   -1
> contr.helmert(4)
  [,1] [,2] [,3]
1   -1   -1   -1
2    1   -1   -1
3    0    2   -1
4    0    0    3
> contr.SAS(4)
  1 2 3
1 1 0 0
2 0 1 0
3 0 0 1
4 0 0 0

La "matrice de contraste" est utilisée pour représenter les IV (facteurs) catégoriques dans la modélisation. En particulier, il est utilisé pour recoder un facteur dans un ensemble de "variables de contraste" (les variables factices n'étant qu'un exemple). Chaque type de variable de contraste a sa propre matrice de contraste correspondante. Voir par exemple ma propre question connexe , pas encore de réponse.
ttnphns

5
@ttnphns Désolé, mais vous continuez à faire ce que font tous les documents et tous les sites Web: vous expliquez à quoi servent les matrices de contraste, sans aborder la question de savoir quelle est la matrice de contraste. C'est le but d'une définition .
Curieux

3
Bien sûr, c'est lié, mais dériver "ce que c'est" de "pour quoi il est nécessaire" est un travail de détective, qui ne devrait pas être nécessaire. C'est l'ingénierie inverse. Les choses devraient être documentées.
Curieux

2
ats.ucla.edu/stat/r/library/contrast_coding.htm est une Rressource utile sur les méthodes de codage.
whuber

1
@Curious, juste pour vous faire savoir que j'ai attribué 100 récompenses à tnphns, mais je vais en créer une autre (ou demander à quelqu'un d'autre de le faire) afin d'attribuer également Gus_est. J'ai également écrit ma propre réponse, juste au cas où vous préférez une version plus courte :-)
amibe dit Réintégrer Monica

Réponses:


31

Dans leur réponse, @Gus_est, a entrepris une explication mathématique de l’essence de la matrice de coefficients de contraste L (notée là C ). est la formule fondamentale pour tester les hypothèses dans la modélisation linéaire générale univariée (où b sont des paramètres et k sont des fonctions estimables représentant une hypothèse nulle), et cette réponse montre certaines des formules nécessaires utilisées dans les programmes ANOVA modernes.Lb=kbk

Ma réponse est dénommée très différemment. C’est pour un analyste de données qui se voit plutôt comme un "ingénieur" que comme un "mathématicien". La réponse sera donc un compte (superficiel) "pratique" ou "didactique" et se concentrera uniquement sur des sujets (1). Les coefficients de contraste signifient et (2) comment peuvent-ils aider à effectuer une ANOVA via un programme de régression linéaire .

ANOVA en tant que régression avec variables nominales: introduction de contrastes .

Imaginons une ANOVA avec la variable dépendante Y et le facteur catégorique A ayant 3 niveaux (groupes). Prenons regard sur la ANOVA à partir du point de régression linéaire de vue, qui est - par l' intermédiaire tournant le facteur dans l'ensemble de mannequin (aka indicateur aka traitement aka one-hot ) variables binaires. Ceci est notre ensemble indépendant X . (Tout le monde a probablement entendu dire qu'il est possible de réaliser une ANOVA de cette façon - sous forme de régression linéaire avec des prédicteurs factices.)

L'un des trois groupes étant redondant, seules deux variables nominales entreront dans le modèle linéaire. Nous allons nommer Groupe3 redondant ou référence. Les prédicteurs factices constituant X sont un exemple de variables de contraste , c'est-à-dire de variables élémentaires représentant les catégories d'un facteur. X lui-même est souvent appelé matrice de conception. Nous pouvons maintenant entrer le jeu de données dans un programme de régression linéaire multiple qui centrera les données et trouvera les coefficients de régression (paramètres) , où "+" désigne le pseudo-inverse.b=(XX)1Xy=X+y

Un passage équivalent ne consistera pas à faire le centrage mais à ajouter le terme constant du modèle comme première colonne de 1 s dans X , puis estimer les coefficients de la même manière que ci-dessus . Jusqu'ici tout va bien.b=(XX)1Xy=X+y

Définissons la matrice C pour être l'agrégation (summarization) de la matrice de conception variables indépendantes X . Il nous montre simplement le schéma de codage observés là, - le contraste matrice de codage (= matrice de base): .C=aggrX

C
              Const  A1    A2
Gr1 (A=1)       1     1     0
Gr2 (A=2)       1     0     1
Gr3 (A=3,ref)   1     0     0

Les colonnes sont les variables (colonnes) de X - les variables de contraste élémentaires A1 A2, factices dans ce cas, et les lignes représentent tous les groupes / niveaux du facteur. Il en a été de même pour notre matrice de codage C pour un schéma de codage par indicateur ou par contraste factice.

Maintenant, s'appelle la matrice de coefficient de contraste , ou matrice L. Puisque C est carré, L = C + = C - 1 . La matrice de contraste, correspondant à notre C - pour les contrastes d' indicateur de notre exemple - est donc:C+=LL=C+=C1

L
          Gr1   Gr2   Gr3
         (A=1) (A=2) (A=3)
Const      0     0     1            => Const = Mean_Gr3
A1         1     0    -1            => Param1 = Mean_Gr1-Mean_Gr3
A2         0     1    -1            => Param2 = Mean_Gr2-Mean_Gr3

La matrice L est la matrice présentant les coefficients de contraste . Notez que la somme des coefficients de contraste dans chaque ligne (sauf la ligne constante) est égale à . Chaque rangée s'appelle un contraste . Les lignes correspondent aux variables de contraste et les colonnes correspondent aux groupes, aux niveaux de facteurs.0

La signification des coefficients de contraste est qu’ils aident à comprendre ce que chaque effet (chaque paramètre b estimé dans la régression avec notre X , tel qu’il est codé) représente au sens de la différence (la comparaison de groupe). Nous voyons immédiatement, à la suite des coefficients, que la constante estimée sera égale à la moyenne Y du groupe de référence; le paramètre b1 (c'est-à-dire de la variable muette A1) sera égal à la différence: Y moyenne dans le groupe 1 moins Y moyenne dans le groupe3; et le paramètre b2 est la différence: moyenne dans le groupe 2 moins moyenne dans le groupe3.

Remarque : En disant «moyenne» juste au-dessus (et plus bas encore), nous calculons la moyenne estimée (prévue par le modèle) pour un groupe et non la moyenne observée dans un groupe.

Une remarque instructive : quand on fait une régression par variables prédictives binaires , le paramètre d'une telle variable dit à propos de la différence en Y entre les groupes variable = 1 et variable = 0. Cependant, dans le cas où les variables binaires sont l'ensemble des k-1 variablesk nominales représentant un facteur de niveau, la signification du paramètre devient plus étroite : il montre la différence en Y entre variable = 1 et (pas seulement variable = 0 mais pair) reference_variable = 1 groupes.

Comme (après multipliée par y ) nous apporte des valeurs de b , de manière similaire ( un g g r X ) + apporte significations de b .X+y(aggrX)+

OK, nous avons donné la matrice définition du coefficient de contraste L . Puisque , symétriquement C = L + = L - 1 , cela signifie que si vous avez construit ou avez construit une matrice de contraste L sur la base de facteurs catégoriques - pour tester ce L dans votre analyse, vous saurez alors comment coder correctement vos variables de prédicteur de contraste X afin de tester le L via une régression ordinaireL=C+=C1C=L+=L1 logiciel (c’est-à-dire celui qui traite uniquement les variables "continues" de la manière habituelle MCO, et ne reconnaît pas les facteurs catégoriels du tout). Dans notre exemple actuel, le codage était - variable de type indicateur (factice).

ANOVA en régression: autres types de contraste .

Observons brièvement d' autres types de contraste (= schémas de codage, = styles de paramétrage) pour un facteur catégorique A .

Déviation ou effets contrastés . Matrices C et L et signification des paramètres:

C
              Const  A1    A2
Gr1 (A=1)       1     1     0
Gr2 (A=2)       1     0     1
Gr3 (A=3,ref)   1    -1    -1

L
          Gr1   Gr2   Gr3
         (A=1) (A=2) (A=3)
Const     1/3   1/3   1/3      => Const = 1/3Mean_Gr3+1/3Mean_Gr2+1/3Mean_Gr3 = Mean_GU
A1        2/3  -1/3  -1/3      => Param1 = 2/3Mean_Gr1-1/3(Mean_Gr2+Mean_Gr3) = Mean_Gr1-Mean_GU
A2       -1/3   2/3  -1/3      => Param2 = 2/3Mean_Gr2-1/3(Mean_Gr1+Mean_Gr3) = Mean_Gr2-Mean_GU

                                  Parameter for the reference group3 = -(Param1+Param2) = Mean_Gr3-Mean_GU

                                  Mean_GU is grand unweighted mean = 1/3(Mean_Gr1+Mean_Gr2+Mean_Gr3)

En codant par déviation, chaque groupe du facteur est comparé à la grande moyenne non pondérée, alors que Constant est cette grande moyenne. C'est ce que vous obtenez en régression avec les prédicteurs de contraste X codés en déviation ou en effet "de manière".

Contrastes simples . Ce schéma de contraste / codage est un hybride d'indicateurs et de types d'écart, il donne la signification de Constante comme type d'écart et la signification des autres paramètres comme type d'indicateur:

C
              Const  A1    A2
Gr1 (A=1)       1   2/3  -1/3
Gr2 (A=2)       1  -1/3   2/3
Gr3 (A=3,ref)   1  -1/3  -1/3

L
          Gr1   Gr2   Gr3
         (A=1) (A=2) (A=3)
Const     1/3   1/3   1/3        => Const = as in Deviation
A1         1     0    -1         => Param1 = as in Indicator
A2         0     1    -1         => Param2 = as in Indicator

Helmert contraste . Compare chaque groupe (sauf référence) avec la moyenne non pondérée des groupes suivants, et Constant est la grande moyenne non pondérée. Matrices C et L :

C
              Const  A1    A2
Gr1 (A=1)       1   2/3    0
Gr2 (A=2)       1  -1/3   1/2
Gr3 (A=3,ref)   1  -1/3  -1/2

L
          Gr1   Gr2   Gr3
         (A=1) (A=2) (A=3)
Const     1/3   1/3   1/3        => Const = Mean_GU
A1         1   -1/2  -1/2        => Param1 = Mean_Gr1-1/2(Mean_Gr2+Mean_Gr3)
A2         0     1    -1         => Param2 = Mean_Gr2-Mean_Gr3

Différence ou inverse des contrastes de Helmert . Compare chaque groupe (sauf référence) avec la moyenne non pondérée des groupes précédents, et Constant est la grande moyenne non pondérée.

C
              Const  A1    A2
Gr1 (A=1)       1  -1/2  -1/3
Gr2 (A=2)       1   1/2  -1/3
Gr3 (A=3,ref)   1    0    2/3

L
          Gr1   Gr2   Gr3
         (A=1) (A=2) (A=3)
Const     1/3   1/3   1/3        => Const = Mean_GU
A1        -1     1     0         => Param1 = Mean_Gr2-Mean_Gr1
A2       -1/2  -1/2    1         => Param2 = Mean_Gr3-1/2(Mean_Gr2+Mean_Gr1)

Contrastes répétés . Compare chaque groupe (sauf référence) avec le groupe suivant, et Constant est la grande moyenne non pondérée.

C
              Const  A1    A2
Gr1 (A=1)       1   2/3   1/3
Gr2 (A=2)       1  -1/3   1/3
Gr3 (A=3,ref)   1  -1/3  -2/3

L
          Gr1   Gr2   Gr3
         (A=1) (A=2) (A=3)
Const     1/3   1/3   1/3        => Const = Mean_GU
A1         1    -1     0         => Param1 = Mean_Gr1-Mean_Gr2
A2         0     1    -1         => Param2 = Mean_Gr2-Mean_Gr3

La question demande: how exactly is contrast matrix specified?En regardant les types de contrastes décrits jusqu'à présent, il est possible de comprendre comment. Chaque type a sa logique comment « remplir » les valeurs L . La logique reflète la signification de chaque paramètre - quelles sont les deux combinaisons de groupes qu'il est prévu de comparer.

Contrastes polynomiaux . Ce sont un peu spécial, non linéaire. Le premier effet est linéaire, le second est quadratique, puis cubique. J'abandonne ici la question de savoir comment leurs matrices C et L doivent être construites et si elles sont l'inverse de l'autre. Veuillez consulter les explications profondes de @Antoni Parellada sur ce type de contraste: 1 , 2 .

Dans les conceptions équilibrées, Helmert, inverser Helmert et contrastes polynomiaux sont toujours des contrastes orthogonaux . Les autres types considérés ci-dessus ne sont pas des contrastes orthogonaux. Orthogonal (en équilibre) est le contraste où, au contraire, la matrice L somme dans chaque ligne (sauf Const) est égale à zéro et la somme des produits des éléments correspondants de chaque paire de lignes est égale à zéro.

Voici les mesures de similarité des angles (corrélation cosinus et Pearson) sous différents types de contraste, sauf le polynôme que je n'ai pas testé. Disposons d’un facteur A unique avec des kniveaux, qui ont ensuite été recodés dans l’ensemble des k-1variables de contraste d’un type spécifique. Quelles sont les valeurs dans la matrice de corrélation ou cosinus entre ces variables de contraste?

                     Balanced (equal size) groups     Unbalanced groups
Contrast type             cos        corr              cos        corr

INDICATOR                  0       -1/(k-1)             0         varied
DEVIATION                 .5          .5              varied      varied
SIMPLE                 -1/(k-1)    -1/(k-1)           varied      varied
HELMERT, REVHELMERT        0           0              varied      varied
REPEATED                varied   =  varied            varied      varied

   "=" means the two matrices are same while elements in matrix vary

Je donne la table pour information et la laisse non commentée. Il est important de jeter un regard plus profond sur la modélisation linéaire en général.

Contrastes définis par l'utilisateur . C'est ce que nous composons pour tester une hypothèse de comparaison personnalisée. Normalement, la somme dans chaque rangée sauf la première ligne de L doit être 0, ce qui signifie que deux groupes ou deux compositions de groupes sont comparés dans cette ligne (c'est-à-dire par ce paramètre).

Où sont les paramètres du modèle après tout ?

Sont-ils les lignes ou les colonnes de L ? Tout au long du texte ci-dessus, je disais que les paramètres correspondent aux lignes de L , car elles représentent des variables de contraste, les prédicteurs. Tandis que les colonnes sont des niveaux d'un facteur, les groupes. Cela peut paraître en contradiction avec un tel bloc théorique, par exemple, de @Gus_est answer, où les colonnes correspondent clairement aux paramètres:

H0:[011000011000011][β0β1β2β3β4]=[000]

En réalité, il n’ya pas de contradiction et la réponse au "problème" est la suivante: les lignes et les colonnes de la matrice des coefficients de contraste correspondent aux paramètres! Rappelez-vous que les contrastes (variables de contraste), les lignes, ont été créés à l'origine pour ne représenter que les niveaux de facteurs: ce sont les niveaux sauf celui de référence omis. Comparez, s'il vous plaît, ces deux orthographes équivalentes de la matrice L pour le contraste simple :

L
          Gr1   Gr2   Gr3
          A=1   A=2   A=3(reference)
Const     1/3   1/3   1/3 
A1         1     0    -1  
A2         0     1    -1   

L
            b0    b1    b2    b3(redundant)
           Const  A=1   A=2   A=3(reference)
b0  Const   1    1/3   1/3   1/3 
b1  A1      0     1     0    -1  
b2  A2      0     0     1    -1   

Le premier est ce que j'ai déjà montré, le second est une présentation plus "théorique" (pour l'algèbre des modèles linéaires généraux). Simplement, une colonne correspondant au terme constant a été ajoutée. Les coefficients du paramètre b identifient les lignes et les colonnes. Le paramètre b3, en tant que redondant, sera mis à zéro. Vous pouvez pseudoinverser la deuxième mise en page pour obtenir la matrice de codage C , où vous trouverez toujours les codes corrects pour les variables de contraste A1 et A2 dans la partie inférieure droite. Ce sera le cas pour tout type de contraste décrit (sauf pour le type d’indicateur - où la pseudo-inverse d’une telle disposition rectangulaire ne donnera pas un résultat correct; c’est probablement pourquoi le type de contraste simple a été inventé pour plus de commodité: des coefficients de contraste identiques au type d’indicateur, mais rangée constante).

Résultats du type de contraste et de la table ANOVA .

(μ1=μ2,μ2=μ3)(μ1=μ23,μ2=μ3)(μ1=μ123,μ2=μ123)(μ1=μ3,μ2=μ3)

Les programmes ANOVA mis en œuvre via le paradigme du modèle linéaire général peuvent afficher à la fois le tableau ANOVA (effets combinés: principal, interactions) et le tableau d'estimations de paramètres (effets élémentaires b ). Certains programmes peuvent sortir la dernière table correspondant au type de contraste selon l’offre de l’utilisateur, mais la plupart sortiront toujours les paramètres correspondant à un type - souvent, le type d’indicateur, car les programmes ANOVA basés sur un modèle linéaire général paramètrent spécifiquement des variables nominales (plus pratiques). faire) puis basculer pour les contrastes en utilisant des formules spéciales "de liaison" interprétant l’entrée factice fixe en un contraste (arbitraire).

Alors que dans ma réponse - en montrant une ANOVA sous forme de régression - le "lien" est réalisé dès le niveau de l’entrée X , ce qui a appelé à introduire la notion de schéma de codage approprié pour les données.

Quelques exemples montrant le test des contrastes ANOVA via la régression habituelle .

Afficher dans SPSS la demande un type de contraste dans ANOVA et obtenir le même résultat via une régression linéaire. Nous avons un ensemble de données avec Y et les facteurs A (3 niveaux, référence = dernier) et B (4 niveaux, référence = dernier); retrouvez les données ci-dessous plus tard.

Exemple de contraste de déviation sous modèle factoriel complet (A, B, A * B). Type de déviation demandé pour A et B (nous pourrions choisir d'exiger un type différent pour chaque facteur, pour votre information).

Matrice de coefficient de contraste L pour A et pour B:

            A=1      A=2      A=3
Const     .3333    .3333    .3333 
dev_a1    .6667   -.3333   -.3333
dev_a2   -.3333    .6667   -.3333

            B=1      B=2      B=3      B=4
Const     .2500    .2500    .2500    .2500
dev_b1    .7500   -.2500   -.2500   -.2500 
dev_b2   -.2500    .7500   -.2500   -.2500 
dev_b3   -.2500   -.2500    .7500   -.2500

Demander au programme ANOVA ( GLMdans SPSS) d'effectuer une analyse de variance et de générer des résultats explicites pour les contrastes de déviation:

entrez la description de l'image ici

entrez la description de l'image ici

Type de contraste d'écart comparé A = 1 vs moyenne non pondérée de grand et A = 2 avec cette même moyenne. Les ellipses rouges encrent les estimations de différence et leurs valeurs p. L'effet combiné sur le facteur A est encré par un rectangle rouge. Pour le facteur B, tout est encré de manière analogue en bleu. Affichage également de la table ANOVA. Notez que les effets de contraste combinés sont égaux aux effets principaux.

entrez la description de l'image ici

Créons maintenant des variables de contraste physique dev_a1, dev_a2, dev_b1, dev_b2, dev_b3 et exécutons la régression. Inverser les matrices L pour obtenir les matrices de codage C :

      dev_a1   dev_a2
A=1   1.0000    .0000 
A=2    .0000   1.0000 
A=3  -1.0000  -1.0000

      dev_b1   dev_b2   dev_b3
B=1   1.0000    .0000    .0000 
B=2    .0000   1.0000    .0000 
B=3    .0000    .0000   1.0000 
B=4  -1.0000  -1.0000  -1.0000

X=DCDkk

Après avoir créé les variables de contraste, multipliez-les parmi ceux de différents facteurs pour obtenir des variables représentant les interactions (notre modèle ANOVA était factoriel complet): dev_a1b1, dev_a1b2, dev_a1b3, dev_a2b1, dev_a2b2, dev_a2b3. Exécutez ensuite la régression linéaire multiple avec tous les prédicteurs.

entrez la description de l'image ici

Comme prévu, dev_a1 est identique à l’effet, contrairement au contraste "Niveau 1 vs Moyenne"; dev_a2 est identique à "Niveau 2 vs Moyenne", etc. etc. - comparez les parties encrées à l'analyse de contraste ANOVA ci-dessus.

Notez que si nous n'utilisions pas les variables d'interaction dev_a1b1, dev_a1b2 ... dans la régression, les résultats coïncideraient avec les résultats de l'analyse de contraste ANOVA avec effets principaux uniquement.

Exemple de contrastes simples sous le même modèle factoriel complet (A, B, A * B).

Matrice de coefficient de contraste L pour A et pour B:

            A=1      A=2      A=3
Const     .3333    .3333    .3333 
sim_a1   1.0000    .0000  -1.0000
sim_a2    .0000   1.0000  -1.0000

            B=1      B=2      B=3      B=4
Const     .2500    .2500    .2500    .2500
sim_b1   1.0000    .0000    .0000  -1.0000
sim_b2    .0000   1.0000    .0000  -1.0000
sim_b3    .0000    .0000   1.0000  -1.0000

ANOVA résultats pour des contrastes simples:

entrez la description de l'image ici

entrez la description de l'image ici

Les résultats globaux (tableau ANOVA) sont les mêmes que pour les contrastes de déviation (ne pas afficher maintenant).

Créez des variables de contraste physique sim_a1, sim_a2, sim_b1, sim_b2, sim_b3. Les matrices de codage par inversion des matrices L sont (sans colonne Const):

      sim_a1   sim_a2
A=1    .6667   -.3333
A=2   -.3333    .6667
A=3   -.3333   -.3333

      sim_b1   sim_b2   sim_b3
B=1    .7500   -.2500   -.2500
B=2   -.2500    .7500   -.2500
B=3   -.2500   -.2500    .7500
B=4   -.2500   -.2500   -.2500

X=DC

entrez la description de l'image ici

Comme précédemment, nous voyons que les résultats de la régression et de l'ANOVA correspondent. Un paramètre de régression d'une variable de contraste simple est la différence (et son test de signification) entre ce niveau du facteur et son niveau de référence (le dernier, dans notre exemple).

Les données à deux facteurs utilisées dans les exemples:

     Y      A      B
 .2260      1      1
 .6836      1      1
-1.772      1      1
-.5085      1      1
1.1836      1      2
 .5633      1      2
 .8709      1      2
 .2858      1      2
 .4057      1      2
-1.156      1      3
1.5199      1      3
-.1388      1      3
 .4865      1      3
-.7653      1      3
 .3418      1      4
-1.273      1      4
1.4042      1      4
-.1622      2      1
 .3347      2      1
-.4576      2      1
 .7585      2      1
 .4084      2      2
1.4165      2      2
-.5138      2      2
 .9725      2      2
 .2373      2      2
-1.562      2      2
1.3985      2      3
 .0397      2      3
-.4689      2      3
-1.499      2      3
-.7654      2      3
 .1442      2      3
-1.404      2      3
-.2201      2      4
-1.166      2      4
 .7282      2      4
 .9524      2      4
-1.462      2      4
-.3478      3      1
 .5679      3      1
 .5608      3      2
1.0338      3      2
-1.161      3      2
-.1037      3      3
2.0470      3      3
2.3613      3      3
 .1222      3      4

Exemple de contraste défini par l'utilisateur . Faisons un facteur F unique avec 5 niveaux. Je vais créer et tester un ensemble de contrastes orthogonaux personnalisés, en ANOVA et en régression.

entrez la description de l'image ici

LL

Soumettons la matrice à la procédure ANOVA de SPSS pour tester les contrastes. Eh bien, nous pouvons même soumettre une seule ligne (contraste) de la matrice, mais nous soumettrons toute la matrice car - comme dans les exemples précédents - nous voudrons recevoir les mêmes résultats par régression, et le programme de régression aura besoin de la ensemble de variables de contraste (pour savoir qu’elles appartiennent à un seul facteur!). Nous allons ajouter la ligne constante à L, comme nous l'avons fait auparavant, mais si nous n'avons pas besoin de tester l'interception, nous pouvons l'omettre en toute sécurité.

UNIANOVA Y BY F
  /METHOD=SSTYPE(3)
  /INTERCEPT=INCLUDE
  /CONTRAST (F)= special
       (.2 .2 .2 .2 .2
         3  3 -2 -2 -2
         1 -1  0  0  0
         0  0  2 -1 -1
         0  0  0  1 -1)
  /DESIGN=F.

Equivalently, we might also use this syntax (with a more flexible /LMATRIX subcommand)
if we omit the Constant row from the matrix.
UNIANOVA Y BY F
  /METHOD=SSTYPE(3)
  /INTERCEPT=INCLUDE
  /LMATRIX= "User contrasts"
       F  3  3 -2 -2 -2;
       F  1 -1  0  0  0;
       F  0  0  2 -1 -1;
       F  0  0  0  1 -1
  /DESIGN=F.

entrez la description de l'image ici

L’effet de contraste global (au bas de la photo) n’est pas le même que l’effet ANOVA global attendu:

entrez la description de l'image ici

mais c'est simplement l'artefact de notre insertion du terme de Constant dans la matrice L. For, SPSS implique déjà Constant lorsque les contrastes définis par l'utilisateur sont spécifiés. Supprimez la ligne constante de L et nous obtiendrons les mêmes résultats de contraste (matrice K sur la photo ci-dessus), sauf que le contraste L0 ne sera pas affiché. Et l'effet de contraste global correspondra à l'ANOVA globale:

entrez la description de l'image ici

C=L+X=DC

C
      use_f1   use_f2   use_f3   use_f4
F=1    .1000    .5000    .0000    .0000
F=2    .1000   -.5000    .0000    .0000
F=3   -.0667    .0000    .3333    .0000
F=4   -.0667    .0000   -.1667    .5000
F=5   -.0667    .0000   -.1667   -.5000

entrez la description de l'image ici

Observez l'identité des résultats. Les données utilisées dans cet exemple:

     Y      F
 .2260      1
 .6836      1
-1.772      1
-.5085      1
1.1836      1
 .5633      1
 .8709      1
 .2858      1
 .4057      1
-1.156      1
1.5199      2
-.1388      2
 .4865      2
-.7653      2
 .3418      2
-1.273      2
1.4042      2
-.1622      3
 .3347      3
-.4576      3
 .7585      3
 .4084      3
1.4165      3
-.5138      3
 .9725      3
 .2373      3
-1.562      3
1.3985      3
 .0397      4
-.4689      4
-1.499      4
-.7654      4
 .1442      4
-1.404      4
-.2201      4
-1.166      4
 .7282      4
 .9524      5
-1.462      5
-.3478      5
 .5679      5
 .5608      5
1.0338      5
-1.161      5
-.1037      5
2.0470      5
2.3613      5
 .1222      5

Contrastes dans des analyses autres que (M) ANOVA .

Partout où des prédicteurs nominaux apparaissent, la question du contraste (quel type de contraste sélectionner pour quel prédicteur) se pose. Certains programmes le résolvent en interne lorsque les résultats globaux d'omnibus ne dépendent pas du type sélectionné. Si vous souhaitez qu'un type spécifique obtienne davantage de résultats "élémentaires", vous devez sélectionner. Vous sélectionnez (ou plutôt composez) un contraste également lorsque vous testez une hypothèse de comparaison personnalisée.

(M) ANOVA et analyse loglinéaire, la modélisation linéaire mixte et parfois généralisée incluent des options permettant de traiter les prédicteurs via différents types de contrastes. Mais comme j'ai essayé de le montrer, il est possible de créer des contrastes explicitement et manuellement. Ensuite, si vous n'avez pas le package ANOVA sous la main, vous pouvez le faire - à bien des égards avec autant de chance - avec une régression multiple.


1
veuillez ne pas limiter cette réponse à anova si possible. La balise [anova] a été ajoutée par @amoeba au moment où vous avez répondu à ma question, mais je ne souhaite pas que la réponse soit limitée à anova.
Curieux

CLCL

@ amoeba, je ne connais pas bien «matrice de contraste» et je suis presque sûr que cela signifie «matrice de coefficient de contraste» ou matrice L, qui est un terme officiel ou du moins largement répandu dans (M) ANOVA / GLM. Le terme "matrice de codage de contraste" est beaucoup moins mentionné car il s'agit simplement de la vue agrandie de la matrice de conception X; J'ai vu le mot "matrice de base" utilisé dans les papiers d'un statisticien senior de SPSS, Dave Nichols. Absolument, les matrices L (étiquette officielle) et C (étiquette arbitraire?) Sont si étroitement liées qu'il est difficile de discuter l'une sans l'autre. Je suppose que la "matrice de contraste" devrait être considérée comme cette paire.
ttnphns

1
Oui je suis d'accord. Je suis maintenant convaincu que "matrice de contraste" est un terme qui est utilisé uniquement dans la communauté R et qui fait référence au schéma de codage. J'ai vérifié le manuel auquel Gus_est fait référence et ils n'ont jamais utilisé le terme "matrice de contraste", ils ne parlent que de "contrastes" (voir mon dernier commentaire sous sa réponse). L’opérateur s’interrogeait clairement sur la "matrice de contraste" au sens R.
Amibe dit Réintégrer Monica

1
That L will determine what are you going to test, you aren't free anymore to choose what to testβi=0β1β2/2β3/2=0

17

Je vais utiliser des lettres minuscules pour les vecteurs et des majuscules pour les matrices.

Dans le cas d'un modèle linéaire de la forme:

y=Xβ+ε

Xn×(k+1)k+1nεN(0,σ2)

β^(XX)1XyXX

X(XX)1(XX)

β

β^=(XX)XyE(β^)=(XX)XXβ.

ββ

βgβaE(ay)=gβ


g

Et les contrastes apparaissent dans le contexte des prédicteurs catégoriques dans un modèle linéaire. (Si vous consultez le manuel lié à @amoeba, vous verrez que tous les codes de contraste sont liés à des variables catégorielles). Puis, en répondant à @Curious et @amoeba, nous voyons qu'elles apparaissent dans ANOVA, mais pas dans un modèle de régression "pur" avec uniquement des prédicteurs continus (nous pouvons aussi parler de contrastes dans ANCOVA, car nous avons des variables catégoriques).


y=Xβ+ε
XE(y)=XβgβaaX=ggXaaX=g, comme on peut le voir dans l'exemple ci-dessous.

Exemple 1

yij=μ+αi+εij,i=1,2,j=1,2,3.

X=[110110110101101101],β=[μτ1τ2]

g=[0,1,1][0,1,1]β=τ1τ2

aaX=ga=[0,0,1,1,0,0]a=[1,0,0,0,0,1]a=[2,1,0,0,1,2]


Exemple 2

yij=μ+αi+βj+εij,i=1,2,j=1,2

X=[11010110011011010101],β=[μα1α2β1β2]

X

X

[11010000110110001111]

[11010000110110000000]

β

g1β=μ+α1+β1g2β=β2β1g3β=α2α1

g2βg3βg


yij=μ+αi+εij,i=1,2,,k,j=1,2,,n.

H0:α1==αk

Xβ=(μ,α1,,αk)βgigi=0igiαiigi=0

Pourquoi c'est vrai?

gβ=(0,g1,,gk)β=igiαiag=aXXa=[a1,,ak]

[0,g1,,gk]=g=aX=(iai,a1,,ak)

Et le résultat suit.


H0:giαi=0H0:2α1=α2+α3H0:α1=α2+α32α1α2α3

H0:gβ=0g=(0,g1,g2,,gk)q=1

F=[gβ^][g(XX)g]1gβ^SSE/k(n1).

H0:α1=α2==αkGβ=0

G=[g1g2gk]
gigj=0H0:Gβ=0F=SSHrank(G)SSEk(n1)SSH=[Gβ^][G(XX)1G]1Gβ^

Exemple 3

k=4H0:α1=α2=α3=α4,

H0:[α1α2α1α3α1α4]=[000]

H0:Gβ=0

H0:[011000101001011]G,our contrast matrix[μα1α2α3α4]=[000]

Nous voyons donc que les trois lignes de notre matrice de contraste sont définies par les coefficients des contrastes d’intérêt. Et chaque colonne donne le niveau de facteur que nous utilisons dans notre comparaison.


Presque tout ce que j'ai écrit a été pris \ copié (sans vergogne) dans Rencher & Schaalje, "Linear Models in Statistics", chapitres 8 et 13 (exemples, formulation de théorèmes, quelques interprétations), mais d'autres éléments comme le terme "matrice de contraste" "(qui, en effet, ne figure pas dans ce livre) et sa définition donnée ici était la mienne.


Relier la matrice de contraste d'OP à ma réponse

L'une des matrices de OP (que l'on peut également trouver dans ce manuel ) est la suivante:

> contr.treatment(4)
  2 3 4
1 0 0 0
2 1 0 0
3 0 1 0
4 0 0 1

[y11y21y31y41]=[μμμμ]+[a1a2a3a4]+[ε11ε21ε31ε41]

[y11y21y31y41]=[11000101001001010001]X[μa1a2a3a4]β+[ε11ε21ε31ε41]

a1XX~

[11000011000101001001]

[000100010001]

De cette façon, la matrice de traitement (4) nous dit qu’ils comparent les facteurs 2, 3 et 4 au facteur 1 et comparent le facteur 1 à la constante (c’est ce que je comprends de ce qui précède).

G

[011000101001001]

H0:Gβ=0

hsb2 = read.table('http://www.ats.ucla.edu/stat/data/hsb2.csv', header=T, sep=",")

y<-hsb2$write

dummies <- model.matrix(~factor(hsb2$race)+0)
X<-cbind(1,dummies)

# Defining G, what I call contrast matrix
G<-matrix(0,3,5)
G[1,]<-c(0,-1,1,0,0)
G[2,]<-c(0,-1,0,1,0)
G[3,]<-c(0,-1,0,0,1)
G
     [,1] [,2] [,3] [,4] [,5]
[1,]    0   -1    1    0    0
[2,]    0   -1    0    1    0
[3,]    0   -1    0    0    1

# Estimating Beta

X.X<-t(X)%*%X
X.y<-t(X)%*%y

library(MASS)
Betas<-ginv(X.X)%*%X.y

# Final estimators:
G%*%Betas
          [,1]
[1,] 11.541667
[2,]  1.741667
[3,]  7.596839

Et les estimations sont les mêmes.


Relier la réponse de @ttnphns à la mienne.

j=1

yij=μ+ai+εij,for i=1,2,3

H0:a1=a2=a3H0:a1a3=a2a3=0a3

[y11y21y31]=[μμμ]+[a1a2a3]+[ε11ε21ε31]

[y11y21y31]=[110010101001]X[μa1a2a3]β+[ε11ε21ε31]

XX~

X~=[010100111001]

LX~β

[010100111001][μa1a2a3]=[a1a3a2a3μ+a3]

c1β=a1a3c2β=a2a3c3β=μ+a3

H0:ciβ=0

c1c2G

G=[01010011]

H0:Gβ=0

Exemple

Nous utiliserons les mêmes données que "Exemple de contraste défini par l'utilisateur" de @ttnphns (je voudrais mentionner que la théorie que j'ai écrite ici nécessite quelques modifications pour prendre en compte les modèles avec interactions, c'est pourquoi j'ai choisi cet exemple. , les définitions des contrastes et - ce que j’appelle - matrice de contraste restent les mêmes).

Y<-c(0.226,0.6836,-1.772,-0.5085,1.1836,0.5633,0.8709,0.2858,0.4057,-1.156,1.5199,
     -0.1388,0.4865,-0.7653,0.3418,-1.273,1.4042,-0.1622,0.3347,-0.4576,0.7585,0.4084,
     1.4165,-0.5138,0.9725,0.2373,-1.562,1.3985,0.0397,-0.4689,-1.499,-0.7654,0.1442,
     -1.404,-0.2201,-1.166,0.7282,0.9524,-1.462,-0.3478,0.5679,0.5608,1.0338,-1.161,
     -0.1037,2.047,2.3613,0.1222)

F_<-c(1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,
    5,5,5,5,5,5,5,5,5,5,5)

dummies.F<-model.matrix(~as.factor(F_)+0)

X_F<-cbind(1,dummies.F)

G_F<-matrix(0,4,6)
G_F[1,]<-c(0,3,3,-2,-2,-2)
G_F[2,]<-c(0,1,-1,0,0,0)
G_F[3,]<-c(0,0,0,2,-1,-1)
G_F[4,]<-c(0,0,0,0,1,-1)

 G 
 [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    0    3    3   -2   -2   -2
[2,]    0    1   -1    0    0    0
[3,]    0    0    0    2   -1   -1
[4,]    0    0    0    0    1   -1

# Estimating Beta 

X_F.X_F<-t(X_F)%*%X_F
X_F.Y<-t(X_F)%*%Y

Betas_F<-ginv(X_F.X_F)%*%X_F.Y

# Final estimators:
G_F%*%Betas_F
           [,1]
[1,]  0.5888183
[2,] -0.1468029
[3,]  0.6115212
[4,] -0.9279030

Donc, nous avons les mêmes résultats.


Conclusion

Il me semble qu'il n'y a pas un concept de définition de ce qu'est une matrice de contraste est.

G

GG

G


veuillez ne pas limiter cette réponse à anova si possible. La balise [anova] a été ajoutée par @amoeba au moment où vous avez répondu à ma question, mais je ne souhaite pas que la réponse soit limitée à anova.
Curieux

Merci beaucoup pour une si grosse mise à jour. J'ai supprimé certains de mes commentaires ci-dessus qui étaient obsolètes (vous pouvez supprimer certains des vôtres, par exemple le premier). Cependant, il m'est maintenant clair que la "matrice de contraste" dans votre sens (et celui de Monahan) est tout à fait différente de la "matrice de contraste" dans le sens où elle est utilisée dans ce manuel R et dans la question initiale ici (ce que ttphph appelle C-matrice). Je pense qu'il serait logique de noter quelque part dans votre réponse à propos de cette différence.
Amibe dit de réintégrer Monica

ijyijaiX

ijμαiμ+αiμαiX

Merci pour cette réponse, mais je ne pourrai probablement jamais ni avoir le temps de la comprendre. Et j'ai étudié les mathématiques :-) Je m'attendais à une définition très simple comme réponse :-)
Curious

7

"Matrice de contraste" n'est pas un terme standard dans la littérature statistique. Il peut en avoir au moins deux reliés par des significations distinctes:

  1. Une matrice spécifiant une hypothèse nulle particulière dans une régression ANOVA (sans rapport avec le schéma de codage), où chaque ligne est un contraste . Ce n'est pas un usage standard du terme. J'ai utilisé la recherche en texte intégral dans Christensen Plane, réponses aux questions complexes , Rutherford, introduisant ANOVA et ANCOVA; Approche GLM et modèles linéaires Rencher et Schaalje en statistique . Ils parlent tous beaucoup de "contrastes" mais ne mentionnent jamais le terme "matrice de contraste". Cependant, comme @Gus_est l'a trouvé, ce terme est utilisé dans A Primer on Linear Models de Monahan .

  2. Une matrice spécifiant le schéma de codage pour la matrice de conception dans une régression ANOVA. C’est ainsi que le terme "matrice de contraste" est utilisé dans la communauté R (voir par exemple ce manuel ou cette page d’aide ).

La réponse de @Gus_est explore le premier sens. La réponse de @ttnphns explore le second sens (il l'appelle "matrice de codage de contraste" et discute également de "matrice de coefficient de contraste" qui est un terme standard dans la littérature SPSS).


D'après ce que je comprends, vous vous interrogiez sur le sens 2, voici la définition:

k×kCkXmiXmj=Cij

Ccontr.treatment(4)C


Je prévois d’étendre cette réponse pour commenter plus en détail la façon dont les réponses de @ttnphns et de @Gus_est s’harmonisent.


The answer by @Gus_est explores the first meaning. The answer by @ttnphns explores the second meaning.Je proteste. (Et je suis surpris d'entendre - après que nous ayons tous les deux eu une longue conversation sur les définitions dans les commentaires pour beaucoup de réponses.) J'ai invité deux termes: matrice de coefficient de contraste (où les rangées sont les contrastes, combinaison linéaire des moyennes) aka aka L-matrix, et matrice de schéma de codage de contraste , également appelée matrice C. Les deux sont liés, j'ai discuté les deux.
ttnphns

(suite) Coefficient de contraste La matrice L est un terme standard dans ANOVA / Modèle linéaire général, utilisé dans les textes et dans les documents SPSS, par exemple . Les schémas de codage voir ici .
ttnphns

You were asking about meaning #2En réalité, nous ne sommes pas certains de la signification du terme impliqué dans le PO. Le PO présentait quelques exemples de schémas de codage de contraste - cela ne signifie pas nécessairement qu'il n'était pas intéressé par les matrices L.
ttnphns

1
Je suis content que nous parlions un peu la même langue maintenant. Il semble que oui, au moins. Ce serait bien pour tout le monde, en particulier pour un visiteur visiteur, si vous accomplissiez votre réponse en montrant comment les rapports de Gus et de TNT se convertissaient au même résultat. Si vous voulez accomplir.
ttnphns

1
(suite) Bien sûr, la matrice L dans les deux "approches" est la même (et aucune matrice G mystérieuse n’est nécessaire). Montrer que deux chemins équivalents (L est arbitraire, X est des nuls): L -> XC -> regression -> resultet X -> [regression -> adjusting to test for L] -> resultlaisser le même résultat. La deuxième voie est la façon dont un programme ANOVA fera (la partie entre crochets []); Le 1er chemin est une démonstration didactique de la manière dont les contrastes peuvent être résolus par le seul programme de régression.
mardi

3

Un contraste compare deux groupes en comparant leur différence avec zéro. Dans une matrice de contraste, les lignes sont les contrastes et doivent ajouter à zéro, les colonnes sont les groupes. Par exemple:

Supposons que vous souhaitiez comparer 4 groupes A, B, C, D, la matrice de contraste serait alors:

Groupe: ABCD
A vs B: 1 -1 0 0
C vs D: 0 0 -1 1
A, B vs D, C: 1 1 -1 -1

Paraphraser de comprendre l'expérimentation industrielle :

S'il y a un groupe de k objets à comparer, avec k moyennes de sous-groupes, un contraste est défini sur cet ensemble de k objets par tout ensemble de k coefficients, [c1, c2, c3, ... cj, ..., ck ] cette somme à zéro.

Soit C un contraste alors,

C=c1μ1+c2μ2+...cjμj+...ckμk

C=j=1kcjμj

j=1kcj=0

Les sous-groupes auxquels un coefficient de zéro est attribué seront exclus de la comparaison. (*)

Ce sont les signes des coefficients qui définissent réellement la comparaison, pas les valeurs choisies. Les valeurs absolues des coefficients peuvent être n'importe quoi tant que la somme des coefficients est égale à zéro.

(*) Chaque logiciel statistique a une manière différente d'indiquer quels sous-groupes seront exclus / inclus.

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.