Я выполняю регрессию лассо на большом наборе данных n = 1918, p = 85, и коэффициенты, которые регрессия определяет как важные - когда они фактически введены в линейную модель, - очень незначительны. И с другой стороны, Лассо считает очень существенные пояснительные «модельные» переменные как имеющие коэффициенты около 0 и не выбирающие их. Фрейм данных, поступающий в LARS, уже масштабируется. Любые идеи о том, почему это может произойти? Ниже приведен пример того, что может выбрать LARS, а также созданная мной модель с действительно хорошими пояснительными переменными, использующими точно такой же набор данных.
ОБНОВЛЕНИЕ: Я замечаю, что Лассо выбирает все мои температурные переменные и присваивает они относительно высокие коэффициенты (> 1), в то время как все остальные переменные находятся между 0 и 1. Не уверен, почему это происходит.
signif.coefs <- function(lasso, threshold=1){
coefs <- coef(lasso)
signif <- which(abs(coefs[nrow(coefs),]) > threshold)
return(setNames(coefs[nrow(coefs),signif], signif))
}
signif.coefs(lasso)
4 45
4.855257 -3.020055
lm(response ~ SP.MTMEAN + YEAR, data=df, na.action=na.pass) ###Terrible Lasso Chosen Model
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.16710 0.07190 -2.324 0.02022 *
SP.MTMEAN 0.09889 0.02313 4.275 2.01e-05 ***
YEAR 0.14097 0.04580 3.078 0.00211 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9903 on 1915 degrees of freedom
Multiple R-squared: 0.01678, Adjusted R-squared: 0.01576
F-statistic: 16.34 on 2 and 1915 DF, p-value: 9.167e-08
###variables chosen by me with model output from same data frame as above
lm(response~log1p.PTL_RESULT+log1p.NTL_RESULT+log1p.PH_RESULT+log1p.EPI.T+SU.MPPT, data=df, na.action=na.pass)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.01200 0.01972 0.608 0.54301
log1p.PTL_RESULT 0.20672 0.03104 6.660 3.58e-11 ***
log1p.NTL_RESULT 0.21219 0.03335 6.362 2.49e-10 ***
log1p.PH_RESULT 0.15543 0.02543 6.113 1.18e-09 ***
log1p.EPI.T 0.09869 0.02189 4.508 6.93e-06 ***
SU.MPPT -0.06002 0.02135 -2.811 0.00499 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.8596 on 1912 degrees of freedom
Multiple R-squared: 0.2603, Adjusted R-squared: 0.2583
F-statistic: 134.5 on 5 and 1912 DF, p-value: < 2.2e-16