본문 바로가기

Database/Statistics

[통계] 회귀분석(회귀계수, R제곱, 더미코딩) + Python

회귀분석(Regression Analysis)

  • 독립변수가 종속변수에 영향을 미치는지 알아보고자 할 때 실시하는 분석방법
  • 하나의 종속변수와 하나의 독립변수 사이의 관계를 분석할 경우 단순회귀분석
  • 하나의 종속변수와 여러 독립변수 사이의 관계를 규명하고자 할 경우 다중회귀분석
from statsmodels.formula.api import ols
m = ols("종속변수 ~ 독립변수", data=df).fit()
m.summary # 결과

회귀분석의 사전 진단

  1. 산점도에 추세선을 넣어 데이터에 선형적인 패턴이 있는지 확인
  2. 극단값이 있을 경우 회귀분석의 결과가 왜곡될 수 있으므로 극단값이 있는지 확인

선형회귀분석

  • 독립변수와 종속변수 사이에 직선적인 형태의 관계가 있다고 가정
  • 독립변수가 일정하게 증가하면, 종속변수도 그에 비례해서 증가하거나 또는 감소하는 형태

회귀계수

  • 선형 모형에서 x와 y의 관계를 수식으로 나타내면 y = wx + b
  • 위의 식에서 w를 회귀계수(cofficient)
  • 독립변수 x가 1 증가할 때마다 종속변수 y는 w만큼 증가한다
  • 회귀계수 w = 직선의 기울기
  • 절편은 독립변수가 모두 0일 때, 종속변수 y의 값을 말한다

회귀분석을 통한 예측

모형에 입력하여 예측

# 예측하고자 하는 조건 입력
new_df = pd.DataFrame({'speed' : [20]})
m.predict(new_df)

R제곱

  • 분석 결과의 정확성을 쉽게 판단할 수 있게 만든 지표(0~1)
  • '모형이 종속변수의 분산의 ~%를 설명한다'
  • 크면 클수록 예측을 잘하는 모형
  • 0일 경우 : 분석결과가 y의 예측에 도움이 안됨
  • 1일 경우 : y를 완벽하게 정확히 예측할 수 있음
더보기

모형이 종속변수의 분산이 68.7%를 설명한다

 

더미코딩(Dummy Coding)

  • 범주형 변수는 기울기를 곱할 수 없기 때문에 연속 변수로 변환하여 모형에 투입
  • 예를 들어 성별이나 장르 같은 명목척도도 회귀분석을 할 수 있음
  • 가장 많이 사용하는 방법이 바로 더미 코딩
  • 더미 변수는 회귀 기울기를 바꾸지 않고 절편만을 바꾸어 평행하게 움직이게 하는 역할

더미코딩 절차

  1. 범주형 변수에 범주가 k개 있을 경우 k-1개의 더미 변수를 대신 투입
  2. 범주 중에 하나를 기준 범주로 지정(ABC순으로 먼저 나오는 것이 기준 범주)
  3. 기준 범주를 제외한 범주들은 범주별로 더미 변수를 하나씩 가짐
  4. 기준이 되는 것은 모든 항이 0으로 표시됨

범주가 2개인 경우

  • 성별(남/여), 취직여부(구직자/취업자), 흡연여부(흡연자/비흡연자)
  • 회귀분석에 실제 투입되는 더미변수는 1개(2-1)
  • 더미변수의 의미에 해당하면 1, 해당하지 않으면 0으로 값을 채운다
  • 절편은 기준 범주의 예측값
  • 더미변수의 기울기는 해당 범주와 기준 범주의 예측값 차이
더보기

범주가 gas와 diesel일 경우 절편의 기울기인 0.1333은 diesel의 예측값이며, 더미변수의 기울기인 0.6653은 기준 범주인 diesel과 gas의 예측값 차이이다

 

참고

 

회귀분석이란 무엇인가?

 

mindscale.kr

 

더미변수를 이용한 회귀분석_명목척도와 서열척도를 간격척도와 비율척도로 더미변환 알아보기

​ ​ 회귀분석을 위해서 변수들이 모두 간격척도나 비율척도로 측정된 연속형 변수만 가능합니다. 회귀분석을 진행하면서 통제변수도 함께 투입할 경우가 많은데요. 이때 연속형 독립변수와

quickdata.tistory.com

 

Dummy Variable / 더미변수 / 가변수

Dummy Variable / 더미변수 / 가변수 포스팅을 읽어주신 고마운 분과 댓글로 질의응답을 하다가 간단한 내용이니 포스팅 해봐야겠다 생각해서 급하게 글을 쓰고 있다. (1) 더미변수란? (2) 더미변수는

kkokkilkon.tistory.com

 

반응형