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

数据分析方法(二)回归分析——lasso回归R语言的实现

(2016-05-18 20:16:39)
    R包里提供了lasso回归的三种实现方法,一种是交叉验证方法,第二种是广义交叉验证方法,第三种是最小角回归方法。有以下数据:
cement <- data.frame(X1 = c(7, 1, 11, 11, 7, 11, 3, 1, 2, 21, 1, 11, 10), X2 = c(26, 
    29, 56, 31, 52, 55, 71, 31, 54, 47, 40, 66, 68), X3 = c(6, 15, 8, 8, 6, 
    9, 17, 22, 18, 4, 23, 9, 8), X4 = c(60, 52, 20, 47, 33, 22, 6, 44, 22, 26, 
    34, 12, 12), Y = c(78.5, 74.3, 104.3, 87.6, 95.9, 109.2, 102.7, 72.5, 93.1, 
    115.9, 83.8, 113.3, 109.4))
    先将数据转化成矩阵:
    x = as.matrix(cement[, 1:4])
     y = as.matrix(cement[, 5])
     library(lars)#加载包
     la<-lars(x,y,type="lar")
     plot(la)
LARS/LAR
Call: lars(x = x, y = y, type = "lar")
  Df     Rss       Cp
0  1 2715.76 442.9167
1  2 2219.35 361.9455
2  3 1917.55 313.5020
3  4   47.97   3.0184
4  5   47.86   5.0000
根据图可以得到变量选择优先级为x4,x1,x2,x3,再根据cp的值可以看到我们选择的变量为x4,x1,x2。

0

阅读 收藏 喜欢 打印举报/Report
  

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

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

新浪公司 版权所有