* 본문은 이기적에서 발행한 빅데이터분석기사 수험서를 공부하면서 작성된 글입니다. 시험 대비한 공부로, 암기가 필요한 부분을 요약/정리합니다.
PART4. 빅데이터 결과 해석
1. 분석모형 평가 및 개선
1-1. 분석모형평가
1) 평가 지표
* 지도학습-분류모델 평가 지표
① 오차행렬(Confusion Matrix)
② 정확도(Accuracy) = (TP+TN) / (TP+FP+FN+TN)
③ 정밀도(Precision) = TP / (TP + FP) → 참(T)이라 예측한 것이 얼마나 잘 맞았는가?
④ 재현율(Recall) = TP / (TP + FN) → 실제 참(T)인 대상을 얼마나 잘 적중시키는가? (=민감도)
⑤ F1 Score = 2 * Precision * Recall / (Precision + Recall) → 정밀도+재현율 결함, 높을수록 정확
⑥ ROC(Receiver Operating Characteristic) 곡선
- FPR(False Positive Rate) = FP / (FP + TN) → 거짓 긍정률
- TPR(True Positive Rate) = TP / (TP + FN) → 참 긍정률(= 재현율 = 민감도)
- TPR과 FPR값이 0.5인 기본모델 위에 ROC가 위치해야 성능이 기본 모델보다 나음을 의미
⑦ AUC(Area Under Curve) : ROC 커브의 하단 면적. 랜덤일때 AUC = 0.5 (=ROC커브가 대각선)
* 지도학습-회귀모델 평가 지표
① SSE(Sum Squared Error) : (실제값-예측값)의 제곱합
② MSE(Mean Squared Error) : SSE에 평균을 취한 값
③ RMSE(Root MSE) : MSE에 root를 취한 값 (=평균제곱근 오차)
④ MAE(Mean Absolute Error) : |실제값-예측값|의 평균
⑤ 결정계수 R-square : 회귀모형이 실제값에 대해 얼마나 잘 적합하는 지에 대한 비율 (SSR/SST)
⑥ Adjusted R-square : 독립계수가 많을 수록 결정계수 R-square는 높아짐. 이를 보안한 결정계수
⑦ MSPE(Mean Square Percentage Error) : MSE(오차 제곱의 평균)를 %로 변환한 값
⑧ MAPE(Mean Absolute Percentage Error) : MAE(오차 절대값의 평균)를 %로 변환한 값
⑨ RMSLE(Root Mean Squared Logarithmic Error)
- RMSE(오차 제곱 평균의 제곱근)에 Log를 취한값 ※ 이상치에 덜 민감함
⑩ AIC(Akaike Information Criterion)
- 최대우도(maximum likelihood)에 독립변수의 개수에 대한 손실(penalty)분을 반영한 지표
- 모형과 데이터의 확률 분포 차이를 측정하는 개념. 낮을수록 적합도가 높음
- AIC = -2 log L + 2K (L : 모형 파라미터 개수(상수항 포함하는 설명변수 개수), K : 모형 적합도 척도)
⑪ BIC(Bayes Information Criteria)
- AIC와 목적은 같음. but 모형의 우도(likelihood)를 측정하기 위한 값에서 유도된 지표.
- 변수 개수가 많을수록 AIC보다 더 패널티를 먹인다
- BIC = -2 log L + K log n
* 비지도학습-군집분석 평가 지표
- 지도학습과 달리 라벨링이 없어 성능평가가 어려움. 아래 지표를 참고
① 실루엣 계수( Silhouette Coefficient, s(i) ) = [b(i) - a(i)] / max{a(i), b(i)}
- a(i) : i번째 개체와 같은 군집에 속한 요소들 간 거리들의 평균
- b(i) : i번째 개체가 속한 군집과 가장 가까운 이웃군집을 선택 계산한 값
- a(i)가 0이면 하나의 군집에서 모든 개체들이 붙어 있는 경우
- 실루엣 지표가 0.5보다 크면 적절한 군집 모델로 볼 수 있음 (클수록 좋음)
② Dunn Index ( I(C) ) = min{dc(Ci, Cj)} / max{Δ(Cl)}
- 군집 간 거리의 최소값을 분자, 최대값을 분모로 하는 지표
- 군집 간 거리는 멀수록, 군집 내 분산은 작을 수록 좋은 군집 → Dunn Index는 클수록 좋음
2) 분석모형 진단
* 정규성 가정
- 통계적 검정, 회귀분석 등 분석진행하기 전 데이터가 정규분포를 따르는지 검정하는 것 (정규성 확인)
① 중심극한정리(Central Limit Theorem)
- "동일한 확률분포를 가진 독립 확률 변수 n개의 평균의 분포는 n이 적당히 크다면 정규분포에 가까워진다"
- 표본분포의 평균 = 모집단의 평균, 표본의 표준편차 = 모집단의 모표준편차를 표본크기의 제곱근으로 나눈 것
② 정규성 검정 종류
※ 데이터 셋이 정규분포를 따른다는 귀무가설(H0)이 기각되면 (p<0.01 또는 p=0.05) 정규성 X
- 사피로-윌크 검정(Shaprio-Wilk Test) : 표본수(n)가 2000개 미만인 데이터 셋에 적합
- 콜모고로프 스미르노프 검정(Kolmogorove-Smirnov Test) : 2000개 초과인 데이터 셋에 적합
- Q-Q플롯(Quantile-Quantile Plot) : 시각적 분석 방법. 표본수(n)가 소규모일 경우 적합
* 잔차 진단
- 회귀분석에서 최적의 회귀선은 실측치와 예측치의 차이(잔차)를 가장 작게 해주는 선
- 잔차의 합은 0이며 잔차는 추세, 특정 패턴을 가지고 있지 않음을 가정
① 잔차의 정규성 진단
- 신뢰구간 추정과 가설검증을 정확히 하기 위해 Q-Q plot과 같은 시각화 통해 정규분포와 잔차의 분포 비교
② 잔차의 등분산성 진단
- 잔차의 분산이 특정 패턴 없이 순서와 무관하게 일정한지 등분산성 진단
③ 잔차의 독립성 진단
- 자기상관(auto correlation)여부를 판단하는 것.
- 시점 순서대로 그래프를 그리거나 더빈-왓슨 검정(Durbin-Watson Test)를 활용
패턴이 없다면 독립성을 충족한다 할 수 있음
- 독립성이 위배가 된다면 시계열 분석을 통해 회귀분석 진행 필요
3) K-폴드 교차검증(K-fold Cross Validation)
- 훈련 / 테스트 데이터 셋으로 튜닝하면 테스트데이터 셋에 과적합 될 수 있음 이를 방지하고자 함
- 데이터셋을 k개로 분리, k-1개는 훈련, 1개는 테스트데이터로 사용, k번 반복 (k개의 성능) 후 평균 (최종성능)
- 과적합을 방지할 수 있으나 반복횟수 증가에 따라 훈련과 평가/검증 시간이 오래 걸릴 수 있음
- 홀드아웃 기법, Levae-p-out CV, Leave-one-out CV, 계층별 K-겹 CV(Stratified K-fold CV) 등
※ 홀드아웃 기법(Holdout Method)
- 데이터를 훈련데이터+검증데이터+테스트데이터를 일정 비율로 지정한 뒤 학습
- 훈련데이터로 학습하되 훈련데이터 내에서 일정 부문 검증데이터를 두는 것
- 데이터 셋 크기가 작을수록 모델 성능 추정에 민감한 영향을 미칠 수 있음
4) 적합도 검정(Goodness of fit Test)
- 데이터가 가정된 확률에 적합하게 따르는지, 즉 데이터 분포가 특정 분포함수와 얼마나 맞는지 검정하는 방법
- 일반적인 적합도 검정 방법으로 정규성 검정이 있음
- 모집단의 분포를 정규분포로 가정하는 분포기법으로는 t-Test, Anova, 회귀분석이 있음
- 그 외 카이제곱 검정, 콜모고로프 스미르노프 검정이 있음
* 카이제곱 검정
- k개의 범주별로 나뉘어진 관측치들과 이와 동일한 범주의 가정된 분포사이의 적합도 검증
- 범주형 값 k가 나와야 할 횟수의 기댓값 mk, 실제 나온 횟수 xk의 차이를 이용하여 검정통계량 산출
* 콜모고로프 스미르노프 검정(K-S Test : Kolmogorov-Smirnov Test)
- 관측된 표본분포와 가정된 분포사이의 적합도를 검사하는 누적분포함수의 차이를 이용한 검정법
- 관측된 자료의 크기 나열 → 관측치 누적확률 → 가정된 분포와 누적확률과 비교
0 댓글