楼主: piaoyi_qiezi
1343 0

[问答] Lasso回归是不是不能用极大似然估计? [推广有奖]

  • 8关注
  • 6粉丝

讲师

95%

还不是VIP/贵宾

-

威望
0
论坛币
6225 个
通用积分
165.7206
学术水平
11 点
热心指数
10 点
信用等级
5 点
经验
7548 点
帖子
182
精华
0
在线时间
1084 小时
注册时间
2011-1-25
最后登录
2024-9-18

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
Lasso回归是不是只能用OLS估计,不能用极大似然估计,为什么我用极大似然估计的结果和真实偏差那么大,而用OLS估计却很相近。希望大家帮我找出问题
代码如下:
library(lars)
set.seed(123)
suijishu=runif(1000,-3,2)
zhu=matrix(suijishu,100,10)
x0=zhu[,1:4]
x=zhu[,1:10]
beta0=matrix(c(1,3,3,4),4,1) #真实估计参数
y=x0%*%beta0
laa=lars(x,y)
cva <- cv.lars(x,y,K = 10, plot.it = TRUE) #10折交叉验证,并绘制cv的变化图lot(laa)
best <- cva$index[which.min(cva$cv)]
coef <- coef.lars(laa, mode = "fraction", s = best) #使得CV最小时的系数
coef[coef != 0] #通过CV选择的变量
n=length(y)

#极大似然估计如下
n=length(y)
L1=function(beta) #自编Lasso
{e=y-x%*%beta[1:10]
s=-.5*n*log(2*pi)-.5*n*log(beta[11])-(t(e)%*%e)/(2*beta[11])+best*sum(abs(beta[1:10]))
return(-s)}
LL1=nlm(L1,c(rep(1,11)))
LL1

二维码

扫码加我 拉你入群

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

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

关键词:极大似然估计 LASSO 似然估计 极大似然 不能用 library matrix

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-9-19 16:23