회귀분석(Regression Analysis)
- 독립변수가 종속변수에 영향을 미치는지 알아보고자 할 때 실시하는 분석방법
- 하나의 종속변수와 하나의 독립변수 사이의 관계를 분석할 경우 단순회귀분석
- 하나의 종속변수와 여러 독립변수 사이의 관계를 규명하고자 할 경우 다중회귀분석
from statsmodels.formula.api import ols
m = ols("종속변수 ~ 독립변수", data=df).fit()
m.summary # 결과
회귀분석의 사전 진단
- 산점도에 추세선을 넣어 데이터에 선형적인 패턴이 있는지 확인
- 극단값이 있을 경우 회귀분석의 결과가 왜곡될 수 있으므로 극단값이 있는지 확인
선형회귀분석
- 독립변수와 종속변수 사이에 직선적인 형태의 관계가 있다고 가정
- 독립변수가 일정하게 증가하면, 종속변수도 그에 비례해서 증가하거나 또는 감소하는 형태
회귀계수
- 선형 모형에서 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)
- 범주형 변수는 기울기를 곱할 수 없기 때문에 연속 변수로 변환하여 모형에 투입
- 예를 들어 성별이나 장르 같은 명목척도도 회귀분석을 할 수 있음
- 가장 많이 사용하는 방법이 바로 더미 코딩
- 더미 변수는 회귀 기울기를 바꾸지 않고 절편만을 바꾸어 평행하게 움직이게 하는 역할
더미코딩 절차
- 범주형 변수에 범주가 k개 있을 경우 k-1개의 더미 변수를 대신 투입
- 범주 중에 하나를 기준 범주로 지정(ABC순으로 먼저 나오는 것이 기준 범주)
- 기준 범주를 제외한 범주들은 범주별로 더미 변수를 하나씩 가짐
- 기준이 되는 것은 모든 항이 0으로 표시됨
범주가 2개인 경우
- 성별(남/여), 취직여부(구직자/취업자), 흡연여부(흡연자/비흡연자)
- 회귀분석에 실제 투입되는 더미변수는 1개(2-1)
- 더미변수의 의미에 해당하면 1, 해당하지 않으면 0으로 값을 채운다
- 절편은 기준 범주의 예측값
- 더미변수의 기울기는 해당 범주와 기준 범주의 예측값 차이
더보기
범주가 gas와 diesel일 경우 절편의 기울기인 0.1333은 diesel의 예측값이며, 더미변수의 기울기인 0.6653은 기준 범주인 diesel과 gas의 예측값 차이이다
참고
반응형
'Database > Statistics' 카테고리의 다른 글
[통계] 로지스틱 회귀분석(Logistic Regression) (0) | 2021.09.05 |
---|---|
[통계] 로그 함수 + Python (0) | 2021.09.04 |
[통계] 상관분석 + Python (0) | 2021.09.04 |
[통계] 카이제곱 검정 + Python (0) | 2021.09.04 |
[통계] 분산 분석(등분산성, 사후 검정) + Python (0) | 2021.09.04 |