선형 회귀 분석에서 실제 값 대신 독립 변수의 로그를 사용하는 것이 언제 적절한가요?


164

문제의 독립 변수에 대해 더 나은 행동 분포를 찾고 있습니까, 아니면 특이 치 또는 다른 것의 영향을 줄이려고합니까?


1
특이 치의 영향을 줄이는 방법 또는 일부 변수의 로그를 사용하는시기에 대해 묻고 있습니까?
Benjamin Bannier

23
OP가 "로그온 입력 변수를 사용하는 사람들에 대해 들었습니다. 왜 그렇게합니까?"라고 말합니다.
Shane

왜 로그 만? 이 질문이 mx + b와 관련된 잔차를 최소화하는 데 사용할 수있는 데이터 변환 기술에는 적용되지 않아야합니까?
AsymLabs

1
@AsymLabs-로그는 제품을 요약으로 변환하는 유일한 함수이므로 회귀가 특별 할 수 있습니다.
probabilityislogic

12
독자에게 경고 :이 질문은 IV 변환에 대한 질문이지만 일부 답변은 DV 변환에 대한 이유에 대한 것 같습니다. 그것들이 모두 IV를 변형시키는 이유라고 생각하는 데 오해하지 마십시오. 어떤 사람들은 그렇지 않을 수도 있습니다. 특히 IV의 분포는 일반적으로 관련성이 없습니다 (실제로 DV의 한계 분포도 아닙니다).
Glen_b

답변:


168

나는 항상 이것처럼 많은 훌륭한 응답을 가진 스레드로 뛰어 들기를 주저하지만 근본이나 역수와 같은 데이터를 "분할"하는 다른 변환에 대한 로그를 선호하는 이유는 거의 없습니다.

그것에 도달 하기 전에 기존 답변의 지혜를보다 일반적인 방식으로 요약 해 봅시다 . 다음 중 하나가 적용될 때 종속 변수의 일부 비선형 재 표현이 나타납니다.

  • 잔차 분포가 치우쳐 있습니다. 변환의 목적은 대략 대칭 적으로 분포 된 잔차를 얻는 것입니다 (물론 약 0).

  • 잔차의 확산은 종속 변수의 값 ( "이분산성")에 따라 체계적으로 변경됩니다. 변형의 목적은 체계적인 확산 변화를 없애고 대략적인 "균등성"을 달성하는 것입니다.

  • 관계를 선형화합니다.

  • 과학적 이론이 지적 할 때. 예를 들어, 화학은 종종 농도를 로그로 표현하는 것을 제안합니다 (활동 또는 심지어 잘 알려진 pH).

  • 좀 더 복잡한 통계 이론에 따르면 잔차는 부가 적으로 누적되지 않는 "임의의 오류"를 반영합니다.

  • 모델을 단순화합니다. 예를 들어, 때때로 로그는 "상호 작용"항의 수와 복잡성을 단순화 할 수 있습니다.

(이러한 표시는 서로 충돌 할 수 있으므로 이러한 경우 판단이 필요합니다.)

그렇다면 언제 다른 변환 대신 로그가 구체적으로 표시 됩니까?

  • 잔차는 "강하게"긍정적으로 치우친 분포를 갖습니다. John Tukey는 EDA에 관한 그의 저서에서 잔차의 순위 통계를 기반으로 변환 (Box-Cox 계열 또는 전력, 변환 내)을 추정하는 정량적 방법을 제공합니다. 대수를 취하면 잔차를 구할 수 있다면 아마도 재 발현의 올바른 형태 일 것입니다. 그렇지 않으면 다른 표현이 필요합니다.

  • 잔차의 SD가 적합치에 직접 비례하는 경우 (및 적합치의 일부 검정력에 비례하지 않음)

  • 관계가 지수에 가까울 때

  • 잔차가 곱셈 누적 오류를 반영한다고 생각되는 경우.

  • 설명 변수의 한계 변화가 종속 변수의 곱하기 (백분율) 변화로 해석되는 모델이 실제로 필요합니다.

마지막으로, 재 표현을 사용해야하는 몇 가지 이유 :

  • 특이 치를 특이 치처럼 보이게하지 마십시오. 특이 치는 데이터에 대해 포괄적이고 비교적 간단한 설명에 맞지 않는 데이텀입니다. 특이 치를 더 잘 보이게하기 위해 설명을 변경하는 것은 일반적으로 우선 순위의 잘못된 반전입니다. 먼저 과학적으로 유효하고 통계적으로 좋은 데이터 설명을 얻은 다음 특이 치를 탐색합니다. 가끔 특이 치가 나머지 데이터를 설명하는 방법을 결정하지 않도록하십시오!

  • 소프트웨어가 자동으로 수행했기 때문입니다. (충분했다!)

  • 모든 데이터가 긍정적이기 때문입니다. (양성은 종종 양의 왜도를 의미하지만 반드시 그럴 필요는 없습니다. 또한 다른 변환이 더 잘 작동 할 수 있습니다. 예를 들어, 근은 계산 된 데이터에 가장 적합합니다.)

  • "나쁜"데이터 (아마도 품질이 낮은 데이터)를 제대로 작동시키는 것 같습니다.

  • 데이터를 그릴 수 있습니다. . 변환은 데이터를 플롯 할 수 있도록 필요한 경우 (, 그것은 아마도 진정으로 변환하는 유일한 이유는, 가서 플로팅 경우 이미 언급 한 하나 또는 그 이상의 좋은 이유가 필요하고 그것을 -하지만 단지 음모 분석을 위해 데이터를 변환하지 않은 상태로 둡니다.)


1
지역 내 인구 밀도 또는 각 학군의 아동-교사 비율 또는 인구 1000 명당 살인 사건과 같은 변수는 어떻습니까? 나는 교수들이이 변수들을 기록하는 것을 보았다. 이유가 분명하지 않습니다. 예를 들어, 살인율은 이미 백분율이 아닌가? 로그는 비율의 백분율 변화입니까? 아동 교사 비율의 로그가 선호되는 이유는 무엇입니까? 실제 함수 형태에 대한 기본 이론이없는 경우 모든 연속 변수에 대해 로그 변환을 수행해야합니까?
user1690130

1
@JG 작은 비율은 분포가 치우친 경향이 있습니다. 대수와 근이 더 대칭적일 수 있습니다. 나는 백분율과 관련된 귀하의 질문을 이해하지 못합니다 : 아마도 당신은 백분율의 다른 용도를 혼동하고 있습니다 (하나는 전체의 비율로 무언가를 표현하고 다른 것은 상대적 변화를 표현하기 위해)? 나는 항상 로그가 적용된다고 주장하는 것을 썼다고 생각하지 않습니다. 그래서 나는 당신의 마지막 질문의 기초를 이해하지 못합니다.
whuber

2
"잔차가 곱셈 누적 오류를 반영한다고 생각 될 때" 이 문구를 해석하는 데 문제가 있습니다. 다른 문장이나 두 문장으로 이것을 조금 살릴 수 있습니까? 당신이 말하는 누적은 무엇입니까?
Hatshepsut

비율과 밀도에 대한 @ user1690130의 경우 일반적으로 노출에 대한 오프셋을 갖는 카운트에 대한 포아송 계열 분포로 적합해야합니다. 예를 들어 사람들의 수는 카운트이고 오프셋은 지역의 면적입니다. 자세한 설명은이 질문을 참조하십시오 -stats.stackexchange.com/questions/11182/…
Michael Barton

2
@Hatshepsut 곱하기 누적 오차의 간단한 예는 종속 변수로서의 부피와 각 선형 치수의 측정 오차입니다.
abalter

73

나는 항상 학생들에게 자연 로그를 취함으로써 변수를 변형시키는 세 가지 이유가 있다고 말합니다. 변수를 기록하는 이유는 종속 변수 또는 종속 변수 또는 독립 변수를 기록할지 여부를 결정합니다. 전체적으로 명확히하기 위해 자연 로그를 취하는 것에 대해 이야기하고 있습니다.

첫째, 다른 포스터에서 언급했듯이 모델 적합성을 개선합니다. 예를 들어, 잔차가 정규 분포를 따르지 않는 경우 비대칭 변수의 로그를 취하면 척도를 변경하고 변수를 "정상"분포로 만들어 적합도를 향상시킬 수 있습니다. 예를 들어, 수입은 0에서 잘리고 종종 부정적 경향을 보입니다. 변수에 음의 치우침이 있으면 먼저 로그를 취하기 전에 변수를 반전시킬 수 있습니다. 저는 여기서 연속 변수로 입력되는 리 커트 척도에 대해 생각하고 있습니다. 이것은 일반적으로 종속 변수에 적용되지만 때때로 독립 변수로 인한 잔차 (예 : 이분산성)에 문제가있는 경우가 있습니다.이 변수는 해당 변수의 로그를 취하여 수정할 수 있습니다. 예를 들어 강사 및 클래스 집합에 대한 강사 평가를 설명하는 모델을 실행할 때 변수 "클래스 크기"(즉, 강의 학생 수)가 이분법을 유발하는 특이 치가있었습니다. 작은 코호트보다 코호트. 이 예에서는 강력한 표준 오류를 계산하거나 가중 최소 제곱을 사용하면 해석이 더 쉬워 지지만 학생 변수를 기록하면 도움이됩니다.

β β

β

β

β100

β/100

그리고 마지막으로 그렇게하는 이론적 인 이유가있을 수 있습니다. 예를 들어, 우리가 추정하고자하는 일부 모델은 곱하기 때문에 비선형입니다. 대수를 취하면이 모델을 선형 회귀로 추정 할 수 있습니다. 이에 대한 좋은 예로는 경제학에서의 콥-두 글라스 생산 함수와 교육 분야의 민서 방정식이 있습니다. Cobb-Douglas 생산 기능은 입력이 출력으로 변환되는 방법을 설명합니다.

Y=ALαKβ

어디

Y

A

L

K

αβ

이 로그를 취하면 다음과 같이 OLS 선형 회귀를 사용하여 함수를 쉽게 추정 할 수 있습니다.

log(Y)=log(A)+αlog(L)+βlog(K)

5
"Log Y와 X-X의 1 단위 증가는 Y에서 β * 100 % 증가 / 감소를 초래할 것입니다": 이것은 β가 작을 때에 만 적용되며 exp (β) ≈ 1 + β
Ida

1
좋고 분명 감사합니다! 한 가지 질문은 Log Y 및 X 사례에서 인터셉트를 어떻게 해석합니까? 그리고 일반적으로 로그 변환 회귀를보고하는 방법에 대해 고민하고 있습니다 ...
Bakaburg

2
나는 Economics [ "당신은 ' Cobb-Douglas Production Function '"]]의 예를 포함하는 답변을 빠는 사람입니다 .... 한 가지, 그러나 : 두 번째 방정식의 절편 항을 log (A ) 를 사용하여 첫 번째 방정식과 일치시킵니다.
Steve S

100×(eβ1)

21

근본이나 역수와 같은 다른 변환에 대한 로그를 선호하지만 다른 변환과 비교하여 로그 변환으로 인한 회귀 계수 의 고유 한 해석 에 중점을 두는 이유에 대한 whuber의 우수한 점에 대한 자세한 내용은 다음을 참조하십시오.

올리버 엔 키네 로그 변환은 특별합니다. 의학 통계 1995; 14 (8) : 811-819. DOI : 10.1002 / sim.4780140810 . (의심스러운 합법성의 PDF는 http://rds.epi-ucsf.org/ticr/syllabus/courses/25/2009/04/21/Lecture/readings/log.pdf 에서 구할 수 있습니다 ).

사용자가 로그온하면 독립 변수 x를 기초로 B 에는 종속 변수의 변화와 회귀 계수 (및 CI) 해석 할 수있는 에 따라 B 에 -fold 증가 X를 . (따라서 기수 2에 대한 로그 는 x의 배가에 따라 y 의 변화에 ​​해당 하거나 x 가 여러 자릿수에 걸쳐 변하는 경우 기수 10에 로그하기 때문에 종종 유용합니다 . 제곱근과 같은 다른 변형에는 이러한 간단한 해석이 없습니다.

당신이 로그인하는 경우 종속 변수 y를 (이전 답변의 몇 가지가 해결하지 원래의 질문하지만 하나), 그때 (내가 한 번도 종이에서 그들을 사용) 결과를 표현하기위한 매력적인 'sympercents'의 팀 콜의 아이디어를 찾을 수 그들은 그 모든 것을 광범위하게 잡지 않은 것처럼 보이지만 :

팀 J 콜 Sympercents : 100 log (e) 스케일의 대칭 백분율 차이는 로그 변환 된 데이터 표시를 단순화합니다. 의학 통계 2000; 19 (22) : 3109-3125. DOI : 10.1002 / 1097-0258 (20001130) 19:22 <3109 :: AID-SIM558> 3.0.CO; 2-F [ Static MedSICI 를 DOI로 사용하여 중지 된 것을 기쁘게 생각합니다 ...]


1
참조와 아주 좋은 점에 감사드립니다. 중요한 문제는이 문제가 로그뿐만 아니라 모든 변환에 적용되는지 여부입니다. 통계 / 확률은 효과적인 성능 예측 또는 효과적인 기준 / 지침을 허용하므로 유용하지 않습니다. 수년에 걸쳐 우리는 잔차를 줄이고 신뢰 구간을 강화하며 일반적으로 주어진 데이터 세트에서 예측 능력을 향상시키기 위해 거듭 제곱 (다른 이름으로 로그), 다항식 변환 및 기타 (짝수 단위 변환)를 사용해 왔습니다. 우리는 지금 이것이 틀렸다고 말하는가?
AsymLabs

1
@AsymLabs, Breiman의 두 문화 (대략 예측 자와 모델러)는 얼마나 분리되어 있습니까? Cf. 두 가지 문화 -논쟁의 여지가 있습니다.
데니스

15

일반적으로 입력 변수의 로그를 사용하여 크기를 조정하고 분포를 변경합니다 (예 : 정규 분포로 만들기). 그러나 맹목적으로 할 수는 없습니다. 스케일링을 수행 할 때 결과가 여전히 해석 가능하도록주의해야합니다.

이것은 대부분의 입문 통계 텍스트에서 논의됩니다. 이에 대한 논의를 위해 Andrew Gelman의 논문을 "두 개의 표준 편차로 나누어 회귀 입력 스케일링" 에 관한 논문을 읽을 수도 있습니다 . 또한 "회귀 및 다중 레벨 / 계층 적 모델을 사용한 데이터 분석" 시작 부분에서 이에 대해 매우 잘 설명하고 있습니다.

로그를 가져 오는 것은 나쁜 데이터 / 이상 치를 처리하는 데 적합한 방법이 아닙니다.


12

잔차에 문제가있는 경우 데이터 로그를 취하는 경향이 있습니다. 예를 들어 특정 공변량에 대해 잔차를 플로팅하고 증가 / 감소 패턴 (퍼널 모양)을 관찰하면 변환이 적합 할 수 있습니다. 비 랜덤 잔차는 일반적으로 모형 가정이 잘못되었음을 나타냅니다 (예 : 비정규 데이터).

일부 데이터 유형은 자동으로 로그 변환에 적합합니다. 예를 들어, 나는 집중력이나 나이를 다룰 때 보통 통나무를 가져옵니다.

변환은 주로 특이 치를 처리하는 데 사용되지 않지만 로그를 작성하면 데이터가 손상되므로 도움이됩니다.


1
그러나 여전히 로그를 사용하면 모형이 변경됩니다. 선형 회귀의 경우 y ~ a * x + b이고 로그의 선형 회귀의 경우 y ~ y0 * exp (x / x0)입니다.

1
동의합니다-로그를 변경하여 모델을 변경하십시오. 그러나 데이터를 변환해야하는 경우 모델이 처음에는 적합하지 않다는 것을 의미합니다.
csgillespie

2
@cgillespie : 농도, 예; 하지만 나이? 이상하다.
whuber

@ whuber : 데이터에 매우 의존적이라고 가정하지만, 사용한 데이터 세트는 10 세에서 18 세 사이에는 큰 차이가 있지만 20 세에서 28 세 사이에는 약간의 차이가 있음을 알 수 있습니다. 어린 아이들에게도 0-1 세의 차이는 1-2의 차이와 동일하지 않습니다.
csgillespie

1
@landroni 간단히 말해요. 나는 "예를 들어"대신 "예"라고 의도 된 것 외에는 가난하다고 말하지 않을 것이다. 나는 "독립적이고 동일하게 분포 된"이라는 의미에서 "무작위"의 사용을 이해한다. OLS. 에서 일부 설정 사람들이 추가로이 공통 기본 분포가 정상 가정하지만 실제로 나 이론에 꼭 필요한 것은 : 모든이 필요합니다 관련 통계의 표본 분포는 정상에 가까운 것입니다.
whuber

10

XXX

XXX3rmsXx

require(rms)
dd <- datadist(mydata); options(datadist='dd')
cr <- function(x) x ^ (1/3)
f <- ols(y ~ rcs(cr(X), 5), data=mydata)
ggplot(Predict(f))  # plot spline of cr(X) against X

이것은 의 제한된 입방 스플라인에 맞습니다.X3X


E[Y|X]=f(X)

9

'12 년 10 월 26 일 첫 번째 답변에 대한 의견으로 남겨진 user1690130의 질문에 응답하고 싶습니다. "지역 내 인구 밀도 또는 각 학군의 아동-교사 비율 또는 교수가 이러한 변수의 로그를 가져 오는 것을 보았는데 왜 그런지 잘 모르겠습니다 예를 들어, 살인 률이 이미 백분율이 아닌가? 로그는 아동 교사 비율 로그가 선호되는 이유는 무엇입니까? "

나는 비슷한 문제에 답하고 싶었고 나의 오래된 통계 코스 북 ( Jeffrey Wooldridge. 2006. 기초 경제학-현대적인 접근법, 제 4 판. 6 장 다중 회귀 분석 : 추가 문제 191 )에 대해 이야기하고 싶다. Wooldridge는 다음과 같이 조언합니다.

실업률, 연금 계획 참여율, 표준화 된 시험에 합격 한 학생의 비율,보고 된 범죄에 대한 체포 율과 같이 비율 또는 백분율 형식으로 나타나는 변수 는 원래 또는 로그 형식으로 나타날 수 있습니다. , 레벨 형태를 사용하는 경향이 있지만 . 원래 변수와 관련된 회귀 계수 (종속 변수이든 독립 변수이든 상관없이)는 백분율 점 변경 해석을 갖기 때문입니다. 예를 들어, unem 이 실업자 비율 인 회귀에 log ( unem )을 사용하는 경우 백분율 점 변경과 백분율 변경을 구분하기 위해 매우주의해야합니다. 기억 경우 unem8에서 9로 넘어 가면 이는 1 % 포인트 증가한 것이지만 초기 실업 수준에서 12.5 % 증가한 것입니다. 로그를 사용한다는 것은 실업률의 변화율 (log (9)-log (8) = 0.118 또는 11.8 %)을보고 있음을 의미하며 이는 실제 12.5 % 증가에 대한 로그 근사치입니다.

이것과 user1690130의 질문에 대한 whuber의 이전 의견에 대한 piggybanking을 바탕으로, 로그 양식을 사용하여 밀도의 왜도를 줄일 수있는 것과 같은 주요 트레이드 오프를 생성하지 않는 한 밀도 또는 백분율 속도 변수의 로그를 사용하여 해석을 간단하게 유지하지 마십시오. 비율 변수.


종종 백분율 (즉, (0,1의 비율)의 경우 로짓 변환이 사용됩니다. 이는 비례 변환 데이터가 로그 변환이 수정되지 않는 방식으로 잔차의 정규성 가정을 위반하기 때문입니다.
colin

3

나쁜 데이터를 처리하기 위해 로그를 작성하는 것이 잘 수행된다는 Shane의 요점입니다. 정상적인 잔차의 중요성에 대한 콜린의 경우와 마찬가지로. 실제로 입력 및 출력 변수가 상대적으로 정상인 경우 일반적으로 정규 잔차를 얻을 수 있습니다. 실제로 이것은 변환 및 변환되지 않은 데이터 세트의 분포를 눈여겨보고 더 정상적이되었는지 및 / 또는 정규성 테스트 (예 : Shapiro-Wilk 또는 Kolmogorov-Smirnov 테스트)를 수행하고 결과가 더 정상적인 지 여부를 확인하는 것을 의미합니다. 해석과 전통도 중요합니다. 예를 들어,인지 심리학에서 반응 시간의 로그 변환이 종종 사용되지만, 적어도 로그 RT의 해석은 명확하지 않습니다. 더욱이,


2
답변은 투표에 따라 순서가 변경되므로 다른 답변을 참조하지 마십시오.
Vebjorn Ljosa

4
정규성 검정은 일반적으로 너무 심각합니다. 종종 대칭 적으로 분포 된 잔차를 얻기에 충분합니다. (실제로, 잔차는 부분적으로 내가 추정하는 추정의 산물로서 분포가 강하게 정점을 이루는 경향이 있으므로 데이터를 어떻게 다시 표현하든 상관없이 "상당히"비정규로 테스트됩니다.)
whuber

@ whuber : 동의합니다. 그렇기 때문에 "정상으로"지정했습니다. 목표는 검정의 p- 값에 근거한 수락 / 거부 결정이 아니라 변화에 대해 검정 통계량을 확인하는 것입니다.
russellpierce

항상 다른 답변을 적절하게 참조해야합니다!
abalter

@abalter? 나는 따르지 않는다.
russellpierce
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.