cvSGL
我在使用包中的函数练习稀疏组套索方法时发现了一些问题SGL
。
我的问题如下:
- 查看 的代码
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))
}
因此,预测变量的样本标准偏差测量得稍大一些。
我的理解是否正确,这可能导致系数过大?
- 模型是否可以通过 SGL 包用截距项(或常数项)进行估计
该SGL
软件包似乎没有提供通过包含截距项进行估计的功能。
在cvFit[["fit"]]
中,我只能看到根据 的预测变量的 beta,lambda
常数项除外。的值是变量cvFit[["fit"]][["intercept"]]
的平均值。y
它可以通过添加1
到预测变量的第一列来估计X
,但在这种情况下,预计会导致预测变量的中心化和标准化问题。
此外,该SPG
软件包似乎对所有预测变量都增加了惩罚。即使如上所述通过添加1
到解释变量的第一列来执行估计,常数项也可以估计为。X
0