Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
Predict avec lm ...
2 participants
Page 1 sur 1
Predict avec lm ...
Bonjour tout le monde,
Voilà je réalise une régression linéaire avec un modèle polynomiale. Jusqu'ici tout va bien.
J'essaye après d'obtenir des prédictions sur une nouvelle data frame avec l'intervalle de prédiction à partir du modèle obtenu.
Problème ça foire complètement.
Voici mon code :
Le résultat ne correspond pas du tout à ce que j'ai normalement lorsque je trace la fonction Y=a+bX+cX²+dX³ avec les coefficients obtenus avec model. J'obtiens en gros l'intervalle de prédiction pour des valeurs de X allant de 1 à 15 comme dans la data frame originale.
Voici ma data frame :
X est ici uniquement le nombre de jours écoulés ... et je souhaite prédire mes valeurs pour les jours suivants, en gros de 16 à 30 (ou 31) selon les mois.
J'avoue que ça parait bête mais j'ai du mal à saisir où est l'erreur.
En vous remerciant par avance,
Gu.
Voilà je réalise une régression linéaire avec un modèle polynomiale. Jusqu'ici tout va bien.
J'essaye après d'obtenir des prédictions sur une nouvelle data frame avec l'intervalle de prédiction à partir du modèle obtenu.
Problème ça foire complètement.
Voici mon code :
- Code:
datalm<-datalm[1:15,]
model <- lm( Y ~ X + I(X^2) + I(X^3), data = datalm )
print(model)
new <- data.frame(X = seq(16,30,1))
pred.interval <- predict(lm(datalm$Y ~ datalm$X + I(datalm$X^2) + I(datalm$X^3)), new, interval="prediction")
Le résultat ne correspond pas du tout à ce que j'ai normalement lorsque je trace la fonction Y=a+bX+cX²+dX³ avec les coefficients obtenus avec model. J'obtiens en gros l'intervalle de prédiction pour des valeurs de X allant de 1 à 15 comme dans la data frame originale.
Voici ma data frame :
- Code:
datalm
Y M V X
1 111 301 6 1
2 291 1130 15 2
3 481 1356 21 3
4 625 1831 30 4
5 728 1987 33 5
6 819 2204 37 6
7 904 2239 38 7
8 977 2654 42 8
9 1102 2843 47 9
10 1208 3129 51 10
11 1335 3401 58 11
12 1456 3700 63 12
13 1546 3801 66 13
14 1657 4046 73 14
15 1779 4201 77 15
X est ici uniquement le nombre de jours écoulés ... et je souhaite prédire mes valeurs pour les jours suivants, en gros de 16 à 30 (ou 31) selon les mois.
J'avoue que ça parait bête mais j'ai du mal à saisir où est l'erreur.
En vous remerciant par avance,
Gu.
statgg- Nombre de messages : 21
Date d'inscription : 06/06/2013
Re: Predict avec lm ...
L'erreur vient du fait que tu fais un predict sur un nouveau model ou les variables ne se nomment pas X mais "datalm$X", comme il ne trouve pas ces noms de variables dans l'objet new, alors tu as comme prédiction les valeurs associées à celles qui ont servies à la construction de ton modèle et non à new.
essaie predict(model, new, interval="prediction").
Cdlt
essaie predict(model, new, interval="prediction").
Cdlt
droopy- Nombre de messages : 1156
Date d'inscription : 04/09/2009
Re: Predict avec lm ...
Humm ok.
J'ai relancé après avoir effacé mon environnement avec predict(model, new, int = "pred") et ça marche. Alors qu'avant ça ne marchait pas ... A priori dans mon environnement il n'y avait pas le bon "model" (j'avais un peu lancé n'importe comment).
Merci droopy en tout cas,
Gu.
J'ai relancé après avoir effacé mon environnement avec predict(model, new, int = "pred") et ça marche. Alors qu'avant ça ne marchait pas ... A priori dans mon environnement il n'y avait pas le bon "model" (j'avais un peu lancé n'importe comment).
Merci droopy en tout cas,
Gu.
statgg- Nombre de messages : 21
Date d'inscription : 06/06/2013
Sujets similaires
» R: formule utilisée dans predict()
» Comment utiliser la fonction predict
» ACP avec R
» simulation de l'ARL avec R
» ACM avec R
» Comment utiliser la fonction predict
» ACP avec R
» simulation de l'ARL avec R
» ACM avec R
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum