Стандартизация и включение перехвата в редких лассо GLM - PullRequest
1 голос
/ 16 октября 2019

Я обнаружил некоторые проблемы при применении метода лассо с разреженной группой с использованием функции 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))
}

Следовательно, стандартное отклонение выборки прогнозируемой переменной измеряется несколько больше.

Правильно ли мое понимание того, что это может привести к чрезмерно большим коэффициентам?

может ли модель оцениваться пакетом SGL с термином перехвата (или постоянным термином)

Пакет SGL, по-видимому, не обеспечивает функцию оценки путем включения термина перехвата.

В cvFit[["fit"]] я могу видеть только бета прогнозируемых переменных в соответствии с lambda, за исключением постоянного члена. Значение cvFit[["fit"]][["intercept"]] является средним значением переменной y.

Его можно оценить, добавив 1 к первому столбцу прогнозируемой переменной X, но в этом случае ожидается возникновение проблем при центрировании и стандартизации прогнозируемых переменных.

ВКроме того, пакет SPG добавляет штраф ко всем прогнозируемым переменным. Даже если оценка выполняется путем добавления 1 к первому столбцу пояснительной переменной X, как описано выше, постоянный член можно оценить как 0.

...