데이터분석/회귀분석

다중선형회귀모형과 해석하기

상선약수64 2024. 9. 19. 13:56
반응형

1. 다중선형회귀모형이란

다중선형회귀(multiple linear regression)은  종속(반응)변수에 대하여 2개 이상의 독립(설명)변수가 얼마나 영향을 미치는가를 확인하는 모형입니다.

 

 

 

다중선형회귀에서 반드시 고려해야 되는 사항이 다중공선성(multicollinearity)이다. 다중공선성이란 독립변수들간의 강한 상관관계가 존재하여 회귀 계수의 분산을 크게 하기 때문에 회귀분석시 추정회귀계수를 신뢰할 수 없는 문제가 발생하는 것입니다.

즉, 독립변수 A와 독립변수 B는 종속변수에서 각각 독립적으로 영향을 주어야 하는데, 독립변수의 값이 증가함에 따라 독립변수 간의 상호관련성이 높아져 독립변수의 개별적인 영향보다는 독립변수간의 상관관계에 의해 발생되는 영향입니다.

 

다중공선성을 확인하기 위한 지표는 공차한계(tolerance)와 분산팽창지수(VIF : variance inflaction factor) 이다. 공차한계가 0.1보다 크거나, VIF가 10보다 작으면 다중공선성의 문제가 없다고 볼 수 있습니다.

 

2. 보스턴 주택 데이터로 다중회귀모형 실습

 

  • 보스턴 주택 데이터에 대한 설명
변수명 설명 비고
Target 1978년 보스턴 주택가격 반응변수
CRIM 범죄율  
INDUS 비소매상업지역 면적 비율  
NOX 일산화질소 농도  
RM 주택당 방 수  
LSTAT 인구 중 하위 계층 비율  
B 인구 중 흑인 비율  
PTRATIO 학생/교사 비율  
ZN 25,000 평방피트를 초과 거주지역 비율  
CHAS 찰스강의 경계에 위치한 경우는 1, 아니면 0  
AGE 1940년 이전에 건축된 주택의 비율  
RAD 방사형 고속도로까지의 거리  
DIS 직업센터의 거리  
TAX 재산세율  

 

  • 설명변수를 범죄율, 주택당 방의 수, 인구 중 하위 계층 비율을 두고 다중선형회귀분석
import numpy as np
import pandas as pd
import statsmodels.api as sm

#데이터 불러오기

boston_data = pd.read_csv('/content/data/Boston_house.csv')
boston_x = boston_data.drop(['Target'], axis=1)

# crim, rm, lstate 다중선형회귀모형

x_data = boston_x[['CRIM', 'RM', 'LSTAT']]
y = boston_data['Target']

x_data = sm.add_constant(x_data)

#ols 검정
model = sm.OLS(y, x_data)
result = model.fit()
result.summary()

 

결과

보스톤 주택가격 다중회귀분석결과

 

  • 결과해석

(1) 모형의 설명력 확인 및 검증

  - 결정계수는 0.646으로 회귀모형의 설명력이 64.6%로 유의수준 5%에서 유의하다. 즉 범죄률, 주택당 방의 수 그리고 인구 중 하위계층 비율은 주택가격에 영향을 주고 64.6% 설명을 한다. 

  - F값은 305.2, 유의확률(p값) = 0.000으로 p값 < 0.05(유의수준) 작아 추정된 회귀식이 유의한 것으로 확인되었습니다.

추정된 회귀식 : 주택가격 = -2.5623 -0.1029범죄율 + 5.2170 주택당 방의 수- 0.5785인구 중 하위 계층 비율

 

(2) 회귀계수 유의성 검정

 

 - 회귀계수의 유의성을 확인하기 위해서는 t-value와 유의확률을 확인하면 됩니다. 범죄율, 주택당 방의 수, 하위계층 비율 모두 유의확률이 0.05보다 작아 유의한 것으로 확인되었습니다.

 

 - 주택당 방의 수는 주택가격에 양(+)의 영향을 주고, 범죄율과 인구당 하위 계층 비율은 음(-)을 줍니다. 방의 개수가 1 증가하면 주택가격은 5.2170(단위 : 1000달러)증가하고, 범죄율과 하위계층 비율이 증가하면 주택가격은 낮아집니다.