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을 주변으로 직사각형 모양
- 이분산성 : 깔대기
- 비선형성 : 곡선
- 스튜던트화 잔차
- 정규확률분포도 : 오차항의 정규성을 판단
- 잔차 ei와 Y 산점도
회귀계수에 대한 검정
- β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
- logistic equation
- 예측확률값 출력: 원래 데이터 + 예측확률값
dat1_pred <- cbind(re,t3$fitted.values)write.table(dat1_pred,file='dat1_pred.csv', row.names=FALSE, sep=",", na=" ")
예측모형 고려사항
- 예측모형 선택
- 예측모형(어느 모형, 어느 기법인지에 따라 다르다!)
- 결정계수(기여율)가 높은 회귀식: 설명변수가 많을수록 결정계수가 높아짐
- 추정값의 표준오차(잔차의 표준편차)가 낮은 회귀식
- 변수 선택방법
- 모든 가능한 회귀: 모든 설명변수를 포함한 모형을 시도
- 단계적 선택법(stepwise regression): 설명변수를 단계적으로 선택하는 방법
- 예측모형(어느 모형, 어느 기법인지에 따라 다르다!)
- 이상치(outlier) 탐지
- 이상치(outlier): 보편적인 데이터 값 번위를 벗어나는 데이터
- 왜곡된 예측모형 위험이 있으므로 이상치 제외 후 분석
- 이상치 탐색
- 거리 계산: 각 데이터와 독립변수 평균과의 거리가 크거나, 회귀모형에서의 잔차 이상 수치 확인
- 산점도: 변수들 간 산점도에서 탐색
정리
- 데이터 수집(DB, 설문조사)
- 종속변수(타겟변수)와 관계 있는 독립변수(설명변수) 확인
- 산포도 작성 → 데이터 특성 파악 및 이상치 탐색
- 회귀모형 결정(변수 선택/ 특징 변환)
- 회귀모형 적합도 평가(정확도, 위양성 등)
'Postech > Statistics' 카테고리의 다른 글
[포스코 청년 AI·Big Data] 데이터사이언스를 위한 통계학입문 7. 빅데이터 차원축소와 예측모형 (0) | 2023.06.27 |
---|---|
[포스코 청년 AI·Big Data] 데이터사이언스를 위한 통계학입문 6. 현업 데이터 특성과 예측모형 (0) | 2023.06.26 |
[포스코 청년 AI·Big Data] 데이터사이언스를 위한 통계학입문 5. 통계검정방법 (0) | 2023.06.26 |
[포스코 청년 AI·Big Data] 데이터사이언스를 위한 통계학입문 4. 빅데이터 분석에서 확률과 분포 (1) | 2023.06.13 |
[포스코 청년 AI·Big Data] 데이터사이언스를 위한 통계학입문 3. 데이터 시각화와 통계적 해석 (0) | 2023.06.13 |