LASSO는 단계적 회귀와 같은 문제로 고통 받습니까?


18

단계적 알고리즘 변수 선택 방법은 회귀 모델 ( β 및 SE, p- 값 , F 통계 등)의 모든 추정치에 다소 차이가있는 모형에 대해 선택하는 경향이 있으며 다음과 같이 실제 예측 변수를 배제 할 가능성이 높습니다. 합리적으로 성숙한 시뮬레이션 문헌에 따른 거짓 예측 자.

변수를 선택하는 데 LASSO가 동일한 특정 방식으로 어려움을 겪습니까?


3
나는 그렇게 생각합니다. Frank Harrell은 그에 대한 게시물을 가지고 있다고 생각합니다. 그의 저서 "회귀 모델링 전략"에 관련 자료가있을 수 있습니다.
Richard Hardy

2
@RichardHardy +1 FrankHarrell이 그 말을 듣고 의견을 말하거나 대답하면 기쁠 것입니다. :)
Alexis

5
이 문제를 다루는 새로운 연설이 있습니다. 결론 : 올가미는 "올바른"변수를 선택할 가능성이 낮습니다. 슬라이드는 fharrell.com/talk/stratos19에 있습니다
Frank Harrell

4
"맨 아래 줄 : 올가미는"올바른 "변수를 선택할 가능성이 낮습니다."희소성 통계 학습 ( web.stanford.edu/~hastie/StatLearnSparsity_files/… )에 동일한 주제에 대한 섹션이 있습니다.11.4.1 Variable-Selection Consistency for the Lasso
Adrian

2
"맨 아래 줄 : 올가미는 '올바른'변수를 선택할 가능성이 낮습니다"와 관련이 있습니다. statweb.stanford.edu/~candes/stats300c/Lectures/Lecture24.pdf 사례 연구 1 및 2
Adrian

답변:


3

LASSO 모델에 대한 우도, p- 값 등의 빈번한 표현의 확률 해석 및 단계적 회귀는 올바르지 않습니다 .

이러한 표현은 확률을 과대 평가합니다. 예를 들어, 일부 모수에 대한 95 % 신뢰 구간은 메소드가 해당 구간 내에 실제 모델 변수를 갖는 구간을 생성 할 확률이 95 %라고 가정합니다.

그러나 적합 모형은 일반적인 단일 가설의 결과가 아니며, 단계적 회귀 또는 LASSO 회귀 분석을 수행 할 때 체리 피킹 (많은 가능한 대체 모델 중에서 선택)입니다.


  1. 모델 매개 변수의 정확성을 평가하는 것은 의미가 없습니다 (특히 모델이 올바르지 않은 경우).

    (XTX)1

    X

    예 : 아래 그래프는 10 가우스 곡선의 선형 합인 일부 신호에 대한 장난감 모델의 결과를 표시합니다 (예 : 스펙트럼에 대한 신호가 선형 합으로 간주되는 화학에서의 분석과 유사 할 수 있음). 여러 구성 요소). 10 곡선의 신호에는 LASSO를 사용하여 100 개의 성분 (평균이 다른 가우스 곡선) 모형이 적합합니다. 신호가 잘 추정됩니다 (적색에 가까운 빨강 및 검정 곡선 비교). 그러나 실제 기본 계수는 잘 추정 되지 않으며 완전히 잘못 될 수 있습니다 (빨간색과 검은 색 막대가 같지 않은 점으로 비교). 마지막 10 개의 계수도 참조하십시오.

                  91     91     92     93     94     95     96     97     98     99     100
     true model   0      0      0      0      0      0      0      142.8  0      0      0
     fitted       0      0      0      0      0      0      129.7  6.9    0      0      0

    LASSO 모델은 매우 근사한 계수를 선택하지만 계수 자체의 관점에서 0이 아닌 계수가 0으로 추정되고 인접 계수가 0으로 추정되는 경우 큰 오류를 의미합니다 0이 아닙니다. 계수에 대한 신뢰 구간은 거의 의미가 없습니다.

    LASSO 피팅

    올가미 / glmnet 예

    단계별 피팅

    비교로서, 동일한 곡선에 아래 이미지로 이어지는 단계적 알고리즘을 적용 할 수 있습니다. (계수가 비슷하지만 일치하지 않는 유사한 문제가 있음)

    예 nnls

  2. 곡선의 정확도를 고려하더라도 (이전 점에서는 의미가 없음을 알 수있는) 매개 변수가 아니라 과적 합을 처리해야합니다. LASSO로 피팅 절차를 수행 할 때 훈련 데이터 (다른 매개 변수를 가진 모델에 적합)와 테스트 / 검증 데이터 (최상의 매개 변수 인 튜닝 / 찾기)를 사용하지만 세 번째 분리 세트 도 사용해야합니다 데이터의 성능을 찾기 위해 테스트 / 검증 데이터

    p- 값 또는 유사한 것이 작동하지 않습니다. 체리 선택 및 일반 선형 피팅 방법과 다른 (훨씬 더 큰 자유도) 튜닝 된 모델에서 작업하고 있기 때문입니다.


단계적 회귀와 같은 문제로 고통 받고 있습니까?

R2

단계적 회귀 대신 LASSO를 사용하는 주된 이유는 LASSO가 덜 욕심 많은 매개 변수 선택을 허용하고, 이는 멀티 콜리 나의 영향을 덜 받기 때문이라고 생각했습니다. (LASSO와 단계적 차이의 더 많은 차이점 : 모델의 교차 검증 예측 오류 측면에서 순방향 선택 / 후진 제거에 비해 LASSO의 우수성 )


예제 이미지의 코드

# settings
library(glmnet)
n <- 10^2        # number of regressors/vectors
m <- 2         # multiplier for number of datapoints
nel <- 10        # number of elements in the model
set.seed(1)   
sig <- 4
t <- seq(0,n,length.out=m*n)

# vectors
X <- sapply(1:n, FUN <- function(x) dnorm(t,x,sig))

# some random function with nel elements, with Poisson noise added
par <- sample(1:n,nel)
coef <- rep(0,n)
coef[par] <- rnorm(nel,10,5)^2
Y <- rpois(n*m,X %*% coef)

# LASSO cross validation
fit <- cv.glmnet(X,Y, lower.limits=0, intercept=FALSE, 
                 alpha=1, nfolds=5, lambda=exp(seq(-4,4,0.1)))
plot(fit$lambda, fit$cvm,log="xy")
plot(fit)
Yfit <- (X %*% coef(fit)[-1])

# non negative least squares 
# (uses a stepwise algorithm or should be equivalent to stepwise)
fit2<-nnls(X,Y)


# plotting
par(mgp=c(0.3,0.0,0), mar=c(2,4.1,0.2,2.1))
layout(matrix(1:2,2),heights=c(1,0.55))


plot(t,Y,pch=21,col=rgb(0,0,0,0.3),bg=rgb(0,0,0,0.3),cex=0.7,
     xaxt = "n", yaxt = "n", 
     ylab="", xlab = "",bty="n")      
#lines(t,Yfit,col=2,lwd=2)                        # fitted mean
lines(t,X %*% coef,lwd=2)                        # true mean
lines(t,X %*% coef(fit2), col=3,lwd=2)           # 2nd fit

  # add coefficients in the plot
for (i in 1:n) {
  if (coef[i] > 0) {
    lines(c(i,i),c(0,coef[i])*dnorm(0,0,sig))
    points(i,coef[i]*dnorm(0,0,sig), pch=21, col=1,bg="white",cex=1)
  }
  if (coef(fit)[i+1] > 0) {
#    lines(c(i,i),c(0,coef(fit)[i+1])*dnorm(0,0,sig),col=2)
#    points(i,coef(fit)[i+1]*dnorm(0,0,sig), pch=21, col=2,bg="white",cex=1)
  }
  if (coef(fit2)[i+1] > 0) {
    lines(c(i,i),c(0,coef(fit2)[i+1])*dnorm(0,0,sig),col=3)
    points(i,coef(fit2)[i+1]*dnorm(0,0,sig), pch=21, col=3,bg="white",cex=1)
  }

}

#Arrows(85,23,85-6,23+10,-0.2,col=1,cex=0.5,arr.length=0.1)
#Arrows(86.5,33,86.5-6,33+10,-0.2,col=2,cex=0.5,arr.length=0.1)
#text(85-6,23+10,"true coefficient", pos=2, cex=0.7,col=1)
#text(86.5-6,33+10, "fitted coefficient", pos=2, cex=0.7,col=2)

text(0,50, "signal versus position\n true mean (black), fitted with nnls (green)", cex=1,col=1,pos=4, font=2)



plot(-100,-100,pch=21,col=1,bg="white",cex=0.7,type="l",lwd=2,
     xaxt = "n", yaxt = "n", 
     ylab="", xlab = "",
     ylim=c(0,max(coef(fit)))*dnorm(0,0,sig),xlim=c(0,n),bty="n") 
#lines(t,X %*% coef,lwd=2,col=2)      

for (i in 1:n) {
  if (coef[i] > 0) {
    lines(t,X[,i]*coef[i],lty=1)
  }
  if (coef(fit)[i+1] > 0) {
#    lines(t,X[,i]*coef(fit)[i+1],col=2,lty=1)
  }
  if (coef(fit2)[i+1] > 0) {
    lines(t,X[,i]*coef(fit2)[i+1],col=3,lty=1)
  }

}

text(0,33, "illustration of seperate components/curves", cex=1,col=1,pos=4, font=2)

+1 Martjin Wterings에게 감사합니다. 그래프를 약간 증폭시킬 수 있습니까? 축에 무엇이 표시되고 어떤 색이 나타 납니까?
Alexis

실제로 그래프는 LASSO의 경우가 아닙니다. 그러나 모델이 여러 구성 요소의 합계 일 수있는 예입니다. 가우스 곡선 (평균이 약간 다른 곡선이 서로 관련이있는 경우)과 해당 구성 요소의 평균 이동이 계수의 큰 변화를 의미합니다. 그러나 곡선에는 그리 많지 않습니다.
Sextus Empiricus

1
막대는 참 모형과 적합 모형의 계수 값입니다. 이것이 내가이 원리가 일어나는 것을 기억하는 이미지입니다. 나는 좀 더 명확하게 보여줄 수있는 나 자신의 예를 만들 것이다.
Sextus Empiricus

0

이 문제를 다루는 새로운 연설이 있습니다. 결론 : 올가미는 "올바른"변수를 선택할 가능성이 낮습니다. 슬라이드는 http://fharrell.com/talk/stratos19에 있습니다.

– 프랭크 하렐

"맨 아래 줄 : 올가미는"올바른 "변수를 선택할 가능성이 낮습니다 . 희소성 통계 학습 ( https://web.stanford.edu/~hastie/StatLearnSparsity_files/SLS_corrected_1) 에 동일한 주제에 대한 섹션이 있습니다. 4.16.pdf ), 11.4.1 Variable-Selection Consistency for the Lasso

– 아드리안

"하단 선 : 올가미는 '올바른'변수를 선택할 가능성이 낮습니다"와 관련이 있습니다. https://statweb.stanford.edu/~candes/stats300c/Lectures/Lecture24.pdf 사례 연구 1 및 2를 참조 하십시오 .

– 아드리안


1
이 의견은이 질문에 대한 답변이기 때문에 커뮤니티 위키 답변으로 복사했습니다. 우리는 답변과 질문 사이에 극적인 격차가 있습니다. 문제의 적어도 일부는 의견에 일부 질문에 대한 답변이 있다는 것입니다. 질문에 답변 한 의견이 답변 인 경우 답변되지 않은 질문이 줄어 듭니다.
mkt-Reinstate Monica

1
이들은 의견이며 CV 표준에 의한 답변을 제공하지는 않습니다 (예 : 링크는 답변이 아님). 또한 : 질문에 대한 답변 속도에 대한 귀하의 불만으로 인해 커뮤니티 위키에 완벽하게 유효한 질문을하는 것에 대해서는 동의하지 않습니다.
Alexis

1
또한 : 나는 커뮤니티 위키와 커뮤니티 위키 답변에 대해 교육을 받았으며 거기에서 내 의견 불일치를 철회합니다 (여전히 이것이 답이라고 생각하지는 않지만 :).
알렉시스

1
@Alexis Fair 충분히-나는 그것이 회색 영역이라고 생각했지만 이것을 잘못 판단했을 수 있습니다.
mkt-Reinstate Monica

1
우리는 모두 배우고 있습니다. :)
Alexis
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.