본문 바로가기
Postech/Statistics

[포스코 청년 AI·Big Data] 데이터사이언스를 위한 통계학입문 8. 회귀분석을 이용한 예측모형

by 나비스 2023. 6. 27.

POSTECH의 MOOC (https://pabi.smartlearn.io/ 청년 AI, BigData 아카데미 온라인 기초과정 중

데이터사이언스를 위한 통계학입문2를 수강하고 정리한 내용입니다.

 

1. 선형모형의 특성과 상관분석

데이터의 상관관계

  • 데이터 탐색: 변수 간 관계
    • 변수 간 상관관계 여부
    • 상관관계 형태
    • 산점도 scatter plot
      • 평면좌표에 표시한 도표로 시각적으로 두 변수의 관계를 쉽게 알 수 있게 해줌
      • 변수간 관계의 방향, 형태, 관계의 강도를 알 수 있음

상관계수(Pearson’s)

  • 상관계수(correlation coefficient)
    • 두 변수 간 선형관계의 강도를 나타내주는 척도
  • 상관계수(r) 절댓값은 0-1 사이
    • 0에 가까울수록 상관관계가 없음
    • 1에 가까울수록 강한 상관성이 있음

요약

  • 상관계수 및 변수 간 산점도: 데이터 탐색
  • X, Y 간 선형관계를 산점도에 도식화
  • X, Y 간 선형함수식 추정: 회귀모형
  • Y 분산에 관한 독립변수를 추가함으로써 선형모형 설명력 향상 : 과적합 주의

2. 실제데이터 예측모형구현

회귀모형의 적합 조선

  • 회귀분석- 예측모형
  • 회귀분석의 목적: 예측(prediction)과 추정(estimation)
    • 선형모형: 독립변수와 종속변수 관계가 선형식으로 적합
      • 최소자승법(least squares method): 예측값과 관측치(hat) 오차를 최소화시키는 회귀계수 추정
  • 예측 모형
    • 회귀 계수(regression coefficient)와 독립변수의 선형 결합으로 표현되는 예측모형
    • Y = β0 + β1x1 + β2x2 + … + βkxk
      • Y: 종속변수(dependent variable), 반응변수, 타겟변수
      • x: 독립변수(independent variable), 설명변수, 원인 역할을 하는 변수

회귀모형의 적합도 및 회귀성 검정

  • 모형의 적합도와 결정계수 (R^2)
    • 회귀식이 데이터를 얼마나 잘 설명하는지에 관한 척도
    • 회귀모형으로 설명할 수 있는 부분의 비율
    • 0 ≤ R^2 ≤ 1
    • R^2 = $\frac{SSR}{SST}$ = 1 - $\frac{SSE}{SST}$

회귀모형의 가정과 진단

  • 가정
    • X와 Y는 선형적 관계
    • 오차항(εi)은 정규분포를 따름
    • 오차항의 평균은 0
    • 오차항의 등분산성
    • 오차항은 서로 독립
  • 진단
    • 잔차 ei와 Y 산점도
      • 이상적인 경우는 0을 주변으로 직사각형 모양
      • 이분산성 : 깔대기
      • 비선형성 : 곡선
    • 스튜던트화 잔차
    • 정규확률분포도 : 오차항의 정규성을 판단

회귀계수에 대한 검정

  • β1 관한 t-검정
    • 해당 독립변수가 유의한 영향을 갖고 있는지 판단
  • 회귀계수의 p-value
    • 특정변수의 회귀계수에 관한 p-value가 유의수준(α=0.05, 0.1)보다 작으면 그 변수는 유의(significant)하다고 판단

정리

  • 회귀모형의 적합도 검정
    • 이론적인 모형이 실제 관측 데이터에 의해 어느 정도 지지를 받는지 검정하는 것
      • R^2^ 결정계수: 회귀모형의 설명력
      • 개별 βk값 검정: 어떤 변수가 중요한지
      • 잔차에 관한 가정 확인: 잔차산점도

3. 회귀모형의 적합조건

실제 데이터로 예측모형 구현

  • 다중회귀모형(multiple regression)
    • 종속변수 Y를 설명하는 데 k개의 독립변수가 있을 때의 회귀모형
    • Yi = β0 + β1x1 + β2x2 + … + βkxk + εi(잔차)
    • 회귀계수 βk의 해석: 다른 독립변수가 일정할 때, Xk 한 단위 변화에 따른 평균변화량

다중회귀모형 예제

car <- read.csv('C:/data/autompg.csv')
r1 <- lm(mpg ~ disp+hp+wt+accler, data=car)
summary(r1)
  • 결과 해석
    • 선형회귀식: mpg = 40.88 - 0.001 disp + 0.0048 hp - 0.0061 wt + 0.17 accler
    • 선형회귀식의 결정계수: R^2^ = 0.7006
      • 분산을 70% 정도 설명한다고 해석할 수 있음
  • 문제
    • 마력(hp)이 높을수록 연비가 좋은가? 일반적으로는 아니기 때문에 데이터 탐색 필요
    • check point 1 : 배기량 & 연비, 마력 & 연비, 차량무게 & 연비 > pairs
var1 <- c("mpg", "disp", "hp", "wt", "accler")pairs(car[var1], main="Autompg", cex=1, col=as.integer(car$cyl))
  • 다중공선성(Multicollinearity)
    • 독립변수들 사이 상관관계가 높은 경우
    • 다중공선성이 존재하면, 회귀계수 분산이 크고 모형이 불안정
    • 해당 예제에서는 disp(배기량) 제외하는 것이 더 좋음
  • hp 기준으로 두 개의 cluster 모델로 분류해 예측하기
  •  
car2 <- subset(car, hp<50)attach(car2)r2 <- lm(mpg~hp+wt+accler, data=car2)summary(r2)
car3 <- subset(car, hp>=50)attach(car3)r3 <- lm(mpg~hp+wt+accler, data=car2)summary(r3)

요약

다중회귀모형은 여러 개의 독립변수로 하나의 종속변수를 설명하기 위한 모형

다중공선성 주의

model tree - 설명변수의 이질적 특성에 따라 예측모형을 분리하여 구현

4. 예측모형의 핵심과 고려사항

분류분석- 로지스틱회귀모형

  • 타겟변수(Y)가 범주형일 때
    • binary: 2개의 범주 (보험사기, 질병)
    • ordinal(서열): 서열이 있는 범주 (순위)
    • nominal(명목): 서열이 없는 범주 (직업군)
  • 로지스틱회귀모형
    • Y가 범주이기 때문에 선형 조합이 나옴
    • 로짓 트랜스포메이션을 해서 확률값으로 변형
    • model estimation logit(p)
    • prediction of class -1 probability
    • classification rule : if p > 임계치, then 범주 1
re <- read.csv('./data/remiss.csv')
t3 <- glm(remiss~cell+li+temp, data=re,family=binomial(logit))summary(t3)
  • 결과 해석
    • logistic equation
      • logit(p) = 67.63 + 9.65 Cell + 3.87 Li - 82.07 Temp
    • Li 1단위 증가 시 remission 확률: exp(3.867) = 47.79
  • 예측확률값 출력: 원래 데이터 + 예측확률값
dat1_pred <- cbind(re,t3$fitted.values)write.table(dat1_pred,file='dat1_pred.csv', row.names=FALSE, sep=",", na=" ")

예측모형 고려사항

  • 예측모형 선택
    • 예측모형(어느 모형, 어느 기법인지에 따라 다르다!)
      • 결정계수(기여율)가 높은 회귀식: 설명변수가 많을수록 결정계수가 높아짐
      • 추정값의 표준오차(잔차의 표준편차)가 낮은 회귀식
    • 변수 선택방법
      • 모든 가능한 회귀: 모든 설명변수를 포함한 모형을 시도
      • 단계적 선택법(stepwise regression): 설명변수를 단계적으로 선택하는 방법
  • 이상치(outlier) 탐지
    • 이상치(outlier): 보편적인 데이터 값 번위를 벗어나는 데이터
    • 왜곡된 예측모형 위험이 있으므로 이상치 제외 후 분석
    • 이상치 탐색
      • 거리 계산: 각 데이터와 독립변수 평균과의 거리가 크거나, 회귀모형에서의 잔차 이상 수치 확인
      • 산점도: 변수들 간 산점도에서 탐색

정리

  1. 데이터 수집(DB, 설문조사)
  2. 종속변수(타겟변수)와 관계 있는 독립변수(설명변수) 확인
  3. 산포도 작성 → 데이터 특성 파악 및 이상치 탐색
  4. 회귀모형 결정(변수 선택/ 특징 변환)
  5. 회귀모형 적합도 평가(정확도, 위양성 등)