절편의 고정
cars
데이터에서 dist
는 거리를 뜻한다. 앞선 분석 결과에서 speed
가 0일 때 dist
가 -17.5791이 되는데 거리가 마이너스가 될 수는 없으므로 해석이 어색하다. 이럴 경우 모형에서 절편을 제거한다. 절편을 제거하면, 절편을 0으로 고정시킨 것과 같아진다.
예제 데이터 준비
판다스를 불러들인다.
import pandas as pd
실습을 위해 cars.csv를 다운로드 받아 연다.
cars = pd.read_csv('cars.csv')
절편의 제거
모형식에 0 +
를 추가하여 모형에서 절편을 제거한다.
from statsmodels.formula.api import ols
res = ols('dist ~ 0 + speed', cars).fit()
res.summary()
Dep. Variable: | dist | R-squared (uncentered): | 0.896 |
---|---|---|---|
Model: | OLS | Adj. R-squared (uncentered): | 0.894 |
Method: | Least Squares | F-statistic: | 423.5 |
Date: | Thu, 23 Jan 2020 | Prob (F-statistic): | 9.23e-26 |
Time: | 14:11:20 | Log-Likelihood: | -209.87 |
No. Observations: | 50 | AIC: | 421.7 |
Df Residuals: | 49 | BIC: | 423.7 |
Df Model: | 1 | ||
Covariance Type: | nonrobust |
coef | std err | t | P>|t| | [0.025 | 0.975] | |
---|---|---|---|---|---|---|
speed | 2.9091 | 0.141 | 20.578 | 0.000 | 2.625 | 3.193 |
Omnibus: | 14.345 | Durbin-Watson: | 1.409 |
---|---|---|---|
Prob(Omnibus): | 0.001 | Jarque-Bera (JB): | 15.573 |
Skew: | 1.202 | Prob(JB): | 0.000415 |
Kurtosis: | 4.302 | Cond. No. | 1.00 |
Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
R제곱
모형에서 절편을 제거한 경우 R제곱을 해석할 때 주의가 필요하다. 절편이 있는 경우와 없는 경우 계산 방식이 다르기 때문이다. 절편이 있는 경우에 R제곱은 종속변수의 분산에서 설명하는 비율을 나타내지만, 절편이 없는 경우는 종속변수의 제곱의 평균에서 설명하는 비율을 나타낸다.