全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
5499 5
2013-02-28
其实还是一个老问题,希望各位帮忙看下。

其中以下的BX就是图片中的X,  M就是途中delta_n矩阵,lm1就是参数Lambda
里面涉及到的(ln), 都是已经包含在以下的参数里面了。

道理就是不同的ln算出一个bic的值,然后选取bic最小的ln.我找了半天都是在ln=0时最小,显然不对,所以,想让各位帮忙看下,这个bic的算法是否有问题。

先谢谢各位了。
    BX<-matrix(rep(0,dm^3),ncol=dm)

     for(i in 1:dm)
     {
      BX[,i]<-as.vector(Et1[,i]%*%t(Et1[,i]))
     }
     BY<-as.vector(M)
     BL<-diag(w/abs(lm1))
     BL[BL == Inf] <- 0
     BP<-BX%*%(solve(t(BX)%*%(BX)+dm^2*BL))%*%t(BX)
     Btr<-sum(diag(BP))
     BN<-BY-BX%*%lm1
     bic<-log((norm(BN,"F"))^2)+log(dm^2)/dm^2*Btr
未命名11.jpg
二维码

扫码加我 拉你入群

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

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

全部回复
2013-3-10 22:04:20
BIC=log(残差平方和)+参数的个数(即非零系数的个数)*log(样本量)/样本量
二维码

扫码加我 拉你入群

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

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

2013-3-11 09:41:59
谢谢楚韵荆风的回复。我遇到的问题还是没有解决。理论上是表示“参数的个数”去乘以后面的数。可是,在原始定义的时候就是e(ln),我按照这个写的,好像应该没有问题。现在的问题有可能出在用lqa这个包。lqa是用来做广义线性模型的。我产生数据的模型是非线性模型。这样可能导致出现问题。
二维码

扫码加我 拉你入群

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

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

2013-3-11 15:38:13
你的e(l_n)是有效参数的个数,即lasso估计中非零系数的个数,我觉得你附的这个公式有点奇怪,我从来没见到过,我建议你仔细看一下Wang, Li, Tsai (2007, Biometrika)的公式(4)准确的定义。
二维码

扫码加我 拉你入群

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

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

2013-3-11 15:43:04
楚韵荆风 发表于 2013-3-11 15:38
你的e(l_n)是有效参数的个数,即lasso估计中非零系数的个数,我觉得你附的这个公式有点奇怪,我从来没见到过 ...
感谢您的回复。你提到的那篇文章我看过。附上去的公式是对于BIC的一个变形。没有问题。还是非常感谢你。
二维码

扫码加我 拉你入群

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

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

2021-5-24 11:02:52
。楼主解决了吗,请问那个BIC准则对于广义线性模型,定义也是一样的吗
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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