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 :
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)
La variable S0 comporte 61 données et la variable a comporte 122 données.

J'ai ensuite créer des variables retardés de ma variable a :
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)
Je cherche maintenant à prédire ma variable TC1 en fonction de a a1 a2 et a3.

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.