加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[转载]R 语言做主成分回归 案例

(2017-09-15 20:52:26)
标签:

转载

主成分回归主要是克服多重共线性
例子:
考察进口总额Y与3个自变量:国内总产值X1,存储量X2和总消费量X3之间的关系,现收集1949-1959年共11年的数据,试对此做分析。
R程序如下:
#### 用数据框的形式输入数据
conomy<-data.frame(
  x1=c(149.3, 161.2, 171.5, 175.5, 180.8, 190.7, 
       202.1, 212.4, 226.1, 231.9, 239.0),
  x2=c(4.2, 4.1, 3.1, 3.1, 1.1, 2.2, 2.1, 5.6, 5.0, 5.1, 0.7),
  x3=c(108.1, 114.8, 123.2, 126.9, 132.1, 137.7, 
       146.0, 154.1, 162.3, 164.3, 167.6),
  y=c(15.9, 16.4, 19.0, 19.1, 18.8, 20.4, 22.7, 
      26.5, 28.1, 27.6, 26.3)
)
#### 作线性回归
lm.sol<-lm(y~x1+x2+x3, data=conomy)
summary(lm.sol)
http://s16/mw690/8c422ebdzx6DeXNRlKv9f&690语言做主成分回归 案例" TITLE="[转载]R 语言做主成分回归 案例" />
x1的系数的显著性不通过
#### 作主成分分析
conomy.pr<-princomp(~x1+x2+x3, data=conomy, cor=T)
summary(conomy.pr, loadings=TRUE)
http://s9/mw690/8c422ebdzx6DeXTFlEse8&690语言做主成分回归 案例" TITLE="[转载]R 语言做主成分回归 案例" />
第三个特征根为0.01518.平方后接近于0,说明自变量之间存在多重共线性
#### 预测测样本主成分, 并作主成分分析
pre<-predict(conomy.pr)
conomy$z1<-pre[,1]
conomy$z2<-pre[,2]
lm.sol<-lm(y~z1+z2, data=conomy)
summary(lm.sol)
http://s6/mw690/8c422ebdzx6DeXYLCFD95&690语言做主成分回归 案例" TITLE="[转载]R 语言做主成分回归 案例" />

#### 作变换, 得到原坐标下的关系表达式
beta<-coef(lm.sol); A<-loadings(conomy.pr)
x.bar<-conomy.pr$center; x.sd<-conomy.pr$scale
coef<-(beta[2]*A[,1]+ beta[3]*A[,2])/x.sd
beta0 <- beta[1]- sum(x.bar * coef)
c(beta0, coef)
http://s5/mw690/8c422ebdzx6DeXZZ5Skc4&690语言做主成分回归 案例" TITLE="[转载]R 语言做主成分回归 案例" />

0

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有