Python 기초 통계

Python으로 하는 기초 통계 분석법


수강중

12. 절편의 고정

동영상이 없는 텍스트 강의 자료입니다.

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()
OLS Regression Results
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제곱은 종속변수의 분산에서 설명하는 비율을 나타내지만, 절편이 없는 경우는 종속변수의 제곱의 평균에서 설명하는 비율을 나타낸다.