Analyse de donnée 400 variables

Page 1 sur 2 1, 2  Suivant

Aller en bas

Analyse de donnée 400 variables Empty Analyse de donnée 400 variables

Message par sniper le Mar 8 Avr 2014 - 8:51

Bonjour,

Je dois trouver les facteurs significatifs qui décrivent une variable binaire ( sélectionné et non sélectionné ) et j'ai pour ça une base de 3000 individus et 400 variables dont 300 sont codées en 0 et 1 pour oui non et les 100 autres sont numériques ou caractères.

Quelle méthode stat utiliseriez-vous ? j'ai pensé à une acm mais 300 variables c'est beaucoup trop ?

J'utilise le logiciel sas

Merci.

sniper

Nombre de messages : 27
Date d'inscription : 12/04/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par droopy le Mar 8 Avr 2014 - 9:03

Bonjour,

Regression gPLS ou Random Forest ?

Cordialement
droopy
droopy

Nombre de messages : 1126
Date d'inscription : 04/09/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par sniper le Mar 8 Avr 2014 - 9:24

Merci , random forest, c'est les arbres de décision, or il faut le module de sas, sas entreprise miner, que je n'ai pas, mais je connais pas la régression gpls, est la régression logistique ? car je ne vois pas du tout de plus sur internet se n'est pas clair

sniper

Nombre de messages : 27
Date d'inscription : 12/04/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par droopy le Mar 8 Avr 2014 - 13:13

tu as plein de logiciels dont des gratuits qui proposent les random forest (arbre de décision couplé à un algo baging, du bootstrap). La régréssion gPLS est une générlation de la régression pls mais pour des distributions d'erreur autres que normales (de même que les glm sont des extensions des modèles linéaires).
cdlt
droopy
droopy

Nombre de messages : 1126
Date d'inscription : 04/09/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par sniper le Mar 8 Avr 2014 - 13:52

d'accord merci, peux tu me dire pourquoi la régression pls ? qu'est qu'elle peut m'apporter par rapport aux autres regression

sniper

Nombre de messages : 27
Date d'inscription : 12/04/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par droopy le Mar 8 Avr 2014 - 13:59

elle permet de gérer les cas avec de très nombreuses variables explicatives ce qui semble être le cas ici.
droopy
droopy

Nombre de messages : 1126
Date d'inscription : 04/09/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par sniper le Mer 9 Avr 2014 - 12:29

D'accord, comment je dois proceder car je connais pas cette regression, je dois incorporer toutes mes variables dans le modele ou je dois les selectionner, car il y a de la documentation sur internet mais pas avec des centaines de variables.

Proc pls data=donnee method=pls cv=split cvtest;
model y= 400 variables ? ;
run;

sniper

Nombre de messages : 27
Date d'inscription : 12/04/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par joyeux_lapin13 le Mer 9 Avr 2014 - 12:54

Voir avec la syntaxe suivante: nom_var1 -- nom_var2 là où tu as mis "variable?"

Sinon macro-variable, tu fais une proc contents, tu récupère la table avec un out, tu fais une proc sql sur la colonne NAME et tu envoies la selection dans une macro-variable avec un into: . s'inspirer du premier code que j'ai mis sur cette page: http://statistiques.forumpro.fr/t2950-les-bonnes-idees-sas / Parcourir colonnes (méthode itérative).

Bon courage.
joyeux_lapin13
joyeux_lapin13

Nombre de messages : 1925
Age : 35
Localisation : Mayotte
Date d'inscription : 21/04/2010

Voir le profil de l'utilisateur https://lemakistatheux.wordpress.com/

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par sniper le Mer 9 Avr 2014 - 13:53

Bonjour lapin, d'accord merci, mais une fois mes variables incorporées dans le programme, j'execute et me dit error: no valid observation

a quoi c'est dû ? je n'est rien d'autre en rouge

Je réduis donc les variables pour voir, je laisse 5 variables et il me dit en vert : WARNING: No output destinations active.


sniper

Nombre de messages : 27
Date d'inscription : 12/04/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par joyeux_lapin13 le Mer 9 Avr 2014 - 14:59

Consulte la page SAS officiel dédiée à la proc PLS, tu as des exemples et pas mal de doc. Ca devrait te permettre d'avancer.
joyeux_lapin13
joyeux_lapin13

Nombre de messages : 1925
Age : 35
Localisation : Mayotte
Date d'inscription : 21/04/2010

Voir le profil de l'utilisateur https://lemakistatheux.wordpress.com/

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par droopy le Jeu 10 Avr 2014 - 9:24

ATTENTION dans le cadre d'une variable expliquée binaire ce n'est pas la régression pls mais gpls qu'il faut utiliser.
droopy
droopy

Nombre de messages : 1126
Date d'inscription : 04/09/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par joyeux_lapin13 le Jeu 10 Avr 2014 - 10:01

Si la variable réponse est binaire alors il faut oublier SAS qui ne fait pas ce type de régression PLS et se tourner vers le package plsRglm de R qui le fait très bien. En prime il y a tout pleins de fonctions annexes pour calculer les IC des coefficients par boostrap.
joyeux_lapin13
joyeux_lapin13

Nombre de messages : 1925
Age : 35
Localisation : Mayotte
Date d'inscription : 21/04/2010

Voir le profil de l'utilisateur https://lemakistatheux.wordpress.com/

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par sniper le Jeu 10 Avr 2014 - 11:25

Mais il doit bien avoir une solution sur sas pour traiter mes données non, je vais réexpliquer, je dois trouver les facteurs significatifs de ma variable qui est dichotomique (0 et 1) à partir des 300 variables qui sont dichotomiques aussi et 100 les autres sont numériques ou caractères ( on peut oublier ceux en caractères). Mais bon si il existe rien je vais voir du coté de R


sniper

Nombre de messages : 27
Date d'inscription : 12/04/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par joyeux_lapin13 le Jeu 10 Avr 2014 - 12:00

C'est simple, soit SAS a déjà l'algorithme implanté soit il ne l'a pas. Pour les régressions logistiques PLS (puisque c'est réellement ce que tu vas utiliser) l'algorithme ne l'est pas. Le faire, tu pourrais si tu avais le module IML qui permet de monter ce type de programme. Encore faut-il l'avoir et surtout avoir le courage de se mettre dedans tant c'est assez casse couille comme langage.
joyeux_lapin13
joyeux_lapin13

Nombre de messages : 1925
Age : 35
Localisation : Mayotte
Date d'inscription : 21/04/2010

Voir le profil de l'utilisateur https://lemakistatheux.wordpress.com/

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par sniper le Jeu 5 Juin 2014 - 8:06

Bonjour je reviens vers vous pour que vous m'aidiez, j'ai choisi la méthode des arbres aléatoires, sur r avec le package random forest, est-ce que quelqu'un l'aurai déjà utilisé, et me donner la syntaxe du code a effectuer car voici le mien et lorsque je lui demande la prediction sur mon jeu de valeur test il me classe tout dans une modalité

Code:
library(randomForest)

donnee2<- na.exclude(donnees)
rf <- randomForest(statut_cordon ~ ., donnees, ntree = 500, mtry = 2, importance = TRUE, na.action=na.omit)
round(importance(rf), 2)

for (i in 1:4)
plot(sort(rf$importance[,i], dec = TRUE),
type = "h", main = paste("Measure", i))

test2<- na.exclude(test)
predict(rf, donnee2 = test2)

sniper

Nombre de messages : 27
Date d'inscription : 12/04/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par FS le Jeu 5 Juin 2014 - 15:10

Tu as des données déséquilibrées ?
fais voir la matrice de confusion.

FS

Nombre de messages : 163
Date d'inscription : 25/04/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par sniper le Mar 17 Juin 2014 - 9:55

Bonjour, excusez moi je n'avais pas vu que vous m'aviez répondu mais mon erreur était dans la syntaxe

Code:
test2<- na.exclude(test)
predict(rf, newdata = test2)

J'ai aussi fait une foret décisionnelle sur sas enterprise miner, et les logiciels me donnent donc un classement des variables par importance, or moi je voudrais récupérer un modèle, comme une régression logistique, est ce que c'est possible ? car mon but est de prédire, classer un nouvel individu.

Comment on fait pour interpréter le résultat d'une foret aléatoire ?

sniper

Nombre de messages : 27
Date d'inscription : 12/04/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par joyeux_lapin13 le Mar 17 Juin 2014 - 10:03

Non ce n'est pas possible (ou peut-être que le package randomForest le renvoi mais ça ne sert à rien). Les forêts aléatoires font offices de boîte noir ce qui peut se comprendre étant donné leur complexité. En général, en industrie, une fois que l'on a prouvé que les prédictions sont optimales avec cette méthode, on change de support pour s'orienter vers un logiciel à part qui va mémoriser l'arbre et appliquera l'algorithme décisionnelle pour chaque nouvelle observation à classer. Par exemple, avec R tu peux toujours conserver le modèle mémoriser et l'appliquer sur un nouveau dataset.

La forme du processus de décision se repose sur un très très très grand nombre d'arbres décisionnels (ex: CART pour le cas à variable réponse catégorielle) construit sur différents sous-ensembles de variables explicatives et leur vote final respectif. Sortir une règle décisionnelle reviendrait à écrire tous ces arbres et pour chacun retenir la prédiction. Enfin, la classe finale attribuée dépend simplement de la classe la plus souvent votée par les différents arbres. Une fois qu'on sait ça on comprend pourquoi c'est une boite noire.

Pour ce qui est de l'interprétation, il y a deux choses à retenir: l'importance des variables afin de connaître celles qui ont été le plus souvent sélectionné en dépit du processus de sélection aléatoire des variables (c'est la partie différentielle des forêts aléatoires) et la matrice de confusion pour la qualité du modèle. Avec cet outil statistique tu touches à la branche data mining des Statistiques, soit le domaine de la classification et non de la modélisation.
joyeux_lapin13
joyeux_lapin13

Nombre de messages : 1925
Age : 35
Localisation : Mayotte
Date d'inscription : 21/04/2010

Voir le profil de l'utilisateur https://lemakistatheux.wordpress.com/

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par sniper le Mar 17 Juin 2014 - 11:25

D'accord, merci pour cette réponse claire et précise,

Du coup je peux me servir des variables les plus importantes en les réinjectant dans une régression logistique ?

sniper

Nombre de messages : 27
Date d'inscription : 12/04/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par joyeux_lapin13 le Mar 17 Juin 2014 - 11:41

Ce n'est pas le même type d'outil. La régression logistique va construire une frontière linéaire qui sera plus précise que la régression linéaire puisque la fonction sigmoïdale créé réellement un S si on monte la dimension liée à la variable réponse et donc l'intervalle autour de la frontière sera mieux ajusté car la pente induite par le nombre d'observations de tel ou tel classe influent sur la fonction sigmoïdale.

Les arbres de décision et donc les forêts aléatoires peuvent amener la création de plusieurs frontières dans le plan du fait de leur propriété (notamment la division de l'échantillon par frontière linéaire et en fonction de la variable qui maximise le critère de Gini). En gros, quand la régression logistique ne construit qu'une seule frontière linéaire, les forêts aléatoires vont en créer (peuvent en créer) une multitude imbriquée en fonction du paramétrage associé au nombre d'observations requises pour faire un noeud/soit la taille minimale du sous-échantillon pour procéder à l'apurement de Gini.

En général on utilise la régression logistique quand on a de bonnes performances et qu'on veut faire à la fois simple, classique, en présence d'une up ou down-régulation des variables par rapport à la variable réponse, qu'on est sur une réponse catégorielle et que l'on veut des indicateurs statistiques pertinents comme les Odds Ratios.
joyeux_lapin13
joyeux_lapin13

Nombre de messages : 1925
Age : 35
Localisation : Mayotte
Date d'inscription : 21/04/2010

Voir le profil de l'utilisateur https://lemakistatheux.wordpress.com/

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par sniper le Mar 17 Juin 2014 - 12:11

D'accord, je me rends compte que j'ai encore beaucoup de choses à apprendre, je précise que je suis encore étudiant. Mon but à moi est de créer une règle pouvant être appliquée ensuite en pratique et dans la vie par des médecins, et pas dans un logiciel. Autrement dit avoir une règle simple comme vous le dites, donc la régression logistique est la seule méthode répondant à ma question.

sniper

Nombre de messages : 27
Date d'inscription : 12/04/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par joyeux_lapin13 le Mer 18 Juin 2014 - 4:29

Une fois de plus, tout dépend de la liaison qu'il y a entre tes variables explicatives et ta variable réponse.

As-tu essayé les arbres de décision? Ils permettent de construire une règle décisionnelle simple et R renvoie l'arbre associé au modèle, offrant une part descriptive l'équation de prédiction.
joyeux_lapin13
joyeux_lapin13

Nombre de messages : 1925
Age : 35
Localisation : Mayotte
Date d'inscription : 21/04/2010

Voir le profil de l'utilisateur https://lemakistatheux.wordpress.com/

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par c@ssoulet le Mer 18 Juin 2014 - 6:23

sniper a écrit:Mon but à moi est de créer une règle pouvant être appliquée ensuite en pratique et dans la vie par des médecins, et pas dans un logiciel. .

Es-ce que tu as déjà commencé à collaborer avec des médecins ? Normalement, il faudrait commencer par là. Ils t'exposeront des arguments qui devraient déjà te permettre de faire un premier tri dans tes variables, pour des raisons pratiques, diagnostiques, physiopathologiques ... etc... 400 variables c'est énorme et il y a probablement là dedans une grosse poignée de variables d'interet majeur qu'ils t'aideront à cibler. Et d'autres variables inutilisables en pratique courante qu'ils t'aideront à virer.

Ca vaut le coup de commencer à travailler tres tot avec les toubibs, ils ont des arguments cliniques qui aident à bien débroussailler le terrain.

c@ssoulet

Nombre de messages : 894
Date d'inscription : 05/05/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par sniper le Mer 18 Juin 2014 - 7:30

Oui oui pour les médecins, j'ai fait de la statistique descriptive afin d'éliminer les variables avec peu d’intérêt et un effectif trop faible de réponse et je suis aujourd’hui avec 180 variables. Ce qui reste beaucoup encore. Mais les médecins ne veulent donner aucune piste afin de pas influencer l'analyse.

Après pour un arbre simple, on m'a dit que c'était pas assez robuste, avec autant de variables, un arbre simple sera de toute façon ininterprétable, et il y a fort à parier que si je construis n arbres de décision classiques, j'obtiendrai n modèles différents.

J'ai une question : Est ce que la colinéarité des variables joue dans un modèle de foret aléatoire ?

sniper

Nombre de messages : 27
Date d'inscription : 12/04/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par joyeux_lapin13 le Mer 18 Juin 2014 - 8:08

Pas spécialement puisque la variable qui optimise la classification sera choisi en premier et après on part sur un plan restreint par le cutoff sélectionné supprimant ainsi les plausibles doublons (au sens de la corrélation) de variables sélectionnées. Quand à la robustesse des arbres de décisions, oui et non. Si tu montes correctement ton jeu d'apprentissage et de test et que tu prends le temps d'étudier la robustesse des frontières en regardant la distribution autour d'elles alors tu peux pallier à ce problème. Après, il faut savoir que les cutoffs, normalement, ne sont pas créé sur les valeurs bruts mais sur la moyenne entre la valeur choisit comme cutoff et celle qui la précède ou la suit (je ne me rappel plus exactement). De plus, tu peux toujours lancer ta forêt aléatoire, voir les variables les plus contributives et ensuite lancer un arbre décisionnelle sur ce sous-set là.

@ Cassoulet, il ne faut pas oublier que les arbres de décision et les forêts aléatoires ne permettent pas de forcer des variables dans le set final, par conséquent même si on te dit il faut tel ou tel variable alors il faut oublier ces deux outils. De plus, ce sont des outils qui sélectionne automatique un sous-ensemble très restreint de variables, même en partant de 180 variables, en fonction de la taille du jeu de données et du paramétrage, on tombe finalement sur 5 à 10 variables sélectionnées dans le modèle final.
joyeux_lapin13
joyeux_lapin13

Nombre de messages : 1925
Age : 35
Localisation : Mayotte
Date d'inscription : 21/04/2010

Voir le profil de l'utilisateur https://lemakistatheux.wordpress.com/

Revenir en haut Aller en bas

Analyse de donnée 400 variables Empty Re: Analyse de donnée 400 variables

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 1 sur 2 1, 2  Suivant

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum