다양한 통계 분석을 할 수 있는 Python 라이브러리다. R과 유사하다.
일반적으로 아래와 같은 Alias를 사용해서 import한다.
import statsmodels.api as sm
import statsmodels.formula.api as smf
OLS(Ordinary Least Squares)
statsmodels.formula.api.ols(formula, data, subset=None, drop_cols=None, *args, **kwargs)
잔차제곱합(RSS, Residual Sum of Squares)를 최소화하는 가중치 벡터를 행렬 미분을 통해 계산하는 방법이다. 즉 근사적으로 계산하려는 결과와 실제 결과의 오차의 제곱 합이 최소가 되는 지점을 구하는 방법이다.
import statsmodels.api as sm import statsmodels.formula.api as smf ################################################ # SSL: CERTIFICATE_VERIFY_FAILED 문제 해결 import ssl ssl._create_default_https_context = ssl._create_unverified_context ################################################ # 예제 데이터 Load df = sm.datasets.get_rdataset("Guerry", "HistData").data print(df.columns) # Index(['dept', 'Region', 'Department', 'Crime_pers', 'Crime_prop', 'Literacy', 'Donations', 'Infants', 'Suicides', 'MainCity', 'Wealth', 'Commerce', 'Clergy', 'Crime_parents', 'Infanticide', 'Donation_clergy', 'Lottery', 'Desertion', 'Instruction', 'Prostitutes', 'Distance', 'Area', 'Pop1831'], dtype='object') # 종속변수 ~ 독립변수1 + 독립변수2 + 독립변수3 ... print(smf.ols("Lottery ~ Literacy", data=df).fit().summary())
OLS Regression Results ================================================================== Dep. Variable: Lottery R-squared: 0.133 Model: OLS Adj. R-squared: 0.123 Method: Least Squares F-statistic: 12.89 Date: Wed, 25 Aug 2021 Prob (F-statistic): 0.000555 Time: 20:21:36 Log-Likelihood: -392.11 No. Observations: 86 AIC: 788.2 Df Residuals: 84 BIC: 793.1 Df Model: 1 Covariance Type: nonrobust ================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------ Intercept 64.0896 6.265 10.230 0.000 51.631 76.548 Literacy -0.5245 0.146 -3.590 0.001 -0.815 -0.234 ================================================================== Omnibus: 8.096 Durbin-Watson: 1.946 Prob(Omnibus): 0.017 Jarque-Bera (JB): 3.090 Skew: 0.072 Prob(JB): 0.213 Kurtosis: 2.083 Cond. No. 107. ==================================================================
Dep. Variable
Dependent variable, 종속변수
Model
모델링 방법
No. Observations
Number of observations, (총)관찰표본 수
Df Residuals
Degree of Freedom(자유도) Residuals(잔차), 전체 표본개수에서 독립변수와 종속변수의 개수를 뺀 것
Df Model
독립변수의 개수
R-squared
결정계수, 모형의 설명력
Adj. R-squared
독립변수가 여러 개일 때 다중회귀분석에서 독립변수의 개수와 표본의 크기를 고려하여 R-squared를 보정한 값
F-statistic
F 통계량, MSR / MSE
Prob (F-statistic)
P-value(Probability value), 유의확률
Intercept coef
Intercept coefficient, 회귀식의 절편
Literacy coef
독립변수의 coefficient(회귀 계수) = 기울기
종속변수(Lottery) = -0.5245 * 독립변수(Literacy coef) + 64.0896(절편, Intercept coef)
P>|t|
독립변수의 유의확률
Durbin-Watson
잔차의 독립성을 확인하는 수치