올가미 회귀 소개


일반적인 다중 선형 회귀 에서는 p개의 예측 변수 세트와 응답 변수를 사용하여 다음 형식의 모델에 적합합니다.

Y = β 0 + β 1 X 1 + β 2 X 2 + … + β p

금:

  • Y : 반응변수
  • X j : j 번째 예측변수
  • β j : 다른 모든 예측 변수를 고정한 상태에서 X j 의 1단위 증가가 Y에 미치는 평균 효과
  • ε : 오차항

β 0 , β 1 , B 2 , …, β p 값은 RSS(잔차 제곱합)를 최소화하는 최소 제곱법을 사용하여 선택됩니다.

RSS = Σ(y i – ŷ i ) 2

금:

  • Σ : 합계를 의미하는 그리스 기호
  • y i : i번째 관측값에 대한 실제 응답 값
  • ŷ i : 다중선형회귀모델을 기반으로 예측된 반응값

그러나 예측변수의 상관관계가 높으면 다중공선성이 문제가 될 수 있습니다. 이로 인해 모델 계수 추정이 신뢰할 수 없게 되고 높은 분산이 나타날 수 있습니다. 즉, 이전에 본 적이 없는 새로운 데이터 세트에 모델을 적용하면 성능이 저하될 가능성이 높습니다.

이 문제를 해결하는 한 가지 방법은 올가미 회귀(lasso regression) 라는 방법을 사용하는 것입니다. 이 방법은 대신 다음을 최소화하려고 합니다.

RSS + λΣ|β j |

여기서 j는 1에서 p 로 가고 λ ≥ 0입니다.

방정식의 두 번째 항은 인출 페널티 로 알려져 있습니다.

λ = 0인 경우 이 페널티 항은 효과가 없으며 올가미 회귀는 최소 제곱과 동일한 계수 추정치를 생성합니다.

그러나 λ가 무한대에 접근하면 제거 페널티의 영향력이 더욱 커지며 모델에 가져올 수 없는 예측 변수는 0으로 줄어들고 일부는 모델에서 제거되기도 합니다.

올가미 회귀를 사용하는 이유는 무엇입니까?

최소 제곱 회귀에 비해 올가미 회귀의 장점은 편향-분산 트레이드오프 입니다.

MSE(평균 제곱 오차)는 특정 모델의 정확도를 측정하는 데 사용할 수 있는 측정항목이며 다음과 같이 계산됩니다.

MSE = Var( f̂( x 0 )) + [바이어스( f̂( x 0 ))] 2 + Var(ε)

MSE = 분산 + 편향 2 + 비가역 오류

올가미 회귀의 기본 아이디어는 작은 편향을 도입하여 분산을 크게 줄여 전체 MSE를 낮추는 것입니다.

이를 설명하기 위해 다음 그래프를 고려하십시오.

능형 회귀 편향-분산 트레이드오프

λ가 증가하면 편향이 아주 조금만 증가해도 분산이 크게 감소합니다. 그러나 특정 지점을 넘어서면 분산이 덜 빠르게 감소하고 계수가 감소하면 계수가 크게 과소평가되어 편향이 급격히 증가합니다.

그래프에서 편향과 분산 사이의 최적의 균형을 생성하는 λ 값을 선택할 때 테스트의 MSE가 가장 낮다는 것을 알 수 있습니다.

λ = 0인 경우 올가미 회귀 분석의 페널티 항은 효과가 없으므로 최소 제곱과 동일한 계수 추정값을 생성합니다. 그러나 λ를 특정 지점까지 증가시키면 테스트의 전체 MSE를 줄일 수 있습니다.

올가미 회귀 편향-분산 트레이드오프

이는 올가미 회귀에 의한 모델 피팅이 최소 제곱 회귀에 의한 모델 피팅보다 테스트 오류가 더 작다는 것을 의미합니다.

Lasso 회귀와 Ridge 회귀

Lasso 회귀와 Ridge 회귀는 둘 다 RSS(잔차 제곱합)와 특정 페널티 항을 최소화하려고 시도하기 때문에 정규화 방법 으로 알려져 있습니다.

즉, 모델 계수의 추정치를 제한하거나 정규화합니다 .

그러나 그들이 사용하는 페널티 용어는 약간 다릅니다.

  • 올가미 회귀는 RSS + λΣ|β j |
  • Ridge 회귀는 RSS + λΣβ j 2 최소화하려고 시도합니다.

능선 회귀를 사용하면 각 예측 변수의 계수가 0으로 줄어들지만 어느 것도 완전히 0이 될 수는 없습니다.

반대로 올가미 회귀를 사용하면 λ가 충분히 커지면 일부 계수가 완전히 0이 될 수 있습니다.

기술적인 측면에서 올가미 회귀는 “희소” 모델, 즉 예측 변수의 하위 집합만 포함하는 모델을 생성할 수 있습니다.

이것은 질문을 던집니다: 능선 회귀 또는 올가미 회귀가 더 낫습니까?

답변: 상황에 따라 다릅니다!

소수의 예측 변수만 유의미한 경우 올가미 회귀는 중요하지 않은 변수를 0으로 완전히 줄이고 모델에서 제거할 수 있기 때문에 더 잘 작동하는 경향이 있습니다.

그러나 많은 예측 변수가 모델에서 중요하고 해당 계수가 대략 동일한 경우 능선 회귀는 모델의 모든 예측 변수를 유지하므로 더 잘 작동하는 경향이 있습니다.

예측에 가장 효과적인 모델을 결정하기 위해 k-겹 교차 검증을 수행합니다. 가장 낮은 평균 제곱 오차(MSE)를 생성하는 모델이 사용하기에 가장 좋은 모델입니다.

실제로 올가미 회귀를 수행하는 단계

올가미 회귀를 수행하려면 다음 단계를 사용할 수 있습니다.

1단계: 예측변수에 대한 상관행렬과 VIF 값을 계산합니다.

먼저, 상관행렬을 생성하고 각 예측변수에 대한 VIF(분산팽창계수) 값을 계산해야 합니다.

예측 변수와 높은 VIF 값(일부 텍스트에서는 “높은” VIF 값을 5로 정의하고 다른 텍스트에서는 10을 사용함) 사이에 강한 상관 관계가 있음을 발견하면 올가미 회귀가 적절할 것입니다.

그러나 데이터에 다중 공선성이 없으면 애초에 올가미 회귀를 수행할 필요가 없을 수도 있습니다. 대신 일반 최소 제곱 회귀를 수행할 수 있습니다.

2단계: 올가미 회귀 모델을 피팅하고 λ 값을 선택합니다.

올가미 회귀가 적절하다고 판단되면 λ에 대한 최적 값을 사용하여 모델을 적합할 수 있습니다(R 또는 Python과 같은 널리 사용되는 프로그래밍 언어 사용).

λ에 대한 최적의 값을 결정하기 위해 λ에 대해 서로 다른 값을 사용하여 여러 모델을 적합하고 가장 낮은 MSE 테스트를 생성하는 값으로 λ를 선택할 수 있습니다.

3단계: 올가미 회귀를 능선 회귀 및 보통 최소 제곱 회귀와 비교합니다.

마지막으로 올가미 회귀 모델을 능선 회귀 모델 및 최소 제곱 회귀 모델과 비교하여 k-겹 교차 검증을 사용하여 어떤 모델이 가장 낮은 MSE 테스트를 생성하는지 결정할 수 있습니다.

예측 변수와 반응 변수 사이의 관계에 따라 이 세 가지 모델 중 하나가 다양한 시나리오에서 다른 모델보다 성능이 뛰어날 가능성이 있습니다.

R & Python의 올가미 회귀

다음 튜토리얼에서는 R 및 Python에서 올가미 회귀를 수행하는 방법을 설명합니다.

R의 올가미 회귀(단계별)
Python의 올가미 회귀(단계별)

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다