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

-15%
Le deal à ne pas rater :
(Adhérents Fnac) LEGO® Star Wars™ 75367 Le croiseur d’assaut de ...
552.49 € 649.99 €
Voir le deal

Validation d'un modèle

3 participants

Aller en bas

Validation d'un modèle Empty Validation d'un modèle

Message par statisticienne Mer 4 Mai 2016 - 7:56

Bonjour à tous,
je dois appliquer un modèle ordinal sur un échantillon de 98 individus et 10 variables mixtes quali et quanti,j'ai des questions prière de m'aider:
1/Est ce que la taille de mon échantillon me permet tout d'abord d'appliquer une régression
2/J'ai pas compris comment je peux valider mon modèle?En fait j'ai lu qu'il y a 3 méthodes,soit je divise ma base sur 2:apprentissage et test,j'applique le modèle sur le premier et je valide sur le second,(pour cette méthode c'est bon).Mais j'ai trouvé qu'il y a 2 autres méthodes:leave one out et k-cross,alors j'ai pas compris comment je procède?est ce que j'applique mon modèle sur tout l'éch puis j'utilise l'une de ces méthodes et je le ré-applique sur toute la base pour valider?
3/Dans mon cas:1 variable quali à 4 niveaux ordonnés et 10 variables mixtes avec un éch de 98 ind,laquelle de ces méthode me conseiller vous d'appliquer pour valider mon modèle?Et pourquoi?
4/Est ce que la sélection des variables par stepwise par exemple est appliquée avant ou après l'utilisation de ces méthodes pour la validation?
5/pour un modèle ordinal,avez vous une idée comment je peut construire la matrice de confusion?et est ce que je peux la construire quelle que soit la méthode de validation utilisée parmi ces 3 méthodes?
Merci bcp d'avance!!

statisticienne

Nombre de messages : 125
Date d'inscription : 15/06/2014

Revenir en haut Aller en bas

Validation d'un modèle Empty Re: Validation d'un modèle

Message par niaboc Mer 4 Mai 2016 - 8:17

Bonjour

statisticienne a écrit:
1/Est ce que la taille de mon échantillon me permet tout d'abord d'appliquer une régression

Oui, mais par contre tu as beaucoup de variables explicatives par rapport aux nombres d'individus... tu trouveras plusieurs chiffres dans la littérature : entre 20 et 200 individus par variables indépendantes.

statisticienne a écrit:
2/leave one out et k-cross,alors j'ai pas compris comment je procède?est ce que j'applique mon modèle sur tout l'éch puis j'utilise l'une de ces méthodes et je le ré-applique sur toute la base pour valider?

Le principe est le même sur ces deux autres méthodes. La taille de l'échantillon de validation est plus petite mais est répétée plus de fois en contre partie...
tu trouveras quelques explications ici par exemple :
https://fr.wikipedia.org/wiki/Validation_crois%C3%A9ehttps://fr.wikipedia.org/wiki/Validation_crois%C3%A9e

statisticienne a écrit:
3/Dans mon cas:1 variable quali à 4 niveaux ordonnés et 10 variables mixtes avec un éch de 98 ind,laquelle de ces méthode me conseiller vous d'appliquer pour valider mon modèle?Et pourquoi?
Tu n'as pas beaucoup d'individus. Le leave-one-out peut-être?

statisticienne a écrit:
4/Est ce que la sélection des variables par stepwise par exemple est appliquée avant ou après l'utilisation de ces méthodes pour la validation?
La méthode stepwise est faite lors de la construction du modèle et donc avant la méthode de validation.
La méthode de validation va te permettre de comparer les performances de différentes modèles que tu vas tester (stepwise, backward, etc.)

statisticienne a écrit:
5/pour un modèle ordinal,avez vous une idée comment je peut construire la matrice de confusion?et est ce que je peux la construire quelle que soit la méthode de validation utilisée parmi ces 3 méthodes?
Oui tu peux la construire pareil à partir du classement des individus des différents échantillons tests.

statisticienne a écrit:
Merci bcp d'avance!!

Niaboc
niaboc
niaboc

Nombre de messages : 1001
Age : 37
Localisation : Paris
Date d'inscription : 05/05/2008

Revenir en haut Aller en bas

Validation d'un modèle Empty Re: Validation d'un modèle

Message par statisticienne Mer 4 Mai 2016 - 9:44

Merci beaucoup !!!

statisticienne

Nombre de messages : 125
Date d'inscription : 15/06/2014

Revenir en haut Aller en bas

Validation d'un modèle Empty Re: Validation d'un modèle

Message par statisticienne Mer 4 Mai 2016 - 9:46

Avez vous une idée sur quelle code R utiliser pour exécuter un leave one out si j'ai utilisé polr pour la construction de mon modèle?

statisticienne

Nombre de messages : 125
Date d'inscription : 15/06/2014

Revenir en haut Aller en bas

Validation d'un modèle Empty Re: Validation d'un modèle

Message par niaboc Mer 4 Mai 2016 - 9:53

statisticienne a écrit:Avez vous une idée sur quelle code R utiliser pour exécuter un leave one out si j'ai utilisé polr pour la construction de mon modèle?

No

Mais j'imagine que Nik, joyeux_lapinou, zezima ou encore Eric Wajnberk pourront t'aider là-dessus.

Niaboc
niaboc
niaboc

Nombre de messages : 1001
Age : 37
Localisation : Paris
Date d'inscription : 05/05/2008

Revenir en haut Aller en bas

Validation d'un modèle Empty Re: Validation d'un modèle

Message par statisticienne Mer 4 Mai 2016 - 9:55

Merci pour votre aide,c'est très gentil!

statisticienne

Nombre de messages : 125
Date d'inscription : 15/06/2014

Revenir en haut Aller en bas

Validation d'un modèle Empty Re: Validation d'un modèle

Message par niaboc Mer 4 Mai 2016 - 9:58

statisticienne a écrit:Merci pour votre aide,c'est très gentil!

Je sais
niaboc
niaboc

Nombre de messages : 1001
Age : 37
Localisation : Paris
Date d'inscription : 05/05/2008

Revenir en haut Aller en bas

Validation d'un modèle Empty Re: Validation d'un modèle

Message par joyeux_lapin13 Mer 4 Mai 2016 - 10:06

Pour faire un p'tit LOOCV sous R, faut pondre un code de ce genre:

Code:
# En supposant Y ta variable réponse/à discriminer
n = dim(DATA)[1]
prediction = as.matrix(0,n,1)
for (i in 1:n) {
DATA.L = DATA[-i,]
DATA.T = DATA[i,]
model.L = fonction correctement appelée sur DATA.L
prediction[i] = appel de la fonction predict avec pour paramètres model.L et DATA.T en choisissant si tu veux retourner la classe de prédiction [pour la matrice de confusion par exemple] ou la probabilité [pour l'AUC par exemple]
}
confusion = table(prediction,Y)

niaboc a écrit:
statisticienne a écrit:Merci pour votre aide,c'est très gentil!

Je sais

Ca sent le mec jaloux par rapport au coeur de la dernière fois tout ça.
joyeux_lapin13
joyeux_lapin13

Nombre de messages : 1927
Age : 40
Localisation : Mayotte
Date d'inscription : 21/04/2010

https://lemakistatheux.wordpress.com/

Revenir en haut Aller en bas

Validation d'un modèle Empty Re: Validation d'un modèle

Message par statisticienne Mer 4 Mai 2016 - 10:29

Bonjour Very Happy I love you I love you voila un coeur pour chacun d'entre vous Laughing
Bon j'ai pas bien compris ou je dois mettre ce code Sad
Bon voila ce que j'ai fais,prière de me corriger s'il y a une faute d'ordre dans les commandes,et de me corriger selon le leave one out:
require(foreign)
require(ggplot2)
require(MASS)
require(Hmisc)
require(reshape2)
#importation de la base
base=read.table("C:/Documents and Settings/Administrateur/Bureau/base.finale.csv",header=T,sep=";",dec=",")
#division en éch d'app et éch test
ind<-sample(2,nrow(base),replace=TRUE,prob=c(0.7, 0.3))
train<-base[ind==1,]
View(train)
test<-base[ind==2,]
View(test)
##modélisation sur l'apprentissage
#seulement cst
m0<-polr(formula=appreciation~1, data=train,Hess=TRUE)
summary(m0)
#avec toutes les var
m1<-polr(formula=appreciation~bruit+intersection+terminaison+contraste+épaisseur+Cp+Cr+BCC+OCC+E,data=train,Hess=TRUE)
summary(m1)
#(on regarde la stat du rapport de vraisemblance=Dev~1-Dev~ttes les var et on trouve le p-value,il doit etre <0.05)
#stepwise(on peut utiliser aussi direction="backward"ou direction="Forward")
m2<-stepAIC(m1,direction="both")
summary(m2)
#calcul des p-value
ctable <- coef(summary(m2))
ctable
p <- pnorm(abs(ctable[, "t value"]), lower.tail = FALSE) * 2
ctable<-cbind(ctable, "p value" = p)
ctable
#confidence intervals
CI<-confint(m2)
CI

statisticienne

Nombre de messages : 125
Date d'inscription : 15/06/2014

Revenir en haut Aller en bas

Validation d'un modèle Empty Re: Validation d'un modèle

Message par joyeux_lapin13 Mer 4 Mai 2016 - 12:53

Le code que je t'ai mis se suffit à lui même à condition de remplacer les zones flous par la bonne syntaxe.
joyeux_lapin13
joyeux_lapin13

Nombre de messages : 1927
Age : 40
Localisation : Mayotte
Date d'inscription : 21/04/2010

https://lemakistatheux.wordpress.com/

Revenir en haut Aller en bas

Validation d'un modèle Empty Re: Validation d'un modèle

Message par statisticienne Mer 4 Mai 2016 - 13:08

Code:

> n = dim(base)[1]
> prediction = as.matrix(0,n,1)
> for (i in 1:n) {
+    DATA.L = base[-i,]
+    DATA.T = base[i,]
+    model.L = m1<-polr(formula=appreciation~bruit+intersection+terminaison+contraste+épaisseur+Cp+Cr+BCC+OCC+E,data=DATA.L,Hess=TRUE)
+
+    prediction[i] = predict(model.L,DATA.T,type = "probs")
+ }
le résultat est:
There were 50 or more warnings (use warnings() to see the first 50)
> confusion=table(prediction,appreciation)
Error in table(prediction, appreciation) :
object 'appreciation' not found
what's the problem? Embarassed Sad

statisticienne

Nombre de messages : 125
Date d'inscription : 15/06/2014

Revenir en haut Aller en bas

Validation d'un modèle Empty Re: Validation d'un modèle

Message par statisticienne Mer 4 Mai 2016 - 13:10

Code:
> warnings()
Warning messages:
1: In prediction[i] = predict(model.L, data = DATA.T, type = "probs") :
  number of items to replace is not a multiple of replacement length
2: In prediction[i] = predict(model.L, data = DATA.T, type = "probs") :
  number of items to replace is not a multiple of replacement length
3: In prediction[i] = predict(model.L, data = DATA.T, type = "probs") :

statisticienne

Nombre de messages : 125
Date d'inscription : 15/06/2014

Revenir en haut Aller en bas

Validation d'un modèle Empty Re: Validation d'un modèle

Message par joyeux_lapin13 Mer 4 Mai 2016 - 19:39

Présenté tel quel j'aurais tendance à dire que le résultat de l'appel à la fonction prédict n'est pas de taille 1x1 comme il le faut pour pouvoir le mettre à la cellule i du vecteur prediction. As-tu regardé ce que te renvoie l'objet predict(model.L,DATA.T,type = "probs")?
joyeux_lapin13
joyeux_lapin13

Nombre de messages : 1927
Age : 40
Localisation : Mayotte
Date d'inscription : 21/04/2010

https://lemakistatheux.wordpress.com/

Revenir en haut Aller en bas

Validation d'un modèle Empty Re: Validation d'un modèle

Message par statisticienne Mer 4 Mai 2016 - 21:46

Désolée j'ai pas bien saisie votre réponse Sad

statisticienne

Nombre de messages : 125
Date d'inscription : 15/06/2014

Revenir en haut Aller en bas

Validation d'un modèle Empty Re: Validation d'un modèle

Message par joyeux_lapin13 Mer 4 Mai 2016 - 22:17

Predict() doit renvoyer un seul élément pour pouvoir l'insérer dans le vecteur prediction qui est de taille 1xn.
joyeux_lapin13
joyeux_lapin13

Nombre de messages : 1927
Age : 40
Localisation : Mayotte
Date d'inscription : 21/04/2010

https://lemakistatheux.wordpress.com/

Revenir en haut Aller en bas

Validation d'un modèle Empty Re: Validation d'un modèle

Message par statisticienne Dim 8 Mai 2016 - 13:27

Sad No

statisticienne

Nombre de messages : 125
Date d'inscription : 15/06/2014

Revenir en haut Aller en bas

Validation d'un modèle Empty Re: Validation d'un modèle

Message par joyeux_lapin13 Lun 9 Mai 2016 - 7:08

Bon, envoie moi en mp tes données (anonymisées si nécessaire) et dés que j'ai un moment je regarde ça.
joyeux_lapin13
joyeux_lapin13

Nombre de messages : 1927
Age : 40
Localisation : Mayotte
Date d'inscription : 21/04/2010

https://lemakistatheux.wordpress.com/

Revenir en haut Aller en bas

Validation d'un modèle Empty Re: Validation d'un modèle

Message par statisticienne Mer 11 Mai 2016 - 10:12

Bonjour,
Merci pour votre aide,je travaille jusqu'à présent sur une base illustrative,dès que j'aurai ma base je vous l'envoie.Merci bcp

statisticienne

Nombre de messages : 125
Date d'inscription : 15/06/2014

Revenir en haut Aller en bas

Validation d'un modèle Empty Re: Validation d'un modèle

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

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