Forum de Statistiques
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Les posteurs les plus actifs de la semaine
Aucun utilisateur

-34%
Le deal à ne pas rater :
-34% LG OLED55B3 – TV OLED 4K 55″ 2023 – 100Hz HDR 10+, ...
919 € 1399 €
Voir le deal

choix d'un modèle

+2
droopy
stata1
6 participants

Page 1 sur 2 1, 2  Suivant

Aller en bas

regression - choix d'un modèle Empty choix d'un modèle

Message par stata1 Dim 2 Mai 2010 - 17:16

Salut à tous,
je voudrais savoir , lors du choix d'un modèle est ce qu'on compare les R² (coef de détermination) ou bien les R² ajustées.
Merci d'avance
stata1
stata1

Nombre de messages : 24
Age : 37
Date d'inscription : 14/01/2010

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par droopy Dim 2 Mai 2010 - 22:02

R² ajusté mais après faire attention à ce que tu compares.
droopy
droopy

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

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par stata1 Lun 3 Mai 2010 - 20:01

salut droopy , merci de me répondre .
J'ai effectué 3 méthodes de regrésssion de selection du modèle idéal:En fait , j'ai touvé le même résultat pour 2 méthodes et même les R² ajustés sont les mêmes.Et pour le troisième, j'ai trouvé un autre résultat avec un R² ajusté plus grand.
Quel modèle choisir ici.
Merci d'avance.


Dernière édition par stata1 le Lun 3 Mai 2010 - 21:17, édité 1 fois
stata1
stata1

Nombre de messages : 24
Age : 37
Date d'inscription : 14/01/2010

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par droopy Lun 3 Mai 2010 - 20:57

tu fais de la sélection de modèle du genre stepwise and co ?

Lequel choisir, très bonne question ... qui a donné lieu à des livres entiers sur la question. Est-ce que tu as regardé l'erreur quadratic moyenne (RMSE, root mean square error) que te donne ces modèles sur un jeu de données indépendant ? Après ça dépend aussi de tes objectifs.
droopy
droopy

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

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par stata1 Lun 3 Mai 2010 - 21:14

Merci une autre fois droopy,
Oui j'ai fait les sélection de genre stepwise, forward regression et backward elimination . J'ai trouvé le même résultat pour stepwise et forward.
Est ce que tu veux dire comparer les
Mean squared error ? Comment se fait la comparaison , c'est à dire est ce que je choisis le modèle qui a la plus grande ou petite Mean squared error ?

Merci .
stata1
stata1

Nombre de messages : 24
Age : 37
Date d'inscription : 14/01/2010

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par droopy Mar 4 Mai 2010 - 8:12

Je ne saurais plus te dire ou mais j'ai déjà lu que la stepwise sur le R² ce n'est pas conseillé. En général les gens utilisent d'autres critères de sélection comme les AIC, AICc ou BIC. Voir du cote du livre de Burnham et Anderson voir aussi ce pdf (http://www2.fmg.uva.nl/modelselection/presentations/AWMS2004-Burnham-paper.pdf). Après certains appliquent d'autres méthodes, ils font tous les modèles possibles et prennent celui avec le meilleur critère. Je ne sais pas si ça t'aide ... Après quels sont les objectifs de tes modèles ? Faire de la prédiction ? de l'inférence ?
droopy
droopy

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

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par jigouen Mar 4 Mai 2010 - 14:35

Je crois que le r² te permet de déterminer la part de variablilité expliquée par ton modèle, la valeur d'AIC ou de BIC vont te permettre de choisir ton modèle.

jigouen

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

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par stata1 Mar 4 Mai 2010 - 15:07

Salut,
tout d'abord merci de me répondre,
J'ai lu que pour choisir un modèle il faut choisir celui qui minimise le critère d'Akaike , c'est à dire celui qui possède la plus petite valeur d'AIC , et aussi j'ai trouvé dans des cours qu'il faut choisir celui qui a la plus petite MSE. Mais le problème que j'ai trouvé pour la méthode régressive ( Backward elimination) une AIC plus petite que la méthode stepwise mais une MSE plus grande.
Sachant que mon but de mon modèle est de sortir la relation qui relie la variable dépendante (Y) et des variables d'études de la société où je fais mon projet.
Merci d'avance.
stata1
stata1

Nombre de messages : 24
Age : 37
Date d'inscription : 14/01/2010

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par droopy Mar 4 Mai 2010 - 15:25

ce n'est pas surprenant, ces méthodes de sélection se basent sur un seul critère. Après a toi de voir, tu peux aussi faire tout les modèles et basés ton choix sur différent critère, MSE, AIC ...
droopy
droopy

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

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par stata1 Mar 4 Mai 2010 - 17:27

merci droopy, j'ai compris que je choisis le modèle suivant un tel critère mais selon l'orientation de mon sujet ?
stata1
stata1

Nombre de messages : 24
Age : 37
Date d'inscription : 14/01/2010

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par droopy Mer 5 Mai 2010 - 6:08

sinon tu peux aussi regarder du côté de la régression pls. Avec cette méthode tu n'as pas besoin de choisir tes variables. Sache aussi qu'en général les procédures de sélection de modèles ne sont pas faite pour faire de l'inférentiel (dire quelles sont les variables qui expliquent le mieux ta variable réponse) mais dans un but prédictif.
droopy
droopy

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

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par Nik Mer 5 Mai 2010 - 7:29

Salut,

A mon avis la sélection de modèle doit d'abord se baser sur des hypothèses fortes qui doivent amener un sélectionner un ensemble de modèles que l'on suppose pertinent. Les concepts de la sélection de modèle sur l'AIC repose avant tout là dessus. Si l'expérimentateur ne propose pas un ensemble de modèles pertinent alors il y a de grandes chances que le modèle retenu par l'un ou l'autre des critères de sélection ne soit pas bon ou en tout cas pas généralisable.
En lien avec ça, il est totalement exclu de faire tous les modèles possible (data dredging) et de voir celui qui a le plus faible AIC (ou BIC...). En faisant cela on va à l'encontre des fondements de la sélection de modèle basée sur la théorie de l'information. Les connaissances à priori ou les hypothèses doivent amener un choix sur les variables.
Il faut aussi regarder ce qu'on appelle les poids d'Akaike qui peuvent permettre d'obtenir des informations complémentaires pour sélectionner un modèle.

En tout cas il est clair qu'il faut éviter le R² pour sélectionner les modèles et ce même dans un contexte de régression linaire classique car ça n'indique finalement pas grand chose en terme de modélisation proprement dite (validité des paramètres). En biologie on se contente souvent de R² faibles sans pour autant que le modèle ne soit pas fiable pour les paramètres concernés.

Voilà pour ma petite contribution à une très vaste question ! Smile

Nik

Nik

Nombre de messages : 1606
Date d'inscription : 23/05/2008

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Quelles commandes pour tester plusieurs regression

Message par Angel2679 Dim 12 Sep 2010 - 10:07

Bonjour à vous,
Ayant beaucoup utilisé "R" les années passées, j'ai légèrement oublié certaines notions qui aujourd'hui me font défaut.
J'ai un jeu de données très simple :
-70 lignes : les années
-1 colonne : des effectifs d'animaux.
Je cherche à modéliser l'évolution des effectifs en fonction des année. Pour cela, je souhaite tester un maximum de modèle de régression (linéaire, logistique, logarithmique, exponentielle, polynomiale d'ordre 2 à 4).
Existe-il dans R, un package et donc une commande permettant automatiquement de tester tous ces modèles successivement et de ne retenir que le meilleur.

Merci de votre aide qui pourrait m'éviter de générer toutes ces régressions une à une....et donc un gain de temps précieux!!!

Encore Merci,

Angel.

Angel2679

Nombre de messages : 9
Date d'inscription : 12/09/2010

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par Nik Lun 13 Sep 2010 - 7:57

Angel2679 a écrit:
Existe-il dans R, un package et donc une commande permettant automatiquement de tester tous ces modèles successivement et de ne retenir que le meilleur.
Merci de votre aide qui pourrait m'éviter de générer toutes ces régressions une à une....et donc un gain de temps précieux!!!

De manière intelligente il ne devrait y avoir aucun package qui fait ça car il n'est pas bon du tout de se lancer dans ce genre de procédure "miraculeuse". Surtout s'il s'agit de tester et comparer différentes méthodes de modélisation. Je crois que les critère types AIC permettent une comparaison des modèles établi à partir d'un type de distribution différent mais je n'en suis plus sûr du tout. Donc déjà il faudrait vérifier que théoriquement ça tient la route.

L'expression "meilleur modèle" n'a finalement que peu de sens. Il faut d'abord raisonner sur ses données avant de lancer la machinerie des stats et tout passer à la moulinettes. Par exemple avec des comptages, la distribution gaussienne d'erreur est à mettre de côté ce qui écarte tout de suite le modèle linéaire. Ensuite si c'est une série temporelle alors il y a certainement une dépendance d'une année à l'autre : il faut peut être en tenir compte dans ta modélisation.

Bref il y a d'abord bcp de questions à se poser avant d'en arriver au processus d'évaluation des paramètres.

Nik


Nik

Nombre de messages : 1606
Date d'inscription : 23/05/2008

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par droopy Lun 13 Sep 2010 - 8:23

je partage complètement l'avis de Nik, à priori tu ne trouveras pas ce genre de trucs sous R. R n'a pas volonté à être une boîte noire dans laquelle tu mets tes données, que tu secoues, et qui te donne le meilleur modèle suivant le ou les critères que tu aurais défini. Je pense que c'est assez loin du concept voulu par les auteurs de ce logiciel. Je pense notamment que l'utilisation de ligne de commande plutôt que de boutons à presser en est une parfaite illustration. En tapant ta ligne de commande, l'utilisateur est amené à réfléchir à ce qu'il fait et pourquoi il le fait. Enfin ce n'est que mon point de vue.

@+
droopy
droopy

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

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par Angel2679 Lun 13 Sep 2010 - 10:34

Bonjour,
Et merci de vos réponses. Il est bien évident qu'avant de modéliser, il faut analyser les données. Mes données sont effectivement dépendantes et j'ai d'ores et déjà éliminer la régression linéaire. Mais peut-être me suis-je mal exprimé. Je cherche à effectuer des régressions pour prédire des données manquantes.
J'ai en effet dans mes effectifs des données manquantes que je cherche à remplacer par des effectifs estimées. Pour cela, je cherche à trouver l'équation décrivant au mieux les effectifs en fonction des années. j'utiliserai ensuite cette équation pour calculer les données manquantes. Idéalement, je devrais tester toutes les régressions appropriées unes à unes mais je dois répéter cette démarche 143 fois (143 espèces étudiées). Donc si vous aviez eu connaissance d'un moyen automatique pour trouver automatiquement l'équation décrivant le mieux mes effectifs, je gagnerais un temps précieux.

Un grand merci encore,
Bonne journée


Angel2679

Nombre de messages : 9
Date d'inscription : 12/09/2010

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par Nik Lun 13 Sep 2010 - 11:57

Oui effectivement on aurait eu du mal à entrevoir ta réelle question à la vue de ton précédent message...Smile

Dans ton cas il faut faire une analyse des séries temporelles (fonction ts du package stats dans R) sans les données manquantes. Mais je n'ai jamais directement manipulé de série temporelle donc je ne peux être certain que tu pourras estimer tes données manquantes par la suite.

D'ailleurs peut être n'est il pas nécessaire de fournir des valeurs pour les valeurs manquantes...à voir comment R gère ça dans les séries temporelles.

Nik

Nik

Nombre de messages : 1606
Date d'inscription : 23/05/2008

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par Angel2679 Lun 13 Sep 2010 - 12:26

Merci beaucoup,
J'ai testé la fonction ts. (qui me signale au passage que ma série n'est pas temporelle)...
Pour obtenir une équation et ainsi prédire les valeurs manquantes, je vais finalement tester (et découvrir...) les processus ARIMA et GARCH.
Merci encore pour l'aide obtenue!


Angel2679

Nombre de messages : 9
Date d'inscription : 12/09/2010

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par dickoa Mar 14 Sep 2010 - 1:29

Salut,
C'est mon premier post sur ce forum, et j'espere pouvoir autant apprendre qu'aider. Pour revenir à ta question si ton but est de predire les valeurs manquantes, vue que tu travaille sous R je te conseillerais de jetter un coup d'oeil au package "mi" de andrew Gelman et notamment les fonctions (mi.continous ou mi.count selon le type de regression) ou le package "mice", c'est deux packages sont destiné au traitement des valeurs manquantes et des imputations multiples qui est un domaine qui a donné lieu à toute une litterature en statistique (cf Little and Rubin 1987) . Sinon c'est vrai que ca un coté "boite noire" mais au moins tu pourrais rapidement t'ensortir et essayer de comprendre par la suite.
En esperant que ca puisse t'aider. mi et mice

dickoa

Nombre de messages : 10
Date d'inscription : 14/09/2010

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par Angel2679 Mar 14 Sep 2010 - 12:20

Bonjour, et merci à toi Dickoa. J'ai effectivement testé le package mi....Mais je ne m'en sors pas, j'ai un message d'erreur :
> cb
Annee Cigbla Cigblapre
1 1980 36 NA
2 1981 33 NA
3 1982 32 NA
4 1983 43 NA
5 1984 38 NA
6 1985 45 NA
7 1986 50 NA
8 1987 43 NA
9 1988 48 NA
10 1989 109 NA
11 1990 138 NA
12 1991 140 NA
13 1992 NA NA
14 1993 223 NA
15 1994 289 NA
16 1995 315 NA
17 1996 NA NA
18 1997 430 NA
19 1998 500 NA
20 1999 555 NA
21 2000 654 NA
22 2001 534 NA
23 2002 594 NA
24 2003 750 NA
25 2004 973 NA
26 2005 1068 NA
27 2006 1247 NA
28 2007 1371 NA
29 2008 1388 NA
30 2009 1618 NA
>cbmi=mi(Cigblapre,cb,n.iter=30,R.hat=1.1,max.minute=20,rand.imp.method="bootstrap",run.past.convergence=FALSE,seed=NA,check.coef.convergence=FALSE)
Erreur dans function (classes, fdef, mtable) :
unable to find an inherited method for function "mi", for signature "logical"
Javoue que si j'osais, je demanderais de l'aide sur comment progrrammer cette fonction mi....
Merci d'avance.

Angel

Angel2679

Nombre de messages : 9
Date d'inscription : 12/09/2010

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par dickoa Mar 14 Sep 2010 - 20:26

Je connais beaucoup plus la la librairie "mice" que "mi", mais déja je pense que ce n'est pas la peine de créez une colonne remplie de "NA".
Tu peut utiliser la fonction suivante :
Code:
# estime tes valeurs en utilisant la fonction "bayesglm" avec family = gaussian (donc c'est un modèle bayesien)
cb.compl  <- mi.continuous(Annee ~ cigbla, data =cb)
# pour avoir tes valeurs manquantes
cb.compl@random
Néamoins vu la nature de tes données (comptage...) je pense qu'il serait plus interessant d'utiliser la fonction mi.count (ce qui revient à family= quasipoisson) et de faire pareil.
Je tiens à te préciser que ca dépasse le cadre de mes compétence pour l'instant (encore étudiant...et encore beaucoup à apprendre).
Pour revenir à l'estimation à l'aide de regression linéaire, ou autre type de regression (polynomiale, nls,...), je te donne un exemple et comme ca tu pourra tester le reste tout seul.
Code:
# regression simple
modele1 <- lm(cigbla ~ Annee, data = cb)
# jeux de donnés avec les années correspondant aux NA
new <- data.frame(Annee = c(1992, 1996))
# valeurs manquante predicte
predict(modele1, newdata = new)
Donc pour tous les modèles qui admette une methode "predict" (par exemple "glm", ou "nls") tu peut essayer de voir les différents modèles.
Encore une fois le traitement des valeurs manquantes n'est pas aussi simple et qu'il existe surement de meilleure approximation pour tes données.

dickoa

Nombre de messages : 10
Date d'inscription : 14/09/2010

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par Angel2679 Mer 15 Sep 2010 - 9:56

Bonjour, et merci dickoa ! tu es de très bon conseil.
J'ai testé ta méthode, c'est tip top ce qu'il me fallait. Mes données sont bien "quasipoisson", bien vu!
Par contre, je ne comprend pas à quoi ça sert la première opération avec bayesglm, car je ne peux pas travailler en mi.count avec l'objet créé par la fonction bayesglm ? D'autre part, saurais-tu comment je peux faire pour récupérer l'équation du modèle ? L'intercept et le coef que j'obtiens sont faux (cf extrait ci-dessous).
> cigbay=bayesglm(cigbla~anne,family=quasipoisson, data=data)
> cigbay.compl=mi.count(cigbla~anne, data=data)
> cigbay.compl
An object of class "mi.count"
list()
Slot "model":
$call
bayesglm(formula = cigbla ~ anne, family = quasipoisson, data = data,
start = numeric(0), drop.unused.levels = FALSE, n.iter = 100,
Warning = FALSE)
$coefficients
(Intercept) anne
-110.00683827 0.05819063
$sigma
[1] 1
$overdispersed.parameter
[1] 184.9734
Slot "expected":
1 2 3 4 5 6 7 8
9.984947 10.583215 11.217330 11.889439 12.601819 13.356883 14.157188 15.005444
9 10 11 12 13 14 15 16…..
Slot "random":
1 2 3 4 6 7 9 10 11 12 13 15 17 27 28 30 37 40 43 63 67
0 0 0 0 66 0 0 0 0 9 10 0 0 4 0 27 69 435 27 172 96

Cela dit, j'ai déjà beaucoup avancé!!!
Merci beaucoup, à charge de revanche peut-être!
Angel

Angel2679

Nombre de messages : 9
Date d'inscription : 12/09/2010

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par dickoa Mer 15 Sep 2010 - 11:29

Ben comme tu la vu, la premiere ligne n'a pas de sens car la fonction mi.count appelle la fonction bayesglm (c'est ce que je voulais te dire plus haut...).
Pour revenir aux equations de ton modèle...
# le @ c'est parceque c'est du S4
Code:
equation <- cigbay.compl@model$coefficients
Mais je ne comprends pas pourquoi tu dis qu'ils sont faux ?

dickoa

Nombre de messages : 10
Date d'inscription : 14/09/2010

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par Angel2679 Mer 15 Sep 2010 - 11:53

Ok, pour les coefficients je vois bien. ce qui me parait étonnant c'est qu'il s'agit de coefficients d'une droite de régression, donc d'une régression linéaire. Et ce n'est pas forcément la régression la plus adaptée à l'évolution de mes données. Du coup, les valeurs "expected" sont plutôt bonnes mais les valeurs "random" sont très éloignées de la réalité!

Angel2679

Nombre de messages : 9
Date d'inscription : 12/09/2010

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

Message par Angel2679 Mer 15 Sep 2010 - 13:38

Ah, et oui, comment puis-je faire pour connaitre la qualité prédictive de mon modèle ?équivalent du R² ajusté de la regression ?

Bonne journée et merci.

Angel

Angel2679

Nombre de messages : 9
Date d'inscription : 12/09/2010

Revenir en haut Aller en bas

regression - choix d'un modèle Empty Re: choix d'un modèle

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