【问题标题】:Extract coefficients from penalized regression从惩罚回归中提取系数
【发布时间】:2014-12-16 16:38:09
【问题描述】:

我正在使用稀疏组套索,这是一种惩罚回归。我使用的包是 SGL。我尝试在我的 R 中运行示例,代码如下所示

set.seed(1)
n = 50; p = 100; size.groups = 10
index <- ceiling(1:p / size.groups)
X = matrix(rnorm(n * p), ncol = p, nrow = n)
beta = (-2:2)
y = X[,1:5] %*% beta + 0.1*rnorm(n)
data = list(x = X, y = y)
cvFit = cvSGL(data, index, type = "linear")

我试图提取cvFit的回归系数,结果是

coef(cvFit)
NULL

谁能告诉我有什么问题?提前致谢。

【问题讨论】:

  • 查看str(cfFit) 并确定系数的确切位置。
  • @Roman Luštrik 确定系数的确切位置是什么意思?
  • 不熟悉这个函数但是输入cvFit可以看到可以提取哪些值。即cvFit$fit$betacvFit$lambdas
  • cvFit$fit$beta 包含一个系数矩阵,正则化路径中的每个lambda 一列。
  • 发布str函数的输出,我会告诉你如何访问输出。

标签: r regression


【解决方案1】:

这会从具有最小 lambda 值的模型中提取系数。

coef(fit,s=cvfit$lambda.min)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-25
    • 2021-08-31
    • 2016-10-19
    • 2015-03-05
    • 2017-05-27
    • 1970-01-01
    • 1970-01-01
    • 2020-04-17
    相关资源
    最近更新 更多