#### 主成分分析
D=scale(DA[1:50])
R=cov(D)
eigen(R)$values
pr=princomp(D)
summary(pr, loadings=F)
# 预测样本主成分, 并作主成分分析
pre<-predict(pr)
DA$z1<-pre[,1]
DA$z2<-pre[,2]
DA$z3<-pre[,3]
lm.z<-lm(DA$Y~DA$z1+DA$z2+DA$z3)
summary(lm.z)
#### 作变换, 得到原坐标下的关系表达式
beta<-coef(lm.z); A<-loadings(pr)
x.bar<-colMeans(DA[,1:50]); x.sd<-sapply(DA[,1:50], sd)
coef<-(beta[2]*A[,1]+ beta[3]*A[,2]+ beta[4]*A[,3])/x.sd
beta0 <- beta[1]- sum(x.bar * coef)
c(beta0, coef)
#计算残差
x<-as.matrix(DA[,1:50])
coef=as.vector(coef)
y<-DA[,51]
r<- y-beta0-x%*%coef
Res<-t(r)
Time<-1:78
plot(Time,Res,type="l")
lines(c(-15,515),c(0,0))
Res%*%r