Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
Trace de Pillai
2 participants
Page 1 sur 1
Trace de Pillai
Bonjour,
J'essaie de calculer la trace de Pillai sur l'exemple suivant:
La formule étant: V = tr(SCF x inv(SCF + SCR)).
Pour SCF (dispersion inter-groupe) j'obtiens:
Pour SCR (disperson intra-groupe) j'obtiens:
Si je calcul SCF x inv(SCE + SCF), j'obtiens:
Et donc V = 0.30998069 + 0.10819949 + 0.24075408 = 0.6589343
Or la solution est V = 1.9751530
Quelqu'un saurait me dire où est l'erreur car ça fait un moment que je cherche et je vois pas...
Merci d'avance.
J'essaie de calculer la trace de Pillai sur l'exemple suivant:
- Code:
Y X1 X2 X3 X4 X5
1 1 0.8970 8.1472 3.1101 1.9593 9.2858
2 1 2.0949 9.0579 4.1008 2.5472 10.7572
3 1 3.0307 1.2699 4.7876 3.1386 11.7537
4 1 4.0135 9.1338 7.0677 4.1493 9.3804
5 1 5.0515 6.3236 6.0858 5.2575 10.5678
6 1 6.0261 0.9754 4.9309 9.3500 1.1299
7 1 6.9059 2.7850 4.0449 10.1966 2.5688
8 1 7.9838 5.4688 3.0101 11.2511 3.4694
9 1 8.9854 9.5751 5.9495 9.6160 4.0119
10 1 9.9468 9.6489 6.8729 10.4733 5.3371
11 2 11.1682 1.5761 1.0898 16.8407 11.0759
12 2 11.9124 9.7059 1.9868 17.2543 9.0540
13 2 12.9516 9.5717 2.9853 18.8143 10.5308
14 2 13.9288 4.8538 10.0080 19.2435 11.7792
15 2 14.8826 8.0028 8.9052 20.9293 9.9340
16 2 15.9808 1.4189 8.0411 11.3517 16.1622
17 2 16.9726 4.2176 2.0826 9.8308 17.7943
18 2 18.1530 9.1574 1.0536 10.5853 18.3112
19 2 18.9751 7.9221 9.0649 11.5497 19.5285
20 2 19.8936 9.5949 10.0826 9.9172 20.1656
La formule étant: V = tr(SCF x inv(SCF + SCR)).
Pour SCF (dispersion inter-groupe) j'obtiens:
- Code:
X1 X2 X3
X1 9.0690971 2.8200495 5.393049
X2 0.7331316 3.0687814 4.098546
X3 1.4270587 0.9324708 5.439073
Pour SCR (disperson intra-groupe) j'obtiens:
- Code:
X1 X2 X3
X1 18.158807 3.362499 6.654772
X2 3.362499 22.907077 2.051054
X3 6.654772 2.051054 17.867246
Si je calcul SCF x inv(SCE + SCF), j'obtiens:
- Code:
X1 X2 X3
X1 0.30998069 0.02744389 0.06391778
X2 -0.03906773 0.10819949 0.16750151
X3 -0.02104301 0.01325363 0.24075408
Et donc V = 0.30998069 + 0.10819949 + 0.24075408 = 0.6589343
Or la solution est V = 1.9751530
Quelqu'un saurait me dire où est l'erreur car ça fait un moment que je cherche et je vois pas...
Merci d'avance.
Re: Trace de Pillai
Ma question est peut-être stupide... mais pourquoi ne fais-tu pas le calcul sur l'ensemble des 5 variables?
Quand je fais le calcul je tombe sur 0.9711... mais je ne suis pas du tout certain d'avoir le bon calcul.
Quand je fais le calcul je tombe sur 0.9711... mais je ne suis pas du tout certain d'avoir le bon calcul.
Dernière édition par niaboc le Mer 30 Sep 2015 - 15:26, édité 1 fois
niaboc- Nombre de messages : 1001
Age : 37
Localisation : Paris
Date d'inscription : 05/05/2008
Re: Trace de Pillai
Et c'est aussi le résultat que je retrouve dans SAS :
- Code:
data a;
input y x1 x2 x3 x4 x5;
cards;
1 0.897 8.1472 3.1101 1.9593 9.2858
1 2.0949 9.0579 4.1008 2.5472 10.7572
1 3.0307 1.2699 4.7876 3.1386 11.7537
1 4.0135 9.1338 7.0677 4.1493 9.3804
1 5.0515 6.3236 6.0858 5.2575 10.5678
1 6.0261 0.9754 4.9309 9.35 1.1299
1 6.9059 2.785 4.0449 10.1966 2.5688
1 7.9838 5.4688 3.0101 11.2511 3.4694
1 8.9854 9.5751 5.9495 9.616 4.0119
1 9.9468 9.6489 6.8729 10.4733 5.3371
2 11.1682 1.5761 1.0898 16.8407 11.0759
2 11.9124 9.7059 1.9868 17.2543 9.054
2 12.9516 9.5717 2.9853 18.8143 10.5308
2 13.9288 4.8538 10.008 19.2435 11.7792
2 14.8826 8.0028 8.9052 20.9293 9.934
2 15.9808 1.4189 8.0411 11.3517 16.1622
2 16.9726 4.2176 2.0826 9.8308 17.7943
2 18.153 9.1574 1.0536 10.5853 18.3112
2 18.9751 7.9221 9.0649 11.5497 19.5285
2 19.8936 9.5949 10.0826 9.9172 20.1656
;
run;
Proc Glm data=a;
Class y;
model x1 x2 x3 x4 x5 = y;
means y/Tukey;
Manova h=y;
run;
quit;
niaboc- Nombre de messages : 1001
Age : 37
Localisation : Paris
Date d'inscription : 05/05/2008
Re: Trace de Pillai
Par contre dans le document que tu as donné (univ toulouse), ils font le test sur les matrices de variances covariances
"trace de Pillai : Tr(B((B + W)−1))"
, alors qu'il faut le faire sur les SC. Du moins c'est ce que fait SAS.
En espérant t'avoir aidé à compléter ton site :-)
"trace de Pillai : Tr(B((B + W)−1))"
, alors qu'il faut le faire sur les SC. Du moins c'est ce que fait SAS.
En espérant t'avoir aidé à compléter ton site :-)
niaboc- Nombre de messages : 1001
Age : 37
Localisation : Paris
Date d'inscription : 05/05/2008
Re: Trace de Pillai
Salut Niaboc,
Je viens de tester le calcul sur les 5 variables et je ne trouve pas la même chose... j'ai essayé aussi bien sur les matrices de variances-covariances que de corrélations et rien y fait.
Peux-tu me montrer plus ou moins en détail le calcul que tu fais?
Je viens de tester le calcul sur les 5 variables et je ne trouve pas la même chose... j'ai essayé aussi bien sur les matrices de variances-covariances que de corrélations et rien y fait.
Peux-tu me montrer plus ou moins en détail le calcul que tu fais?
Re: Trace de Pillai
Tu récupères les résidus de chacune des 5 régressions ANOVA simple qui te permet de construire ta première matrice de variance covariance : SCE.
Tu récupères également la matrice de variance covariance SCF à partir des calculs : m(Yi)-m(Y).
Tu peux contrôler que SCE+SCF=SCT pour vérifier tes calculs ; puis tu inverses la SCT et tu multiplies par SCF.
Niaboc
Tu récupères également la matrice de variance covariance SCF à partir des calculs : m(Yi)-m(Y).
Tu peux contrôler que SCE+SCF=SCT pour vérifier tes calculs ; puis tu inverses la SCT et tu multiplies par SCF.
Niaboc
niaboc- Nombre de messages : 1001
Age : 37
Localisation : Paris
Date d'inscription : 05/05/2008
Re: Trace de Pillai
Ok, merci Niaboc. Le document de tonton Rakotomalala: http://eric.univ-lyon2.fr/~ricco/cours/cours/Comp_Pop_Tests_Parametriques.pdf montre le cas appliqué sur les matrices de covariances.
Par contre as-tu déjà essayé la proc cancorr pour la calcul de la trace de Pillai?
Par contre as-tu déjà essayé la proc cancorr pour la calcul de la trace de Pillai?
Re: Trace de Pillai
Non j'avais jamais fait avec cette proc, mais en l'essayant on retombe sur les mêmes résultats(ouf!) :
- Code:
proc cancorr data=a;
var x1 x2 x3 x4 x5;
with y;
run;
niaboc- Nombre de messages : 1001
Age : 37
Localisation : Paris
Date d'inscription : 05/05/2008
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum