R

R STUDIO 다중선형회귀분석 (Multiple Linear Regression)

S4KHS 2024. 5. 23. 00:46

R STUDIO 다중선형회귀분석 (Multiple Linear Regression)

목차
회귀분석
선형 회귀분석
다중 선형 회귀분석

728x90

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)

반응형