Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
nombre de régresseurs maximum
2 participants
Page 1 sur 1
nombre de régresseurs maximum
Bonjour,
un modèle de régression s'ajuste mécaniquement mieux aux données avec l'augmentation du nombre de variables explicatives.
je suis dans un cas où je dois expliquer à une personne pourquoi il peut-être dangereux de rajouter trop de variables explicatives... (sans parler des méthodes de sélection de variables ac le backward, forward, etc.)
A partir de quand le modèle commence à faire "n'importe quoi" juste parce qu'on ajoute des variables et non pas parce les variables explicatives expliquent réellement la variables à expliquer?
Savez-vous jusqu'à quel point il est aberrant de rajouter des variables explicatives?
J'ai lu qu'il fallait avoir un nombre d'individus au moins 20 fois supérieur au nombre de variables, pourquoi??
Merci
un modèle de régression s'ajuste mécaniquement mieux aux données avec l'augmentation du nombre de variables explicatives.
je suis dans un cas où je dois expliquer à une personne pourquoi il peut-être dangereux de rajouter trop de variables explicatives... (sans parler des méthodes de sélection de variables ac le backward, forward, etc.)
A partir de quand le modèle commence à faire "n'importe quoi" juste parce qu'on ajoute des variables et non pas parce les variables explicatives expliquent réellement la variables à expliquer?
Savez-vous jusqu'à quel point il est aberrant de rajouter des variables explicatives?
J'ai lu qu'il fallait avoir un nombre d'individus au moins 20 fois supérieur au nombre de variables, pourquoi??
Merci
niaboc- Nombre de messages : 1001
Age : 37
Localisation : Paris
Date d'inscription : 05/05/2008
Re: nombre de régresseurs maximum
Bonjour,
tu évoques le problème d'over-fitting (sur ajustement). Plus tu ajoutes de variables dans un modèle plus tu vas arriver à coller aux données qui servent à son estimation. A l'extrême quand tu as autant de variables que d'individus tu prédis exactement la variable expliquée observée pour chaque individus.
Le problème survient quand tu cherches a appliquer ton modèle a des individus qui n'ont pas servis à son estimation. Dans ces cas la le modèle est tellement adapté aux données de départ qu'il devient de moins en moins bon pour d'autres individus.
Quand tu augmentes le nombre de variable, l'erreur sur les données de calibration diminue continuellement, mais l'erreur de prédiction sur des données externes au modèle elle croit. Tu as ce genre de relation théorique entre le nombre de variable explicatives et les erreurs :
En bleu l'erreur d'apprentissage et en rouge l'erreur de validation.
Avec un exemple concret avec R :
tu évoques le problème d'over-fitting (sur ajustement). Plus tu ajoutes de variables dans un modèle plus tu vas arriver à coller aux données qui servent à son estimation. A l'extrême quand tu as autant de variables que d'individus tu prédis exactement la variable expliquée observée pour chaque individus.
Le problème survient quand tu cherches a appliquer ton modèle a des individus qui n'ont pas servis à son estimation. Dans ces cas la le modèle est tellement adapté aux données de départ qu'il devient de moins en moins bon pour d'autres individus.
Quand tu augmentes le nombre de variable, l'erreur sur les données de calibration diminue continuellement, mais l'erreur de prédiction sur des données externes au modèle elle croit. Tu as ce genre de relation théorique entre le nombre de variable explicatives et les erreurs :
En bleu l'erreur d'apprentissage et en rouge l'erreur de validation.
Avec un exemple concret avec R :
- Code:
x <- rnorm(200)
x2 <- rnorm(200)
x3 <- rnorm(200)
y <- 1.25*x-2+0.75*x2-3*x3+rnorm(100,0,4)
aux <- rep(c(TRUE, FALSE), each=100)
tab <- data.frame(y=y, x=x)
lm1 <- lm(y~., data=tab, subset=aux)
rmse <- function(model, newdata) {
cal <- 1/length(model$fitted)*sqrt(sum(residuals(model)^2))
pred <- predict(model, newdata=newdata)
pred <- 1/length(newdata$y)*sqrt(sum((newdata$y-pred)^2))
c(cal, pred)
}
res <- rmse(lm1, tab[!aux,])
for (i in 1:40){
tab[,ncol(tab)+1] <- rnorm(200)
lm1 <- update(lm1)
res <- rbind(res, rmse(lm1, tab[!aux,]))
}
legend("topleft", lty=1:2, col=1:2, legend=c("Train", "Valid"))
droopy- Nombre de messages : 1156
Date d'inscription : 04/09/2009
Re: nombre de régresseurs maximum
Merci pour ta réponse.
J'étais parti là-dessus mais également, mais le souci est que je n'ai pas les moyens d'avoir un échantillon de test à chaque fois... et donc je me demandais s'il existait des "règles" à respecter pour être quasiment sûr de ne pas avoir de sur-apprentissage?
J'étais parti là-dessus mais également, mais le souci est que je n'ai pas les moyens d'avoir un échantillon de test à chaque fois... et donc je me demandais s'il existait des "règles" à respecter pour être quasiment sûr de ne pas avoir de sur-apprentissage?
niaboc- Nombre de messages : 1001
Age : 37
Localisation : Paris
Date d'inscription : 05/05/2008
Re: nombre de régresseurs maximum
Les règles du 20 ou 10x supérieur sont des règles empiriques qui permettent de limiter a la louche le nombre de variables. Perso, je ne connais pas de réelles règles pour limiter le sur apprentissage. Si tu ne peux disposer d'échantillon test tu peux au moins estimer ces deux types d'erreurs avec des procédures de bootstrap ou de cross-validation.
droopy- Nombre de messages : 1156
Date d'inscription : 04/09/2009
Sujets similaires
» maximum de vraisemblance
» Maximum d'une colonne sur SAS
» maximum de vraisemblance distribution exponentielle
» maximum de vraissemblance - matrice hessienne
» commande sur stata du maximum de vraisemblance
» Maximum d'une colonne sur SAS
» maximum de vraisemblance distribution exponentielle
» maximum de vraissemblance - matrice hessienne
» commande sur stata du maximum de vraisemblance
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum