2021. 3. 14. 21:50ㆍData Science/01_Machine Learning Study
단순회귀모형_단순회귀분석(1/2부)
: 이번 포스팅에서는 Python을 사용하여 단순회귀모형을 구현 및 진단을 진행하고자 함
단순회귀모형_단순회귀분석(1/2부)
: 본 포스팅은 방통대 회귀모형 수업 강의와 교재 '회귀모형'을 참고함
회귀모형 참고 교재
book.naver.com/bookdb/book_detail.nhn?bid=10963375
1. 단순회귀분석_Python 구현
: 이전 포스팅에서 사용했던 데이터 예제를 그대로 가져옴
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
x=[4.2,8.5,9.3,7.5,6.3,12.2]
y=[9.3,18.5,22.8,17.7,14.6,27.9]
df = pd.DataFrame([x,y]).T
df.columns =['광고비','매출액']
: 모델 학습은 매우 간단하며 3가지 단계로 소개됨
: Model 학습에는 y, x 순으로 데이터를 입력해야 함
# 함추 호출
import statsmodels.api as sm
# 1Step_model 정의
model = sm.OLS(df['매출액'],df['광고비'])
# 2Step_model 학습
result = model.fit()
# 3Step_model 결과
print(result.summary())
: 분석 결과 모형 F검정량이 3303.이며 유의확률이 3.02e-08으로 유의수준 0.05보다 낮기 때문에 귀무가설을 기각
: 광고비의 경우 coef가 2.3114이며 t 검정량이 57.473, 유의확률이 0.0으로 유의수준 0.05보다 낮기때문에 귀무가설을 기각
: 모형의 정도를 살펴보기 위해 보통 R2, 수정된R2, AIC를 많이 살펴봄
: 결정계수(R2)는 광고비가 매출액을 설명하는데 있어 어느정도 차지하는 비율을 나타내며 이는 회귀변동량(SSR)/총변동량(SST)로 계산
: 단순회귀모형의 경우 x,y의 상관계수의 제곱값과 결정계수(R2)의 값이 같음(다중회귀에 경우 해당하지 않음)
2. 잔차 검정
: 모형 결과표 뿐만 아니라 잔차를 확인하고 가야 함(Plot을 통해 빠르게 살펴 보기)
: 잔차를 커널밀도함수를 통해 살펴본 결과 정규성을 가지고 있어 기본 가정을 만족
: 광고비와 잔차의 산점도를 살펴본 결과 패턴이나 선형성이 없으며 0 중심으로 일정한 범위내에 있으므로 기본 가정을 만족
import seaborn as sns
# 잔차 Plot
plt.subplot(2,2,1)
sns.distplot(result.resid)
# 광고비 vs 잔차 Plot
plt.subplot(2,2,2)
plt.scatter(df['광고비'],result.resid)
plt.ylabel('Resid')
plt.xlabel('AD expense')
'Data Science > 01_Machine Learning Study' 카테고리의 다른 글
파이토치 허브(PYTORCH HUB) (0) | 2022.07.13 |
---|---|
분위수 회귀(Quantile Regression) with Python (2) | 2021.07.22 |
단순회귀모형_단순회귀분석(1/2부) (0) | 2021.03.10 |
Prophet을 활용한 Kaggle 문제 풀어보기 (0) | 2021.02.25 |
Auto ML PyCaret을 활용한 Kaggle 문제 풀기 (0) | 2020.10.04 |