Just Fighting

상관계수와 회귀직선을 이용한 데이터 분석 (단순회귀) 본문

ML & DL

상관계수와 회귀직선을 이용한 데이터 분석 (단순회귀)

yennle 2022. 1. 28. 21:40
728x90

회귀분석을 이용하여 데이터를 분석하는 방법에 대해 정리하려고 한다.

회귀분석에도 두 변수 사이의 관계를 알 수 있는 단순회귀분석과

두 개 이상의 변수들 사이의 관계를 나타내는 다중회귀분석이 있다.

오늘은 파이썬을 이용해 단순회귀분석을 하는 방법을 정리한다.

 

 

두 변수가 인과관계가 있다고 할 때,

두 변수를 이용한 모형을 만들어 서로 어떤 관계가 있고,

새로운 x값에 따른 y의 값을 예측할 수 있도록 한다.

 

 

<상관계수 구하기>

import numpy as np

np.corrcoef(x, y)

예시▼

더보기

강한 양의 상관관계를 가진다고 할 수 있다.

 

 

import scipy.stats

scipy.stats.pearsonr(x, y)

예시▼

더보기

<상관분석>

p-값 < 0.05 이므로 귀무가설 기각.

유의수준 0.05에서 두 변수 사이에 상관계수는 유의하다고 할 수 있다.

 

 

 

두 변수 사이에 인과 관계(강한 양의 상관관계)가 있다는 것을 확인했다.

회귀분석을 통해 어떤 관계를 가지는지에 대해 알아보자.

 

 

<단순회귀분석>

from statsmodels.formula.api import ols

reg = ols('y ~ x', data=data_filter).fit()
reg.summary()

예시▼

더보기

 

결정계수(R^2) : 0.852

회귀 직선 : 회사개수 = 46552.46 + 0.13 * 계약건수

=> 계약건수가 8개 늘어나면 회사의 개수는 1개 증가한다.

 

 

from sklearn.linear_model import LinearRegression

lr = LinearRegression()
lr.fit(x,y)

# x, y -> reshape(-1, 1) 필요

예시▼

더보기

 

회귀 직선 : 회사개수 = 46552.46 + 0.13 * 계약건수

=> 계약건수가 8개 늘어나면 회사의 개수는 1개 증가한다.

 

728x90
Comments