👀 statsmodels 통계모델 활용하기
통계모델을 추정하기 위해 smf.ols
함수를 사용
여기서 ols
란 Ordinary Least Squares(범용최소제곱법) 의 약자로
모집단의 분포가 정규분포임을 가정했을때 최대우도법의 결과는 최소제곱법의 결과와 일치
온도로 인한 맥주 판매량 추정
import statsmodels.formula.api as smf
import statsmodels.api as sm
lm_model = smf.ols(formula="beer ~ temperature", data=beer).fit()
lm_model.summary()
속성 | 설명 |
---|---|
Dep.variable | 종속변수의 이름 |
Model, Method | 범용최소제곱법 사용 |
Date, Time | 모델을 추정한 시간 |
No.Observations | 샘플 사이즈 |
Df Residuals | 샘플 사이즈에서 추정된 파라미터수를 뺀것 |
Df Model | 사용된 독립변수의 수 |
Covariance Type | 공분산 타입 default = nonrobust |
R-Squared,Adj.R-squared | 결정계수와 자유도 조정이 끝난 결정계수 |
F-statistic,Prob(F통계량) | 분산분석 결과 |
Log-Likelihood | 최대로그우도 |
AIC | 아카이케 정보 기준 |
BIC | 베이즈 정보 기준 |
😊 R-squared (결정계수) 란 가지고 있는 데이터에 대해 모델을 적용했을때의 적합도 평가 지표
두번째 표의 Incercept 와 temperature를 살펴보면 coef가 적어진 줄이 계숫값이며
순차적으로 계수의 표준오차 / t값 / 귀무가설을 계수의 값이 0이라고 했을때의 p값 / 95% 신뢰구간에서 하측신뢰 한계와 상측 신뢰한계를 해석한 결과가 나타나진다
위의 결과에서 P값은 매우 작은 탓에 0이 되었으며 기온에 대한 계수는 유의미하게 0과 다르다고 판단 할 수 있다. 따라서 기온이 맥주 매상에 영향을 끼친다는것을 알 수 있다.
기온이 오르면 좋은지 내려가면 좋은지에 대한 판단은 계수값의 부호를 보며 판단이 가능한데
여기선 0.7654로 양수이므로 기온이 오르면 맥주 판매량이 오른다고 판단할 수 있다.