Just Fighting
상관계수와 회귀직선을 이용한 데이터 분석 (단순회귀) 본문
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
'ML & DL' 카테고리의 다른 글
LSTM을 이용한 텍스트 생성 연습(1) - 데이터 전처리 (0) | 2022.06.01 |
---|---|
[개념 정리] 의사 결정 나무 (0) | 2022.05.03 |
RNN을 이용한 텍스트 생성 연습 (0) | 2022.04.07 |
로지스틱 회귀분석을 이용한 데이터 분석 2 (2) | 2022.02.16 |
로지스틱 회귀분석을 이용한 데이터 분석 (0) | 2022.02.09 |
Comments