1

cvSGL我在使用包中的函数练习稀疏组套索方法时发现了一些问题SGL

我的问题如下:

  1. 查看 的代码SGL:::center_scale,似乎没有考虑数据的样本大小。
SGL:::center_scale
#Output
function (X, standardize) {
    means <- apply(X, 2, mean)
    X <- t(t(X) - means)
    X.transform <- list(X.means = means)
    if (standardize == TRUE) {
        var <- apply(X, 2, function(x) (sqrt(sum(x^2))))
        X <- t(t(X)/var)
        X.transform$X.scale <- var
    }
    else {
        X.transform$X.scale <- 1
    }
    return(list(x = X, X.transform = X.transform))
}

因此,预测变量的样本标准偏差测量得稍大一些。

我的理解是否正确,这可能导致系数过大?

  1. 模型是否可以通过 SGL 包用截距项(或常数项)进行估计

SGL软件包似乎没有提供通过包含截距项进行估计的功能。

cvFit[["fit"]]中,我只能看到根据 的预测变量的 beta,lambda常数项除外。的值是变量cvFit[["fit"]][["intercept"]]的平均值。y

它可以通过添加1到预测变量的第一列来估计X,但在这种情况下,预计会导致预测变量的中心化和标准化问题。

此外,该SPG软件包似乎对所有预测变量都增加了惩罚。即使如上所述通过添加1到解释变量的第一列来执行估计,常数项也可以估计为。X0

4

0 回答 0