728x90
Machine Learning 머신러닝
다중 선형 회귀분석 전에 단순 선형회귀 분석에 대해 선행되어야 한다.
2020/04/22 - [데이터사이언스/머신러닝] - [기계학습] 4. 회귀분석 , 회귀계수 추정 , Matrix 미분 활용
다중 선형 회귀분석 : 변수가 여러개인 회귀분석의 경우 이다.
회귀 계수를 추정하는 법은 단순 선형 회귀계수와 동일하다.
- SSE를 최소화 하는 방향으로 추정
- 변수에 대해 편미분 하여 회귀계수를 추정
컴퓨터는 모델을 추정할 때 행렬로 추정한다.
회귀분석에 가장 큰 문제점은 역행렬이 안구해지는 경우가 있다.
그럼 B(베타)가 의미없는 추정이된다.
해석 : 다른 변수는 고정되어 있을 때 TV 가 1 증가할때 매출이 0.046 단위 증가한다.
다중 선형 회귀 모델 검정
귀무가설 : B1 = B2 ... Bp = 0 ( 모든 회귀계수는 0 이다, 즉 변수의 설명력이 하나도 존재 하지 않는다.)
대립가설 : 하나의 회귀계수라도 0이 아니다. (즉 설명력이 있는 변수가 존재 한다.)
*귀무가설을 너무나도 기각하기 쉽다.
F 검정을 통해서 검정
두 확률 변수 V1, V2 가 서로 독립인 카이제곱 분포를 따른다고 할 때 확률 변수 F는 F분포를 따른다고 한다.
F 검정과 분산분석등에서 주로 사용됨.
- 변수의 갯수가 p개 이기때문에 Mean Square 값을 SSR/p 로 나눠줘야 한다.
- 변수가 들어가게 되면 MSR부분은 자연스럽게 커진다.
- F-통계량은 제곱합의 형태이기 때문에 변수가 추가되면 F-통계량이 커지게 되고 p-value는 자연스럽게 낮아진다.
그래서 변수가 많을 때는 어떻게든 설명력이 높아지기 때문에 진짜 이게 유의미한지를 알 수 없다.
그래서 다중공선성을 통해서 변수들간의 선형관계를 알아보고 정말 유의미한 변수들인지 판단해야한다.
다중 선형 회귀 분석 실습
import os
import pandas as pd
import numpy as np
import statsmodels.api as sm
#현재경로 확인
print(os.getcwd())
#데이터 불러오기
boston = pd.read_csv("./실습/part2_data/Boston_house.csv")
#Boston data 에서 crim , rm , lstat 변수만 뽑아오기
x_data = boston[['CRIM','RM','LSTAT']]
print(x_data.head())
#상수항 추가
x_data1 = sm.add_constant(x_data,has_constant="add")
#타겟 설정
target = boston[['Target']]
#회귀모델 적합
multi_model = sm.OLS(target,x_data1)
fitted_multi_model = multi_model.fit()
#summary() 함수를 통해 결과 출력
fitted_multi_model.summary()
#행렬연산을 통해 beta 구하기 (X'X)-1X'y
from numpy import linalg
ba = linalg.inv(np.dot(x_data1.T,x_data1))
np.dot(np.dot(ba,x_data1.T),target)
#y_hat 구하기
pred4 = fitted_multi_model.predict(x_data1)
import matplotlib.pyplot as plt
fitted_multi_model.resid.plot(label="full")
plt.legend()
plt.show()
cs |
반응형
'Machine learning' 카테고리의 다른 글
[기계학습]모형의 성능 지표 ( MSE , MAPE , 정확도,정밀도,재현율,특이도 , F1 measure , ROC Curve) (1) | 2020.06.15 |
---|---|
[기계학습]다중공선성 , 회귀모델의 성능지표 ( AIC , BIC ) (0) | 2020.06.12 |
[Machine Learning] 단순선형회귀분석(Simple Linear Regression) 예제 ,pandas , numpy , plot (0) | 2020.05.11 |
[기계학습]회귀계수의 의미 , 희귀계수 검정 ( SST , SSE , SSR , P-value ) (0) | 2020.04.28 |
[기계학습]회귀분석 , 회귀계수 추정 , Matrix 미분 활용 (0) | 2020.04.22 |