transformation boxcox

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

raphaële terrail
Messages : 9
Enregistré le : 21 Mai 2007, 16:17

transformation boxcox

Messagepar raphaële terrail » 22 Mai 2007, 06:59

bonjour,

j'ai des données qui ne sont pas de distribution normale, et je souhaiterai faire une transformation boxcox, mais je ne comprends pas tous les paramètres qu'il faut rentrer dans la fonction. Je ne vois pas à quoi ça cxorrespond, est-ce que quelqu'un peut m'aider...

Thomas Galtier
Messages : 93
Enregistré le : 14 Mai 2007, 12:08

Messagepar Thomas Galtier » 22 Mai 2007, 08:04

Bonjour,

Quel code utilises tu ?
Sur quel type de données ?

raphaële terrail
Messages : 9
Enregistré le : 21 Mai 2007, 16:17

Messagepar raphaële terrail » 22 Mai 2007, 08:24

j'utilise des données de survie d'une espèce après une exposition à un métal, ces données ne sont pas normales, et j'ai déjà essayé des transformations log, racine et rien ne marche...

tu entends quoi par code?

Thomas Galtier
Messages : 93
Enregistré le : 14 Mai 2007, 12:08

Messagepar Thomas Galtier » 22 Mai 2007, 08:52

le code R qur tu utilise pour la transfo boxcox
on pourra mieux voir les erreurs meme si j'suis pas expert j'l'avais utilisé ss matlab

raphaële terrail
Messages : 9
Enregistré le : 21 Mai 2007, 16:17

Messagepar raphaële terrail » 22 Mai 2007, 09:05

oui je suis désolée, je viens de comprendre.
à force de chercher, je me suis bien rendu compte que sur R on faisait une transformation boxcox sur un modèle d'anova, je comprends pas pourquoi on ne peut pas le faire sur des variables...


Code : Tout sélectionner

> survie.cox<-boxcox(V4, data = a, lambda = seq(-2, 2, length = 10))
Erreur dans boxcox.default(V4, data = a, lambda = seq(-2, 2, length = 10)) :
        V4 does not have both 'qr' and 'y' components

avec "V4" la variable que je souhaiterai transformer et "a" le jeu de données

merci de t'intéresser à mon problème...

Thomas Galtier
Messages : 93
Enregistré le : 14 Mai 2007, 12:08

Messagepar Thomas Galtier » 22 Mai 2007, 09:11

tu as installé quelle library que j'essai sur d données variables comme toi ?

raphaële terrail
Messages : 9
Enregistré le : 21 Mai 2007, 16:17

Messagepar raphaële terrail » 22 Mai 2007, 10:19

j'ai utilisé la librairie MASS, elle et dans R, faut juste la charger...

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 22 Mai 2007, 10:34

ça ressemble à quoi ton V4 ?
car pour boxcox il te faut un objet de class lm ou aov

raphaële terrail
Messages : 9
Enregistré le : 21 Mai 2007, 16:17

Messagepar raphaële terrail » 22 Mai 2007, 10:48

le V4 c'est une donnée de survie
je te mets mon tableau

[list]
V1 V2 V3 V4 V5
0 A 7 50 0
0 B 7 50 0
0 C 7 46 0
0 D 12 49 2
0 E 12 46 3
0 F 12 47 3
150 A 7 50 1
150 B 7 50 2
150 C 7 50 0
150 D 12 47 3
150 E 12 50 6
150 F 12 48 3
300 A 7 50 0
300 B 7 50 0
300 C 7 50 0
300 D 12 50 3
300 E 12 49 2
300 F 12 48 3
600 A 7 37 6
600 F 7 49 1
600 B 7 50 4
600 C 12 46 3
600 D 12 40 7
600 E 12 45 6
1200 A 7 32 4
1200 B 7 42 1
1200 C 7 41 2
1200 D 12 37 2
1200 E 12 42 7
1200 F 12 40 5
2400 A 7 28 3
2400 B 7 20 5
2400 C 7 38 8
2400 D 12 17 4
2400 F 12 12 2
4800 A 7 4 4
4800 B 7 4 4
4800 C 7 4 4
4800 D 12 1 1
4800 E 12 2 2
4800 F 12 2 2

avec V1 la concentration
V2 le répliquat
V3 la date de prélèvement
V4 les vivants (en effectif)

donc si je comprends bien, il faut que je fasse mon anova, et que je fasse la transformation sur le modèle de l'anova?
dans ce cas, j'aimerai faire une anova à 2 facteurs, ça peut marcher?

Nicolas Péru
Messages : 1408
Enregistré le : 07 Aoû 2006, 08:13

Messagepar Nicolas Péru » 22 Mai 2007, 12:16

j'avais pas fais attention, tu peux tout aussi bien mettre une formule (Y~X) sans passer par un lm ou autre.
Pour les 2 facteurs je ne sais pas. ça me parait bizarre mais bon je ne peux pas te donner plus d'explication au moins pour le moment.

donc pour ton code ça peut donner :

Code : Tout sélectionner

survie.cox<-boxcox(V4~TA_VARIABLE, data = a, lambda = seq(-2, 2, length = 10))


j'ai pas testé mais vu l'aide ça doit être un truc comme ça :)

raphaële terrail
Messages : 9
Enregistré le : 21 Mai 2007, 16:17

Messagepar raphaële terrail » 22 Mai 2007, 12:20

je viens d'essayer mais le problème c'est que ma variable c'est V4, ce sont mes résultats observés sur la survie, et dont la distribution n'est pas normale...
du coup je vois pas trop comment faire

raphaële terrail
Messages : 9
Enregistré le : 21 Mai 2007, 16:17

Messagepar raphaële terrail » 22 Mai 2007, 12:33

bon alors j'ai fait ça :

Code : Tout sélectionner

>survie.cox<-boxcox(V4~V1, data = a, lambda = seq(-2, 2, length = 10))

> survie.cox<-boxcox(V4~V3, data = a, lambda = seq(-2, 2, length = 10))

> survie.cox<-boxcox(V4~V1+V3, data = a, lambda = seq(-2, 2, length = 10))

qu'en penses-tu???

merci pour tes réponses...

Renaud Lancelot
Messages : 2484
Enregistré le : 16 Déc 2004, 08:01
Contact :

Messagepar Renaud Lancelot » 22 Mai 2007, 12:34

Si ce sont des données de survie, il ne faut pas aller dans cette voie mais utiliser un modèle approprié pour ce type de données: il faut notamment tenir compte des censures, problème constant avec les données de survie. Il y a de nombreuses méthodes possibles et leur choix dépend de la nature des données et des objectifs de l'analyse. Je suggère que vous lisiez d'abord la littérature adéquate, ou suiviez des cours (le sujet est complexe !), ou demandiez l'appui d'un statisticien.

Un bonne introduction est, par exemple:

Hosmer, D.W., Lemeshow, S., 1999. Applied survival analysis: regression modeling of time to event. John Wiley & Sons, Inc., New York (USA), 386 p.

Renaud

Thomas Galtier
Messages : 93
Enregistré le : 14 Mai 2007, 12:08

Messagepar Thomas Galtier » 22 Mai 2007, 13:19

Je me permets d'intervenir pour voir si c'est possible d'appliquer la methode boxcox avec un vecteur de données ?

Car en fait en traçant l'hist de ces données, c'est loin d'etre normal donc avec boxcox ça pourait me rendre cette variable normal non ?


Je ne connais pas ni anova ni lm ... :oops:

raphaële terrail
Messages : 9
Enregistré le : 21 Mai 2007, 16:17

Messagepar raphaële terrail » 22 Mai 2007, 13:56

merci Renaud pour ta rponse,

je me suis penchée sur ce problème, mais dans mon cas, je ne considère pas la survie dépendante du temps ou deel'âge comme c'est fait en général en médecine ou en biologie quand il s'agit d'un suivi de population dans le temps, je veux voir l'effet du traitement sur la survie ...

merci beaucoup en tous les cas, ça m'a permis de m'instruire sur ces sujets là, merci


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité