자격증/ADsP
[개미의 걸음 ADsP 3과목] EDA & 결측치 및 이상치 처리
IT개미 데이터
2021. 2. 13. 17:17
728x90
탐색적 자료분석[EDA, Explonatory Data Analysis]
데이터가 가지고 있는 특성을 파악하기 위해 해당 변수의 분포 등을 시각화하여 분석하는 분석 방법
- 미국의 존 튜키교수가 1977년 발표한 저서에 EDA가 처음으로 언급
- 당시 주로 사용하던 확증적분석[CDA, Confirmatory Data Analysis]는 가설을 검증하는데 주로 사용되었지만
EDA는 자료를 하나의 목적으로 보징낳고 여러 방면으로 바라보기 위해 고안되었다. - 다양한 차원과 값을 조합하여 특이한 점이나 의미있는 사실을 도출하고 분석의 최종 목적을 달성해가는 과정
- 데이터의 특징과 내재하는 구조적 관계를 알아내기 위한 기법들의 총칭
- 데이터에 대한 전반적인 이해를 통해 분석 가능한 데이터인지 확인하는 단계
[함수를 적용하는 것이 아닌 데이터 자체를 확인하는 것!] - 데이터에 포함된 변수의 유형이 어떻게 되는지를 찾아가는 과정
- 탐색적 데이터 분석을 통해 얻은 정보를 이용해 통계적 가설이나 모형을 설정해 연구하거나 의사결정에 이용해 정보의 정확도를 측정
- 알고리즘이 학습을 얼마나 잘하는지는 전적으로 데이터 품질과 데이터에 담긴 정보량에 달림
- Boxplot을 그리면 이상치의 식별이 쉬움
- summary( )함수를 사용하면 데이터의 기초통계량을 파악 가능
수치형변수 : 최소값, 1사분위수, 2사분위수(중앙값), 3사분위수, 최대값, 평균
명목형변수 : 명목값, 데이터 개수 - head( )함수를 사용하면 많은 데이터 중 일부의 데이터만 가져올 수 있음
기본적으로 6개의 데이터가 보여지며 보고싶은 데이터의 개수 지정 가능 - EDA는 시간이 오래 걸리는 일이므로 최근에는 EDA를 자동으로 신속하게 수행해 유의미한 값만 파악해 데이터 마트로 만든 후 모델링 업무로 진행하는게 일반적
- 데이터를 시각화(Box Plot, 상자그림)하면 이상치 식별이 용이
EDA의 4가지 주제
저항성 강조 | 저항적인 자료/분석은 자료의 일부 변동에 따른 영향을 비교적으로 적게 받는 것을 의미 즉, 이상치, 결측치, 입력 오류등의 영향을 적게 받음 ex> median, 사분위수, IQR 등 |
잔차[오차] 계산 | 잔차[개별 관측값의 흐름에서 벗어난 값]가 있을 때 왜 이런 값이 발생했는지 파악하는 것 Residual Analysis[Regression Analysis] : 잔차분석[회귀분석] |
자료변수의 재표현 | 자료 분석을 단순화할 수 있도록 원래의 변수를 적당한 척도로 바꾸는 것을 의미 ex> Z-score[표준점수] 등 |
그래프를 통한 현시성 | 그래픽 표현을 통해 자료 안에 숨겨진 정보를 효율적으로 활용할 수 있게 해줌 현시성은 데이터 시각화라고도 불림 ex> 줄기와 잎 그림, Boxplot 등 |
EDA VS Traditional Analysis
Traditional Analysis | EDA |
Frequency Distribution | Stem and leaf plot |
Histogram | Boxplot |
Mean | Median |
Standard Deviation | InterQuartile Range[IQR] |
결측치 처리
결측치는 NA, 99999999, 공백, Unknown, Not Answer 등으로 표현
- 결측치 처리는 전체 작업 속도에 크게 영향을 미침
- 결측치를 처리하기 위해 시간을 많이 사용하는 것은 비효율적!
- 간혹 결측값 자체가 의미가 있는 경우도 있음
→ ex> 카드 가입자 중 이용실적이 전혀 없는 경우 - NaN[Not a Number]는 결측값이 아니라 숫자형 데이터 자리에 숫자 외의 문자가 오는 경우를 의미
- 결측치 처리방법은 크게 단순 대치법과 다중 대치법이 있음
결측치 처리 방법
① 단순 대치법[Single Imputation]
1) 완전분석법(completes analysis)
- 결측치가 존재하는 레코드를 삭제하는 방법
2) 평균 대치법(Mean Imputation)
- 관측, 실험 등을 통해 얻어진 데이터의 평균으로 결측치를 대치하는 방법
- 조건부 평균 대치법 : 회귀분석을 활용한 대치법
비조건부 평균 대치법 : 관측데이터의 평균을 활용한 대치법
3) 단순확률 대치법(Single Stochastic Imputation)
- 평균대치법에서 추정량 표준 오차의 과소 추정문제를 보완하고자 고안된 방법
- Hot-deck, Nearest neighbor 등의 종류가 있음
② 다중 대치법[Multiple Imputation]
- 단순 대치법을 여러 번 대치하여 여러 개의 완전한 자료를 생성하는 방법
ex> n번 대치를 통해 n개의 완전한 자료 생성 - 1단계 : 대치(Imputation Step)
2단계 : 분석(Analysis Step)
3단계 : 결합(Combination Step)
R에서의 결측치 처리
complete.cases( ) | 데이터가 완전한 데이터인지 확인하는 함수 데이터 셋 안에 결측값이 있으면 FALSE, 없으면 TRUE로 반환 |
is.na( ) | 결측치가 있는지 확인하는 함수 결측치을 NA로 인식해 결측값이 있으면 TRUE, 없으면 FALSE로 반환 |
centralImputation( ) [DMwR 패키지] |
NA값을 Central Value로 대치하는 함수 숫자는 중위수, 요인(factor)은 최빈값으로 대치 |
knnImputation( ) [DMwR 패키지] |
NA값을 k최근 이웃 분류 알고리즘을 사용하여 대치하는 함수 k개 주변 이웃까지의 거리를 고려하여 가중 평균한 값을 사용 |
amelia( ) [Amelia 패키지] |
TIME-SERIES-CROSS-SECTIONAL DATA SET에서 활용 랜덤포레스트(random forest)모델은 결측값이 존재할 경우, 바로 에러가 발생 randomForest 패키지의 rfImpute( )함수를 활용해 NA 결측치를 대치한 후 알고리즘에 적용 → randomForest모형의 경우, 결측치가 있으면 에러가 발생 → rfImpute( )함수는 randomForest 패키지에서 결측치(NA)를 대치하도록 하는 함수 |
이상치 처리
이상치는 정상범주에서 크게 벗어난 값을 의미[설명변수의 관측치에 비해 종속변수의 값이 상이한 값]
- 의도하지 않게 잘못 입력한 것을 이상치라고 함[Bad Data]
- 의도하지 않게 입력되었으나 분석 목적에 부합되지 않아 제거해야 하는 것을 이상치라고 함[Bad Data]
- 의도하지 않은 현상이지만 분석에 포함해야 하는 것을 이상치라고 함
- 의도된 이상값을 이상치라고 함
- Bad Data로 판명된 데이터는 삭제하는 것이 바람직!!
- 이상치는 반드시 제거해야 하는 것이 아니므로 분석의 목적에 맞게 적절한 판단이 필요
- 이상치는 제거하는 것보다 조정 방법을 사용해 값을 대치하는 것이 데이터 손실율도 적고, 설명력도 높아짐
이상치 관측
① ESD[Extreme Studentized Deviation]
- 평균으로부터 3 표준편차 떨어진 값
② 기하평균과 표준편차를 활용
- 이상값 정의 : "기하평균 - 2.5 X 표준편차 < data < 기하평균 + 2.5 X 표준편차"를 벗어난 값
- geo_mean을 활용해 기하평균을 구함
③ 사분위수를 활용
- 이상치는 변수의 분포를 벗어난 값으로 상자 그림을 통해 확인 가능
- 상자 그림의 outer fence 밖에 있는 값(이상치) 제거
- 이상값 정의 : "Q1 - 1.5(Q3 - Q1) < data < Q3+1.5(Q3 - Q1)"를 벗어난 값
이상치 처리 방법
이상치를 처리하는 방법에는 크게 절단(trimming)과 조정(winsorizing)이 있음
① Trimming
- 이상치 절단 방법에는 기하평균과, 상단*하단 %를 이용한 제거가 있음
- 상단*하단 %를 이용할 때는 상하위 5%(총 10%)에 해당하는 데이터를 제거
② Winsorizing
- 상한값과 하한값을 벗어나는 값들을 하한, 상한값으로 대치
- 상자수염그림에서 IQR의 약 1.5배를 벗어난 데이터를 이상치로 분류
- IQR[Inter Quartile Range]는 3Q에서 1Q를 뺀 값
- 1Q, 3Q로부터 IQR의 1.5배되는 지점을 상한값, 하한값이라고 함
이상치 활용의 예
사기탐지 - 평상시의 신용카드 구매패턴과 다른 패턴을 조사하여 도난여부 확인
침입탐지 - 컴퓨터 네트워크에 대한 예외적인 행위를 감시하는 경우를 탐지
의 료 - 환자에게 보이는 예외적인 이상 증세를 발견함으로써 건강 이상 발견
728x90