[Python] statsmodels를 이용한 모델링

최지영·2022년 5월 29일
0

👀 statsmodels 통계모델 활용하기

정규선형 모델 구축

통계모델을 추정하기 위해 smf.ols 함수를 사용
여기서 ols Ordinary Least Squares(범용최소제곱법) 의 약자로
모집단의 분포가 정규분포임을 가정했을때 최대우도법의 결과는 최소제곱법의 결과와 일치

온도로 인한 맥주 판매량 추정

  • 종속변수: beer
  • 독립변수: temperature
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로 양수이므로 기온이 오르면 맥주 판매량이 오른다고 판단할 수 있다.

0개의 댓글