Forum de Statistiques
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

prédiction en régression

3 participants

Aller en bas

prédiction en régression Empty prédiction en régression

Message par niaboc Mar 9 Nov 2010 - 9:51

Bonjour,

je voudrais savoir ce qu'apporte, à la suite d'une régression, de tracer le graphique des prédiction en fonction des valeurs réelles de la variable à expliquer?

et une autre quesiton:
est-ce qu'un R² élevé signifie que la régression est forcément bonne? (que les points sont bien alignés sur la droite de régression)

et une dernière:
pourquoi l'intervalle de confiance à 95% des prédictions (et non pas celui de la droite de régression) est parallèle à la droite de régression et non pas de forme parabolique?

merci
niaboc
niaboc

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

Revenir en haut Aller en bas

prédiction en régression Empty Re: prédiction en régression

Message par joyeux_lapin13 Mar 9 Nov 2010 - 10:19

Salut Niaboc,

concernat le R2 ça dépend de l'optique dans laquelle tu fais ta régression. Dans une optique pure classification, regarder le R2 ne sert quasiment à rien, par contre dans une optique modélisation alors là c'est une performance importante à prendre en compte, ça s'explique par le fait que le R2 est une quantité qui confronte le modèle complet au modèle trivial (composé uniquement de la constante).

Sinon, plus ton R2 est proche de 1 plus la qualité d'ajustement de ton modèle est bonne.

Enfin, pour ce qui est de l'intérêt de tracer les valeurs prédites par ton modèle en fonction des valeurs réelles, j'imagine qu'il s'agit juste de voir graphiquement si ton modèle prédit bien en attendant de faire une analyse résiduel (enfin moi c'est ce que je fais).
joyeux_lapin13
joyeux_lapin13

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

https://lemakistatheux.wordpress.com/

Revenir en haut Aller en bas

prédiction en régression Empty Re: prédiction en régression

Message par droopy Mar 9 Nov 2010 - 10:37

1) ça te permet de savoir si les prédictions de ton modèle sont bien conformes à ce que tu peux attendre, que tu n'as pas des trucs bizarres du genre une sous estimation à certains endroits une surestimation a d'autre, etc. Permet de voir si tu as une bonne linéarité entre observation et prédiction

2) Oui et non. Le R² représente le pourcentage de variance expliquée par ta régression, donc moralité plus celui-ci est grand et plus la différence entre observation et prédiction sera faible. Après ça ne veut pas forcément dire que ta régression est forcément bonne, tu peux avoir un bon R² et de l'hétéroscédasticité, ou encore de l'auto-corrélation. Le R² est une statistique importante, mais pas la seule pour juger de la qualité d'une régression linéaire. Tu peux aussi avoir un super R² en rentrant énormément de variables indépendantes, sans pour autant que les variables individuellement explique la variable réponse.

3) En fait il ne l'est pas c'est un effet d'optique. Il n'a aucune raison d'être parallèle. Représentes le pour valeurs de ta variable indépendantes qui soient très éloignées de celles que tu observes et tu t'en rendras compte..

Pour illustrer :
Code:
x <- seq(0,3, le=100)
y <- x^2+2
lm1 <- lm(y~x)
summary(lm1)

Call:
lm(formula = y ~ x)

Residuals:
    Min      1Q  Median      3Q    Max
-0.7649 -0.6217 -0.1910  0.5262  1.4848

Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept)  0.51515    0.13721  3.754 0.000295 ***
x            3.00000    0.07902  37.965  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.6912 on 98 degrees of freedom
Multiple R-squared: 0.9363,    Adjusted R-squared: 0.9357
F-statistic:  1441 on 1 and 98 DF,  p-value: < 2.2e-16
Ici tu as un super R² et pourtant il y a un problème. Le graph des observations en fonction des prédicitons ne montre pas de tendance linéaire entre les deux :
Code:
with(lm1, plot(fitted.values,y, panel.last=abline(0,1)))
Tu as clairement des zones ou tu surestimes les valeurs (entre 2.3 et 7.5) et des zones ou tu les sous estimes.

Pour l'IC :
Code:
set.seed(100)
x <- rnorm(100)
y <- 3*x+2+rnorm(100)
lm1 <- lm(y~x)
preds <- predict(lm1, newdata=data.frame(x=seq(-10000,10000,le=1000)), interval="prediction")
matplot(seq(-10000,10000,le=1000), type="l",preds, col=c("black","red","blue"), lty=c(1,3,3))
droopy
droopy

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

Revenir en haut Aller en bas

prédiction en régression Empty Re: prédiction en régression

Message par niaboc Mar 9 Nov 2010 - 13:18

merci beaucoup pour votre réactivité ;-)

le graphique des valeurs prédites par le modèle en fonction des valeurs réelles peut-il permettre de comparer deux modèles pour savoir lequel est le meilleur en terme de prédiction?
exemple : est-il légitime de faire une régression sur ce mêm graphe pour comparer des modèles différents (en comparant le R² par exemple)?
niaboc
niaboc

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

Revenir en haut Aller en bas

prédiction en régression Empty Re: prédiction en régression

Message par droopy Mar 9 Nov 2010 - 13:33

Pour commencer je préfère faire le graph des valeurs observées en fonction des valeurs prédites. Question de point de vue. Ensuite je ne pense pas qu'un graph seul soit suffisant pour comparer la performance de tes modèles. Tu devrais au moins ajouté les RMSE (root mean square error) associés à chaque modèle.

L'ajustement du modèle aux données qui ont servi à le construire est une chose, mais ce ne doit pas être le seul critère. Tu peux très bien avoir un modèle qui explique très bien tes données de départ mais qui soit pas du tout performant pour prédire des données indépendantes. C'est notamment le cas lorsque tu as un modèle trop complexe et que tu tombes dans un problème d'overfitting. Il te faut donc aussi prendre en compte la complexité de tes modèles dans l'évaluation de tes modèles et pourquoi pas faire des validations croisées. Tu peux aussi comparer tes modèles avec des indices de types AIC, AICc, BIC. Mais la Nik devrait pouvoir t'en dire plus que moi sur la question.

Tout ceci est vrai pour l'ensemble des modèles, pas seulement la régression linéaire.
droopy
droopy

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

Revenir en haut Aller en bas

prédiction en régression Empty Re: prédiction en régression

Message par niaboc Mar 9 Nov 2010 - 17:11

c'est une problématique de robustesse du modèle.

merci pour vos réponses et votre réactivité!

bonne soirée!
niaboc
niaboc

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

Revenir en haut Aller en bas

prédiction en régression Empty Re: prédiction en régression

Message par droopy Mer 10 Nov 2010 - 13:26

re,

un exemple de ce que je te disais :
Code:
set.seed(1000)
x <- rnorm(1000,10,3)
y <- 3*x+2+rnorm(100,0,4)
X <- cbind(x, matrix(rnorm(11000,c(5:1),4),1000))
X <- as.data.frame(X)
colnames(X) <- paste("X",1:12,sep="")

sims <- replicate(10000, {
auxi <- sample(1000,750)
lm1 <- lm(y~x, subset=(1:1000)%in%auxi)
lm2 <- lm(y~., data=X, subset=(1:1000)%in%auxi)
p1 <- predict(lm1, newdata=data.frame(x=x[-auxi]))
p2 <- predict(lm2, newdata=X[-auxi,])
c(sum((p1-y[-auxi])^2), sum((p2-y[-auxi])^2))
})

sims <- t(sims)
colMeans(sims)
[1] 4381.336 4396.131
Ici la différence entre les deux n'est pas énorme, mais te montre que le deuxième modèle (lm2) qui est largement plus complexe que le premier a un RMSE de prédicition plus important que le modèle à une seule variable. Alors que si tu regarde les R² :
Code:
summary(lm(y~x))$r.sq
0.8207747
summary(lm(y~.,data=X))$r.sq
[1] 0.8247447
Le R² le plus grand est pour le deuxième modèle.

L'exemple ici n'est pas des mieux choisi puisqu'une des variables explique la majorité de la variance, mais il te permet de voir que le "meilleur" modèle n'est pas forcément celui qu'on croit, tout dépend de ce que cherches à faire.
droopy
droopy

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

Revenir en haut Aller en bas

prédiction en régression Empty Re: prédiction en régression

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