After seeing "How the scores are calculated in the PLS" (in particular the scores for the first term), now I follow with "How the loadings are calculated in the PLS?" (and in particular the first loading.
Loadings are calculated as regressions of T on every column of X, so in this case we regress "t1_pls" (calculated on "How the scores are calculated in the PLS?") on X, and we do it in a matrix way and we scale it dividing by t(t1_pls)*t1_pls which is an scalar.
Xt.t1_pls<-t(X_msc_centered[odd,]) %*% t1_pls
tt.t<-as.numeric(t(t1_pls)%*%t1_pls)
p1_pls<-Xt.t1_pls/tt.t
Now we can plot the reconstructed one with this code and the first loading we get from the "plsr" function of the pls package.
matplot(wavelengths,p1_pls,lty=1,pch=NULL,type="l",lwd=2,
col="red",xlab="Wavelengths",ylab="Loadings Int.",
ylim=c(-0.3,0.3))
par(new=TRUE)
matplot(wavelengths,Xodd_pls3_ld1,lty=2,pch=NULL,lwd=2,
type="l",col="blue",xlab="",ylab="",
ylim=c(-0.3,0.3))
and:
p1_pls==Xodd_pls3$loadings[,1]
we get TRUE for all the values.
No hay comentarios:
Publicar un comentario