단순회귀모형_단순회귀분석(2/2부)

2021. 3. 14. 21:50Data Science/01_Machine Learning Study

반응형

 

단순회귀모형_단순회귀분석(1/2부)

 

: 이번 포스팅에서는 Python을 사용하여 단순회귀모형구현 및 진단을 진행하고자 함

단순회귀모형_단순회귀분석(1/2부)

today-1.tistory.com/50

 

단순회귀모형_단순회귀분석(1/2부)

단순회귀모형_단순회귀분석(1/2부) : 방통대 '회귀모형' 수업을 들으며 '단순회귀모형'/'단순회귀분석'에 대해서 정리하고자 함 : Scikit-learn이나 stats에 있는 회귀 모델에 기술적 활용이 아니라 통

today-1.tistory.com

 

: 본 포스팅은 방통대 회귀모형 수업 강의 교재 '회귀모형'을 참고함

회귀모형 참고 교재

book.naver.com/bookdb/book_detail.nhn?bid=10963375

 

회귀모형

회귀분석이란 반응변수와 설명변수 간의 함수관계를 규명하는 통계적인 분석방법으로, 회귀모형을 적합하고, 적합된 모형을 통해서 설명변수가 반응변수에 미치는 영향을 살피고, 반응변수의

book.naver.com

 

 

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')


잔차 plot


 

반응형