Bonjour,
Je voudrais effectuer une prévision à l'aide d'une régression(pls).
J'ai d'abord chargé mes données et transformé en série chronologique de la manière suivante :
La variable S0 comporte 61 données et la variable a comporte 122 données.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 S0= read.table("C:/Documents and Settings/var2.csv", header=TRUE) T1= read.table("C:/Documents and Settings/var1.csv", header=TRUE) a=ts(S0) TC1=ts(T1)
J'ai ensuite créer des variables retardés de ma variable a :
Je cherche maintenant à prédire ma variable TC1 en fonction de a a1 a2 et a3.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 a1=lag(a,-1) a2=lag(a,-2) a3=lag(a,-3)
J'ai donc créer un dataframe pour effectuer la modélisation (poitest) et un autre pour effectuer la prévision ( poiprev).
Poitest contient les 61 premieres observations de ma variable, et poitest contient les 61 dernieres ( comme je ne connais pas les 61 dernieres pour ma variables à expliquer j'ai mis des nombres arbitrairement)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 for (i in 1:69){ TC1=c(TC1,i) } XX <-cbind(a1,a2,a3,a) X=as.data.frame(XX) X=X[1:length(a),] X=as.matrix(X) Y=as.matrix(TC1) poi=data.frame(y=Y,X=I(X)) poitest=poi[1:length(TC1),] poiprev=poi[(length(TC1)+1):(length(TC1)*2),]
J'ai ensuite effectuer la régression ( pls) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Xtest=X[1:length(TC1),] Ytest=Y[1:length(TC1)] model <- plsr(Ytest ~ Xtest , data = poitest, validation = "LOO",ncomp=2,method = "kernelpls")
Et ensuite la prévision :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 prevTC1=predict(model,ncomp=2,newdata=poiprev)
C'est la que j'ai un problème : pour les trois premieres prédictions la valeurs prédites sont "NA".
Est ce que cela vient du fait que j'utilise des variables retardés?
Merci pour votre aide.
Partager