내 예측 변수 중 일부의 척도는 매우 다릅니다. 선형 회귀 모형을 피팅하기 전에 변환해야합니까?


9

다차원 데이터 세트에 대해 선형 회귀를 실행하고 싶습니다. 차수의 크기 측면에서 다른 차원들 사이에는 차이가 있습니다. 예를 들어 차원 1의 값 범위는 일반적으로 [0, 1]이고 차원 2의 값 범위는 [0, 1000]입니다.

다른 차원의 데이터 범위가 동일한 척도에 있도록 변환을 수행해야합니까? 필요한 경우 이런 종류의 변형에 대한 지침이 있습니까?

답변:


15

이동 / 확장 변수는 반응과의 상관 관계에 영향을 미치지 않습니다

이것이 사실 인 이유를 보려면 와 의 상관 관계 가 라고 가정하십시오 . 그러면 와 의 상관 관계 는YXρY(Xa)/b

cov(Y,(Xa)/b)SD((Xa)/b)SD(Y)=cov(Y,X/b)SD(X/b)SD(Y)=1bcov(Y,X)1bSD(X)SD(Y)=ρ

이것은 상관 관계의 정의 와 세 가지 사실에 따른 것입니다.

  • cov(Y,X+a)=cov(Y,X)+cov(Y,a)=0=cov(Y,X)

  • cov(Y,aX)=acov(Y,X)

  • SD(aX)=aSD(X)

따라서 선형 적합 회귀 계수는 변수 간의 상관 관계와 관련되어 있으므로 모형 적합 (예 : 또는 적합 값) 측면에서 변수를 이동하거나 크기를 조정 (예 : 동일한 척도로 설정)하면 모형이 변경되지 않습니다R2 . 회귀 계수의 척도변경하므로 예측 변수를 변환하기로 선택한 경우 출력을 해석 할 때 명심해야합니다.

편집 : 위의를 사용하여 일반 회귀에 대해 얘기하고 있다고 가정하고있다 절편. 이것과 관련된 몇 가지 점이 더 있습니다 (@ cardinal 덕분에).

  • 변수를 변환 할 때 절편이 변경 될 수 있으며 주석에서 @cardinal이 지적했듯이 모형에서 절편을 생략하면 변수를 이동할 때 계수가 변경됩니다. 정당한 이유가 있습니다 (예 : 이 답변 참조 ).

  • 어떤 방식으로 계수를 정규화하는 경우 (예 : 올가미, 능선 회귀) 중심 맞춤 / 확장이 적합에 영향을줍니다. 예를 들어, (능선 회귀 페널티)에 벌을 부과하는 경우 모든 변수가 처음에 같은 척도에 있지 않으면 표준화 후 동등한 적합을 복구 할 수 없습니다. 동일한 페널티를 회복 할 상수 배수는 없습니다.βi2

연구원이 예측 인을 변형시키고 싶을 때 / 이유에 관하여

일반적인 상황 (@Paul의 후속 답변에서 논의 됨)은 모든 계수가 동일한 척도에 있도록 연구원이 예측 변수 를 표준화 한다는 것입니다. 이 경우, 점 추정치의 크기는 예측 변수의 숫자 크기가 표준화되면 예측 변수가 가장 큰 효과에 대한 대략적인 아이디어를 제공 할 수 있습니다.

연구원이 매우 큰 변수를 스케일링하려는 또 다른 이유는 회귀 계수가 매우 작은 스케일이 아니기 때문입니다. 예를 들어 범죄율에 대한 국가 인구 규모의 영향을 살펴 보려면 (더 나은 예는 생각할 수 없음) 계수가 있기 때문에 원래 단위가 아닌 수백만 단위로 인구 규모를 측정 할 수 있습니다. 과 같은 것일 수 있습니다 ..00000001


두 가지 빠른 설명 : 게시물의 시작 부분은 정확하지만 가로 채기가없는 경우 센터링 에 영향을 미친다 사실을 놓 칩니다. :) 둘째, 정규화를 사용하는 경우 센터링 및 크기 조정이 중요한 영향을 미칩니다. OP는 이것을 고려하지 않을 수도 있지만, 여전히 명심해야 할 유용한 포인트 일 것입니다.
추기경

스케일링에 대한 불변성 은 매트릭스 표기법에 익숙하다면 쉽게 볼 수 있습니다. 함께 (간략화를 위해) 풀 랭크 . 이제 를 로 는 대각선입니다.Xy^=X(XX)1XyXXDD
y~=(XD)((XD)XD)1(XD)y=XD(DXXD)1DXy=X(XX)1Xy=y^.
추기경

@ cardinal, 나는 당신의 추정이 정규화되면 중심 / 스케일링이 영향을 줄 수 있다는 사실을 언급하기로 결정했습니다. 나는 규칙 화에 익숙하지 않은 사람들을 혼란스럽게 할 수있는 긴 왜곡을 시작할 것이라고 생각했기 때문에 처음에는 저항했지만 상대적으로 적은 공간으로 해결할 수 있다는 것을 알았습니다. 감사합니다
Macro

모든 의견이 반드시 답변을 업데이트하도록 제안하는 것은 아닙니다. 여러 번 나는 좋은 답변 아래 부수적 인 발언에 빠져 들어가는 사람에게 흥미가있을 수있는 관련 아이디어에 대해 몇 가지 생각을합니다. (+1)
추기경

투표 계산에 이상한 일이 벌어지고 있습니다. 다시 한 번, 나는 이전의 의견을 말할 때 이것을 올렸다. 흠.
추기경

2

소위 "정규화"는 대부분의 회귀 분석법에 대한 일반적인 루틴입니다. 두 가지 방법이 있습니다.

  1. 각 변수를 [-1, 1] 범위 (매트랩의 mapminmax)에 매핑하십시오.
  2. 각 변수에서 평균을 제거하고 표준 개발 (MatLab에서 mapstd), 즉 실제로 "정규화"로 나눕니다. 실제 평균 편차를 알 수없는 경우 샘플 특성을 취하십시오.
    X~ij=Xijμiσi
    또는
    X~ij=XijXi¯std(Xi)
    어디 E[Xi]=μ, , 및E[Xi2E[Xi]2]=σ2Xi¯=1Nj=1NXijstd(Xi)=1Nj=1N(Xij2Xi¯2)

선형 회귀는 변수 범위에 매우 민감 하므로 의존성에 대한 사전 지식이없고 모든 변수가 상대적으로 중요 할 것으로 예상되는 경우 일반적으로 모든 변수 를 정규화 하는 것이 좋습니다 .

반응 변수는 그다지 중요하지 않지만 반응 변수도 마찬가지입니다.

정규화 또는 표준화를 수행하는 이유는 무엇입니까? 대부분 모델에서 다른 변수의 상대적인 영향을 결정하기 위해 모든 변수가 동일한 단위에있는 경우 달성 할 수 있습니다.

도움이 되었기를 바랍니다!


선형 회귀가 변수 범위에 매우 민감 하다고 말할 때 무엇을 의미 합니까? 어떤을 위해 x1,x2,y이 두 명령 : summary(lm(y~x1+x2))$r.sqsummary(lm(y~scale(x1)+scale(x2)))$r.sq-아르 자형2계수를 표준화하지 않았을 때의 값과 동일한 값을 제공하면 동등한 적합을 나타냅니다.
매크로

나는 공식적으로 완벽하지 않았다. 나는 바보를 의미했다. 회귀는 항상 동일합니다 (아르 자형2) 데이터의 선형 변환 만 수행하는 경우 그러나 어떤 변수가 중요하고 어느 것이 시끄러운 지 결정하려면 규모가 중요합니다. 변수를 표준화하고 원래 척도를 잊어 버리는 것이 편리합니다. 따라서 회귀는 상대적인 영향을 이해하는 관점에서 "감각적"입니다.
Paul

명확히 해 주셔서 감사하지만 어떤 변수가 중요하고 거의 소음이 큰지에 대한 척도 문제 는 종종-value. 표준화 할 때도 변경되지 않습니다 (물론 인터셉트 제외). 나는 그것이 원시 계수 추정치에 대한 더 나은 해석을 제공한다는 점에 동의합니다.
매크로
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.