선형 회귀 모형에서 절편을 제거해도되는 시점은 언제입니까?


118

선형 회귀 모델을 실행하고 절편 항을 제거하기위한 조건이 무엇인지 궁금합니다.

하나는 절편이 있고 다른 하나는 절편이없는 두 개의 서로 다른 회귀 분석 결과를 비교할 때 절편이없는 함수 의 가 훨씬 높다는 것을 알 수 있습니다. 절편 항의 제거가 유효한지 확인하기 위해 따라야하는 특정 조건이나 가정이 있습니까?R2


1
@chi 내 질문을 편집 해 주셔서 감사합니다. 향후 질문에서 명확히하거나 다시 말해야 할 사항이 있습니까?
analyticsPierce

3
귀하의 질문은 잘 설명되어 있습니다. @chl은 일부 형식을 친절하게 개선했습니다. 그것은 관련된 TeXifying을 "R ^ 2"(그것이가되었습니다 R ^ 2 로 렌더링 ). $ R 2$$R2
whuber

1
모델에서 절편은 무엇을 의미합니까? 질문의 정보에서 sqft = 0 및 lotsize = 0 및 baths = 0 일 때 예상되는 응답 값인 것 같습니다. 실제로 일어날까요?
timbp

1
y = a + b1 x1 + b2 x2 + b3x3 대신에 a를 생략 할 수 있습니까?
트래비스

3
NB :이 의견들과 답변들 중 일부는 본질적으로 동일한 질문 (주택 가격 회귀와 관련하여 틀어짐)을 다루고 있으며,이 질문과 중복되는 질문입니다.
whuber

답변:


87

짧은 대답은 결코 , 당신이하지 않는 한 반드시 이론적 또는 기타 이유에 의해 중 하나는 데이터 생성 과정 (선형 회귀 모델)의 당신의 선형 근사는 것을 원점을 이동 강제로 . 인터셉트가 통계적으로 중요하지 않은 경우에도 다른 회귀 매개 변수가 바이어스되지 않습니다 (이상하지만, 그렇지 않은 경우, Brooks Introductory Econometrics 를 참조하십시오 ). 마지막으로, 학생들에게 자주 설명 하듯이 절편 항을 남겨두면 잔차 항이 제로 평균임을 보증합니다.

두 가지 모델의 경우 더 많은 컨텍스트가 필요합니다. 여기서 선형 모델이 적합하지 않을 수 있습니다. 예를 들어, 모델이 곱하면 변환을 먼저 기록해야합니다. 프로세스가 기하 급수적으로 증가함에 따라 절편이없는 모델의 가 "훨씬"더 높은 경우가 종종 있습니다 .R2

데이터를 스크리닝하고 RESET 테스트 또는 다른 선형 사양 테스트로 모델을 테스트하면 내 추측이 맞는지 확인하는 데 도움이 될 수 있습니다. 그리고 가장 높은 모델을 구축하는 것은 제가 정말로 염려하는 마지막 통계적 속성 중 하나입니다. 그러나 계량 경제학에 익숙하지 않은 사람들에게 제시하는 것이 좋습니다 1 :)).R2


3
"never"의 경우 -1, Joshuas의 답변 예 1 참조
Curious

4
@Curious, "never"는 아래의 "unless"예제로 작성되었으며 인터셉트를 제거하는 것이 합법적 일 때 예외를 보여줍니다. 데이터 생성 과정이나 이론을 모르거나 표준화 또는 다른 특수 모델을 통해 원점을 강요받지 않는 경우 보관하십시오. 가로 채기를 유지하는 것은 휴지통을 사용하여 선형 근사 및 기타 단순화로 인한 모든 왜곡을 수집하는 것과 같습니다. 추신 : 실제로 응답은 가장 짧게 읽는다는 것을 보여줍니다 :) 확장 된 예제에 대해 Joshua (+1)에게 감사드립니다.
Dmitrij Celov

3
여호수아 예제 1의 요점을 놓쳤으며 여전히 그것을 완전히 무시하는 것 같습니다. 범주 형 공변량이있는 모형에서 절편을 제거하면 매개 변수가 다른 동일한 모형이 생성됩니다. 절편을 제거 할 수있는 합법적 인 경우입니다.
Curious

2
@ 호기심, Joshua 예 1에서는 이전에 기준선으로 고려한 범주 형 변수 수준에 대해 새 더미 변수를 추가해야합니다.이 새 더미 변수는 절편 값을 사용하므로 절편을 제거하지 않습니다. 이름을 바꾸고 범주 형 공변량의 나머지 매개 변수를 다시 매개 변수화하면됩니다. 따라서 Dmitrij의 주장은 유효합니다.
Rufo

59

절편을 제거하는 것은 다른 모델이지만 합법적 인 예가 많이 있습니다. 지금까지 답변은 실제 절편이 0 인 예에 대해 이미 자세히 논의했습니다. 비정형 모델 매개 변수화에 관심이있는 몇 가지 예에 중점을 둘 것입니다.

예 1 : 분산 분석 스타일 모델. 범주 형 변수의 경우 일반적으로 그룹 구성원을 인코딩하는 이진 벡터를 만듭니다. 표준 회귀 모델은 절편 + k-1 더미 벡터로 매개 변수화됩니다. 인터셉트는 "참조"그룹에 대한 예상 값 또는 생략 된 벡터를 코딩하고 나머지 벡터는 각 그룹과 참조의 차이를 테스트합니다. 그러나 경우에 따라 각 그룹의 예상 값을 갖는 것이 유용 할 수 있습니다.

dat <- mtcars
dat$vs <- factor(dat$vs)

## intercept model: vs coefficient becomes difference
lm(mpg ~ vs + hp, data = dat)

Coefficients:
(Intercept)          vs1           hp  
   26.96300      2.57622     -0.05453  

## no intercept: two vs coefficients, conditional expectations for both groups
lm(mpg ~ 0 + vs + hp, data = dat)

Coefficients:
     vs0       vs1        hp  
26.96300  29.53922  -0.05453  

예 2 : 표준화 된 데이터의 경우 경우에 따라 표준화 된 데이터로 작업 할 수도 있습니다. 이 경우 인터셉트는 의도적으로 0입니다. 고전적인 예는 데이터의 공분산 행렬에서 작동하는 구식 구조 방정식 모델 또는 요인이라고 생각합니다. 아래의 경우에, 추가 자유도 (평균이 추정 되었기 때문에 어쨌든 잃어 버렸을 것임)를 떨어 뜨리는 것만으로도 요격을 추정하는 것이 좋습니다. 구성, 수단은 0 일 수있다 (예를 들어, 참가자가 등급을 할당하지만 동일한 긍정 및 부정을 제공하도록 제한되는 특정 실험).

dat <- as.data.frame(scale(mtcars))

## intercept is 0 by design
lm(mpg ~ hp + wt, data = dat)

Coefficients:
(Intercept)           hp           wt  
  3.813e-17   -3.615e-01   -6.296e-01  

## leaving the intercept out    
lm(mpg ~ 0 + hp + wt, data = dat)

Coefficients:
     hp       wt  
-0.3615  -0.6296  

예 3 : 다변량 모델 및 숨겨진 절편. 이 예제는 여러면에서 첫 번째와 유사합니다. 이 경우 두 개의 서로 다른 변수가 하나의 긴 벡터에 있도록 데이터가 누적되었습니다. 두 번째 변수는 반응 벡터가 y에 속하는지 mpg또는에 속하는 지에 대한 정보를 인코딩합니다 disp. 이 경우 각 결과에 대해 별도의 인터셉트를 얻으려면 전체 인터셉트를 억제하고 측정을 위해 두 더미 벡터를 모두 포함하십시오. 이것은 일종의 다변량 분석입니다. 일반적으로 다음을 사용하지 않습니다.lm()측정을 반복하고 비 독점을 허용해야하기 때문입니다. 그러나 이것이 필요한 흥미로운 경우가 있습니다. 예를 들어 랜덤 효과로 중재 분석을 수행 할 때 전체 분산 공분산 행렬을 얻으려면 데이터를 누적하고 더미 벡터를 영리하게 사용하여 동시에 계산할 수있는 두 모델이 동시에 필요합니다.

## stack data for multivariate analysis
dat <- reshape(mtcars, varying = c(1, 3), v.names = "y",
  timevar = "measure", times = c("mpg", "disp"), direction = "long")
dat$measure <- factor(dat$measure)

## two regressions with intercepts only
lm(cbind(mpg, disp) ~ 1, data = mtcars)

Coefficients:
             mpg     disp  
(Intercept)   20.09  230.72

## using the stacked data, measure is difference between outcome means
lm(y ~ measure, data = dat)

Coefficients:
(Intercept)   measurempg  
      230.7       -210.6  

## separate 'intercept' for each outcome
lm(y ~ 0 + measure, data = dat)

Coefficients:
measuredisp   measurempg  
     230.72        20.09  

요격은 일반적으로 제거되어야한다고 주장하지는 않지만 융통성이있는 것이 좋습니다.


7
+1. 나는 사람들이 단호하게 '절대'라고 말하지는 않았지만 항상 다른 관점을 갖는 것이 좋으며 이것은 매우 명확하고 신중한 반응입니다. CV에 오신 것을 환영합니다. 커뮤니티의 일원으로 참여하게되어 기쁩니다.
gung

3
@ gung 감사합니다, 당신이 맞아요. 나는 그것이 염증적이고 불필요하다고 생각하면서 내 대답에서 그 언어를 편집했습니다.
Joshua

1
@Joshua : 거의 2 살짜리 게시물에 질문을해서 죄송하지만 첫 번째 예에 대한 언급이 있습니까? 예측 변수가 범주 형인 데이터에서 절편 없음 모델을 실행하려고합니다. 각 수준이 0과 크게 다른지 여부에 관심이 있습니다. 감사합니다!
Alex

@Alex 모든 좋은 회귀 텍스트는해야 할 일입니다 (행동 과학 3 차 응용 회귀 분석 / 상관 분석 8 장에서 일부 내용을 다루겠습니다). 이를 고려하는 한 가지 방법은 인터셉트를 남기지 않고 각 그룹에 대해 별도의 인터셉트를 추정하는 것입니다.
Joshua

첫 번째 예제 인 @Joshua는 이 사이트의 다른 곳에서 혼란을 야기했습니다 . 여기서 이해하는 것은 인터셉트 값을 추가하지 않고도 매개 변수 추정치를 표시하는 편리한 트릭을 제안하고 있으며 일반적인 코스는 인터셉트가 제거 된 모델을 사용하여 anova를 수행하는 것입니다. R에서는 거의 모든 경우에 전통적인 anova를 수행하기 위해 절편이있는 모델을 사용합니다.
Sal Mangiafico

29

여기에 좋은 답변이 있습니다. 두 가지 작은 것들 :

  1. R2R2R2
  2. X실제 절편이 0 인 경우에도 마찬가지 입니다.

2
@AdamO는 여기서 # 2와 비슷한 점을 지적합니다 : 양의 선형 회귀 계수 이지만 아이디어를 훨씬 더 발전시킵니다.
gung

14

값이 0 인 모든 설명 변수를 볼 수 있는지 여부에 관계없이 절편을 삭제해서는 안됩니다.

여기 비슷한 질문에 대한 좋은 답변이 있습니다 .

절편을 제거하면 다른 추정값이 모두 바이어스됩니다. 절편의 실제 값이 대략 0 이지만 (데이터에서 결론을 내릴 수있는 전부 임) 강제로 정확히 0 으로 설정하면 기울기를 어지럽게 합니다.

UNLESS- 인터셉트가 제로를 요구 하는 매우 명확하고 명백한 물리적 모델로 무언가를 측정하고 있습니다 (예 : 설명 변수로 직사각형 프리즘의 높이, 너비 및 길이가 있고 응답 변수는 측정 오류가있는 부피입니다). 응답 변수가 주택의 가치 인 경우 반드시 절편을 남겨 두어야합니다.


1
왜 주택 가격 예측을위한 요격이 필요한지 설명해 주시겠습니까? 어떤 집에서 왜 모든 X가 0이됩니까?
엘프

10

좋아요, 질문을 많이 변경했습니다

0을 알면 절편을 남길 수 있습니다. 그게 다입니다. 아니, 당신은 0과 크게 다르지 않기 때문에 그것을 할 수 없습니다, 당신은 그것이 0인지 또는 잔차가 바이어스되어 있는지 알아야합니다. 이 경우 0이므로 제외하면 아무런 차이가 없습니다. 그러므로 절대로 두지 마십시오.

R2


2
Engle / Granger 2 단계를 사용하여 공적분을 테스트하려는 경우는 어떻습니까? en.wikipedia.org/wiki/Cointegration
Jase

5

대부분의 다중 회귀 모형에는 상수 항 (즉, 절편)이 포함됩니다. 이는 모형이 편향되지 않도록합니다. 즉 잔차의 평균은 정확히 0입니다. (회귀 모형의 계수는 최소 제곱으로 추정됩니다. 즉 평균 제곱 오차를 최소화합니다. 이제 평균 제곱 오차는 오차의 분산에 평균 제곱을 더한 것과 같습니다. 이것은 수학적 동일성입니다. 모형의 상수 값은 오차의 평균을 변경하지만 분산에는 영향을 미치지 않으므로 제곱 오차의 합계를 최소화하려면 오차의 평균이 0이되도록 상수를 선택해야합니다. )

단순 회귀 모형에서 상수는 회귀선의 Y 절편을 표준화되지 않은 형태로 나타냅니다. 다중 회귀 모형에서 상수는 모든 독립 변수가 동시에 0과 같거나 물리적으로나 경제적으로 의미가없는 상황 인 경우 종속 변수에 대해 예측되는 값을 나타냅니다. 모든 독립 변수가 동시에 0 인 경우 어떤 일이 발생할 지에 특별히 관심이 없으면 통계적 유의성에 관계없이 모형에 상수를 그대로 둡니다. 표본 내 오류가 편중되지 않도록하는 것 외에도 상수가 있으면 회귀선이 "자체 수준을 찾고"로컬로만 선형 일 수있는 데이터에 가장 적합합니다.

그러나 드문 경우에 모델에서 상수를 제외 할 수 있습니다. 이것은 소프트웨어 패키지의 회귀 절차에서 모형 적합 옵션이며, 원점을 통한 회귀 또는 간단히 RTO라고도합니다. 일반적으로 다음과 같은 경우에만 수행됩니다.

  1. 독립적 인 변수를 모두 값 0을 동시에 가정한다고 가정 할 수 있으며,이 경우 종속 변수도 0과 같다는 것을 논리적으로 따라야한다고 생각합니다. 그렇지 않으면
  2. 상수는 사용하려는 독립 변수 세트와 중복됩니다.

사례 (1)의 예는 종속적이고 독립적 인 모든 변수가 다른 시계열의 첫 번째 차이를 나타내는 모델입니다. X의 첫 번째 차이에서 Y의 첫 번째 차이를 회귀하는 경우 변수의 현재 수준을 참조하지 않고 X의 변화에 ​​대한 선형 함수로 Y의 변화를 직접 예측합니다. 이 경우, X가 변경되지 않을 때마다 평균적으로 Y를 변경하지 않아야한다고 가정하는 것이 합리적 일 수 있지만 (필요하지는 않지만) X의 수준.

사례 (2)의 예는 계절별 지표 변수의 전체 세트를 사용하려는 상황입니다 (예 : 분기 별 데이터를 사용하고 있고 추가를 나타내는 변수 Q1, Q2, Q3 및 Q4 포함). 계절 효과. 따라서 Q1은 1 0 0 0 0 0 0 ...과 같이 보일 수 있고 Q2는 0 1 0 0 0 0 0 ...과 같이 보일 것입니다. Q1 + Q2 + Q3 + Q4 = 1 1 1 1 1 1 1이기 때문에 동일한 모델에서 4 개와 상수를 모두 사용할 수는 없습니다. . . . 상수 항과 같습니다. 즉, 5 개의 변수 Q1, Q2, Q3, Q4 및 CONSTANT는 선형 적으로 독립적이지 않습니다. 이들 중 하나는 다른 4 개의 선형 조합으로 표현 될 수 있습니다. 선형 회귀 모형을 적합시키기위한 기술적 전제 조건은 독립 변수가 선형 적으로 독립되어야한다는 것입니다. 그렇지 않으면 최소 제곱 계수를 고유하게 결정할 수 없습니다.

경고 단어 : R- 제곱 및 F 통계량은 RTO 모형에서 일반 회귀 모형에서와 같은 의미를 갖지 않으며 모든 소프트웨어에서 동일한 방식으로 계산되지는 않습니다. 주의 사항에 대해서는이 기사를 참조하십시오. 회귀의 표준 오차를 비교해도 괜찮지 만 상수 항을 포함하고 포함하지 않는 모형간에 R- 제곱을 비교하려고 시도해서는 안됩니다.

"독립적"이라는 용어는 회귀법 용어에서 (적어도) 세 가지 다른 방식으로 사용됩니다. 단일 변수는 예측 변수가 아닌 예측 변수로 사용되는 경우 독립 변수라고 할 수 있습니다. 변수 그룹이 다른 변수의 선형 조합으로 정확하게 표현 될 수없는 경우 변수 그룹은 선형으로 독립적입니다. 한 쌍의 변수는 선형 적으로 독립적 일뿐만 아니라 서로에 대해 전혀 정보가없는 경우 통계적으로 독립적이라고합니다. 회귀 모델에서는 종속 변수가 독립 변수에 통계적으로 종속되기를 원하며, 독립 변수는 반드시 통계적으로 독립적이어야합니다.


2
당신은 어떤 기사를 언급하고 있습니까?
gung

2

내 생각의 전체 개정. 실제로 절편을 떨어 뜨리면 편향 문제가 발생합니다.

절편이 어떤 의미를 갖도록 데이터 중심을 고려하고 일부 (합리적이지 않은) 값이 음수 값을 줄 수있는 방법을 설명하지 않습니까? 평균 sqrft, 평균 lotsize 및 평균 bath를 빼서 세 가지 설명 변수를 모두 조정하면 절편에 평균 sdrft, lotsize 및 bath와 함께 집의 값이 표시됩니다.

이 중심은 독립 변수의 상대 관계를 변경하지 않습니다. 따라서 중심 데이터에 모델을 피팅하면 여전히 욕이 중요하지 않습니다. 욕조가 포함되지 않은 상태에서 모델을 다시 장착하십시오. 여전히 절편에 대해 큰 p- 값을 얻을 수 있지만 포함해야하며 y = a + b (sqrft) + c (lotsize) 형식의 모델이됩니다.


1

방금 다른 사람이 게시 한 비슷한 질문에 대답하는 데 시간을 보냈지 만 닫혔습니다. 여기에 훌륭한 답변이 있지만 내가 제공하는 답변은 조금 더 간단합니다. 회귀에 대한 이해가 약한 사람들에게 더 적합 할 수 있습니다.

Q1 : 모델에서 절편을 어떻게 해석합니까?

회귀 모형에서 목표는 결과 변수에서 설명 할 수없는 분산의 양을 최소화하는 것입니다.

y = b0 + b1⋅x + ϵ

여기서 y는 결과 측정의 예상 값 (예 : log_blood_hg), b0은 절편, b1은 기울기, x는 예측 변수, ϵ는 잔차 오차입니다.

절편 (b0)은 모든 x = 0 일 때 y의 예측 평균값입니다. 즉, log_blood_hg의 분산을 추가로 최소화하거나 설명하기 위해 변수 (예 : 종)를 사용하기 전에 y의 기준값입니다. .

기울기 (log_blood_hg의 1 단위 증가 / 감소가 x, 예를 들어 종의 1 단위 증가에 따라 어떻게 변하는 지 추정)를 추가함으로써 결과 변수에 대해 이미 알고있는 것, 즉 기준값 (예 : 다른 변수의 변화에 ​​따라).

Q2 : 특히 모델이 매우 다른 결과를 제공한다는 사실과 관련하여 절편을 포함하거나 포함하지 않는 것이 적절한시기는 언제입니까?

이와 같은 간단한 모델의 경우 절편을 삭제하는 것이 결코 적절하지 않습니다.

Y의 기준선 값에서 기울기를 접지하기보다는 절편을 떨어 뜨릴 때 모델이 다른 결과를 제공합니다.이 기울기는 y의 원점 (0)을 통과해야합니다. 따라서 기울기가 더 가파 릅니다 (즉, 더 강력하고 중요 함). )는 y의 분산을 최소화하는 더 나은 작업을 수행하지 않기 때문에 원점을 통해 선을 강요했기 때문입니다. 다시 말해, 절편 또는 모델의 초기 접지점을 제거하여 y의 분산을 최소화하는 모델을 인위적으로 만들었습니다.

0 절편으로 현상을 설명 할 때와 같이 절편을 제거하는 것이 적절한 경우가 있습니다. 인터셉트를 제거하는 것이 좋지 않은 이유는 물론 여기 에서 이에 대해 읽을 수 있습니다 .


1

y=α+βx+ϵ
α=0yx=0

R2R2R2

결론 : 모델에서 인터셉트를 빼지 마십시오 (실제로 자신이하는 일을 실제로 알고 있지 않는 한).

Xs=vt

절편을 배제하는 특수 모델도 있습니다. 한 가지 예는 쌍 데이터, 쌍 연구 입니다.

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