主成分回帰 Principal Component Regression (PCR)2

  • plsパッケージのpcr()関数の出力と前の記事の出力の対応を調べる
pcr.out<-pcr(Y~X)
# 出力の中身を確認する
str(pcr.out)
# 係数行列(主成分の数ごと)
#pcr.out$coefficients = pcr.out[[1]]
for(i in 1:maxa)print(Bs[[i]]-pcr.out$coefficients[,,i])
# スコア行列
# pcr.out$scores = pcr.out[[2]]
for(i in 1:maxa)print(Ts[[i]]-pcr.out$scores[,1:i])
# loading 行列
for(i in 1:maxa)print(Vs[[i]]-pcr.out$loadings[,1:i])
# Xの列平均
# pcr.out$Xmeans = pcr.out[[6]]
print(apply(X,2,mean)-pcr.out$Xmeans)
# Yの列平均
# pcr.out$Ymeans = pcr.out[[7]]
print(apply(Y,2,mean)-pcr.out$Ymeans)
# 説明成分での予測Y
# predYsXBはYの列平均で標準化してあるので、その分の差が出る
# pcr.out$fitted.values = pcr.out[[8]]
print(pcr.out$Ymeans)
for(i in 1:maxa)print(pcr.out$fitted.values[,,i]-predYsXB[[i]])