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 |
모형에서 절편을 제거한 경우 R제곱을 해석할 때 주의가 필요하다. 절편이 있는 경우와 없는 경우 계산 방식이 다르기 때문이다. 절편이 있는 경우에 R제곱은 종속변수의 분산에서 설명하는 비율을 나타내지만, 절편이 없는 경우는 종속변수의 제곱의 평균에서 설명하는 비율을 나타낸다.