全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
5831 13
2013-03-08
在用lars包时,想要求beta的系数,结果得到的是一个矩阵,想问下如何得到最优的系数?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-3-10 20:05:22
@楚韵荆风
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-3-10 20:06:07
这位前辈如何解决这个问题的???
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-3-10 20:53:29
请问您,当时,如何用CV准则确定的最优系数?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-3-10 21:58:25
子衿1219 发表于 2013-3-10 20:53
请问您,当时,如何用CV准则确定的最优系数?
用k-fold CV选取optimal lambda
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-3-11 10:17:03
楚韵荆风 发表于 2013-3-10 21:58
用k-fold CV选取optimal lambda
我具体做的时候遇到下面的问题。
library(lars)
X <- matrix(rnorm(1000*8),1000,8)
x1<-X[,1]
x2<-X[,2]
x3<-X[,3]
x4<-X[,4]
x5<-X[,5]
x6<-X[,6]
x7<-X[,7]
X8<-X[,8]
beta0 <- c(3,1.5,0,0,2,0,0,0)
epsilon <- rnorm(1000,sd=3)
y <- x1+exp(0.5*(x2+x5))+4*x6 + epsilon
y <- c(y)

library(lars)
f1<-lars(X, y, type = c("lasso"),intercept=F)
summary(f1)得到:
  Df   Rss      Cp
0  0 26875 1754.95
1  1 12264  259.21
2  2 11953  229.28
3  3 11280  162.35
4  4  9903   23.16
5  5  9775   12.04
6  6  9730    9.39
7  7  9679    6.14
8  8  9677    8.00
最小的Cp是6.14对应于第七步??
> f2<-cv.lars(X, y, K = 10,trace = FALSE, se = TRUE,mode="step",type = c("lasso"))
> f2
$index
[1] 1 2 3 4 5 6 7 8 9

$cv
[1] 26.09 11.14 10.74 10.54  8.80  8.79  8.78  8.77  8.79

$cv.error
[1] 1.413 0.677 0.653 0.590 0.440 0.433 0.427 0.434 0.426

$mode
[1] "step"

> min(f2$cv)
[1] 8.77
对应第八步吗?
往下如何做呢?
即使对应第七还是第八步,都跟得出的模型跟真值相比有差距呢。
不好意思我刚接触这方面东西。希望您可以详细点说明。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群