R STUDIO 다중선형회귀분석 (Multiple Linear Regression)
목차
회귀분석
선형 회귀분석
다중 선형 회귀분석
1. 회귀분석 (Regression analysis)
※ 독립변수와 종속변수 사이의 관계를 모델링해서 종속변수를 예측할 수 있는 회귀식을 만든다.
- 기본 조건
* 오차항 : 종속변수와 독립변수 사이의 관계를 완전히 설명할 수 없는 부분
지정된 독립변수로 설명할 수 없는 종속변수의 변동
- 정규성 : 모든 변수와 오차항이 정규분포를 만족해야 한다.
- 등분산성 : 모든 변수와 오차항의 분산이 일정해야 한다.
- 독립성 : 오차항 사이에 상관관계가 없어야 한다. - 회귀분석의 종류
- 선형 회귀분석 : 독립변수와 종속변수가 선형적인 경우
- 다항 회귀분석 : 독립변수와 종속변수가 비선형적인 경우
- 로지스틱 회귀분석 : 종속변수가 범주형 변수인 경우
* 선형 분석 모델과 비선형 분석 모델이 있다.
- Ridge 회귀분석 : 다중 공선성 문제가 있는 경우
* 회귀계수의 크기를 줄여 모형의 안정성을 높인다.
- Lasso 회귀분석 : 변수 선택 문제가 있는 경우
* 회귀계수 중 일부를 0으로 만들어 모형을 단순화한다.
- Elastic Net 회귀분석 : Ridge와 Lasso의 장점을 결합
* 다중 공선성과 변수 선택 문제를 동시에 해결할 수 있다.
2. 선형 회귀분석(Linear Regression)
※ 독립변수와 종속변수 사이의 선형적인 관계를 모델링해서 종속변수를 예측할 수 있는 회귀식을 만든다.
- 선형 회귀분석의 종류
- 단순 선형 회귀분석 : 독립변수가 1개인 경우
- 다중 선형 회귀분석 : 독립변수가 2개 이상인 경우
3. 다중 선형 회귀분석(Multiple Linear Regression)
※ 다중공선성 : 2개 이상의 독립변수 사이에 강한 상관관계가 있을 때 발생하는 문제
- 다중공선성에 의해 모델의 예측력이 떨어진다.
- 확인 방법
- 높은 상관계수 : 대체로 0.8 또는 0.9 이상인 경우 다중공선성을 의심
- 분산 팽창 요인(VIF) : 10 이상인 경우 다중공선성이 있다고 판단
- 조건지수 (Condition Index) :
모형 자체에 다중공선성이 있는지 판단
(30 이상인 경우 다중공선성이 높다고 판단) - 해결 방법
- 단계적 선택법 : 변수를 1개씩 추가하거나 제거하면서 최적의 변수 조합을 찾는 방법
- 독립 변수 제거 : 상관계수 및 VIF 확인 등의 값이 높은 독립변수를 제거하는 방법
- 주성분 회귀 : 주성분 분석을 통해 다중공선성이 있는 변수를 선형 결합하여 새로운 주성분 변수로 변환 및 회귀분석을 시행하는 방법
- Ridge 회귀 : 모형의 안정성을 높일 수 있는 회귀분석 방법
- Lasso 회귀 : 자동으로 불필요한 변수의 회귀계수를 0으로 만들어서 모델을 간소화한다.
Code :
모델링 이름 = lm(종속변수 이름 ~ 독립변수1 + 독립변수2, data = Dataset 이름)
summary(모델링 이름)
dwtest(모델링 이름)
X <- model.matrix(모델링 이름)
kappa(X)
vif(모델링 이름)
visreg(모델링 이름)
- lm() : Dataset에서 종속변수와 2개 이상의 독립변수를 가져와서 선형 회귀분석 모델을 만드는 함수
- summary() : 모델의 요약 통계 정보를 제공
- 회귀계수 및 유효성, 모델의 유효성 등 - dwtest() : Durbin-Watson 통계량을 계산하여 회귀모형의 잔차에 자기상관성이 있는지 확인
- model.matrix() : 조건지수를 확인할 수 있도록 모델 매트릭스를 생성한다.
- kappa() : 조건지수를 계산하는 함수
- vif() : 분산 팽창 요인을 계산하는 함수
- visreg() : 시각적으로 회귀모형의 결과를 확인
결과 해석
모델 유효성
- Adjusted R-squared : 독립변수가 종속변수를 얼마나 설명하는지를 나타낸다.
- 0 ~ 1의 값을 가진다.
- 값이 높을수록 모형의 설명력이 높다고 본다. - p-value : 회귀모델에 대한 유효성 결과
회귀식 (종속변수 = 상수 + 독립변수1 기울기 x 독립변수1 + 독립변수2 기울기 x 독립변수2 )
- 상수 (Intercept) : 독립변수가 0일 때, 종속변수의 예측값
- 기울기 : 독립변수가 1 증가할 때 종속변수가 증감하는 평균값
- 회귀식 예시 : DC_OSI = -0.24747 + (0.03809 x 몸무게) + (-0.02816 x 체지방량)
- p-value : 각 상수와 기울기 값에 대한 유효성 결과
잔차
- Durbin_Watson 통계량(DW) : 잔차의 독립성을 확인
- 잔차 간의 자기 상관을 확인한다.
- DW 값이 2에 가까우면 자기 상관이 없다고 본다.
0에 가까운 경우 : 양의 자기 상관
4에 가까운 경우 : 음의 자기 상관
- 값이 높을수록 모형의 설명력이 높다고 본다. - p-value : 잔차의 검정에 대한 유효성 결과
조건지수
* 30 이상인 경우 다중공선성이 있다고 판단
분산 팽창 요인
* 10 이상인 경우 다중공선성이 있다고 판단
2024.05.10 - [R] - R studio에서 Excel 파일 불러오기
2024.05.11 - [R] - R STUDIO TIP 옵션 (scipen, digits, max.print)
2024.05.12 - [R] - R STUDIO 상자도표(Box plot) / ggsignif(ggplot2, ggsignif)
2024.05.13 - [R] - R STUDIO 그룹 분할 및 변수 설정 / dplyr
2024.05.15 - [R] - R STUDIO 정규성 검정 (Kolmogorov-Smirnov test & Shapiro-Wilk test)
2024.05.21 - [R] - R STUDIO 단순선형회귀분석 (Simple Linear Regression)
'R' 카테고리의 다른 글
R STUDIO 독립 표본 t 검정 (Independent t test) (0) | 2024.05.26 |
---|---|
R STUDIO 등분산 검정 (Levene 검정 & Bartlett 검정 & F 검정) (0) | 2024.05.25 |
R STUDIO 단순선형회귀분석 (Simple Linear Regression) (0) | 2024.05.21 |
R STUDIO 정규성 검정 (Kolmogorov-Smirnov test & Shapiro-Wilk test) (0) | 2024.05.15 |
R STUDIO 그룹 분할 및 변수 설정 / dplyr (0) | 2024.05.13 |