1.EDA란?
1) 정의
데이터를 분석하기 전에 그래프나 통계적인 방법으로 자료를 직관적으로 바라보는 과정입니다.
2) 필요한 이유
- 데이터의 분포 및 값을 검토함으로써 데이터가 표현하는 현상을 더 잘 이해하고, 데이터에 대한 잠재적인 문제를 발견할 수 있습니다. 이를 통해, 분석에 들어가기에 앞서 데이터의 수집을 결정할 수 있습니다.
- 다양한 각도에서 살펴보는 과정을 통해 문제 정의 단계에서 미쳐 발생하지 못했을 다양한 패턴을 발견하고, 이를 바탕으로 기존의 가설을 수정하거나 새로운 가설을 세울 수 있습니다.
3) 과정
기본적인 출발점은 문제 정의 단계에서 세웠던 연구 질문과 가설을 바탕으로 분석 계획을 세우는 것입니다. 분석 계획에는 어떤 속성 및 속성 간의 관계를 집중적으로 관찰해야 할지, 이를 위한 최적의 방법은 무엇인지가 포함되어야 합니다.
- 분석의 목적과 변수가 무엇이 있는지 확인. 개별 변수의 이름이나 설명을 가지는지 확인
- 데이터를 전체적으로 살펴보기 : 데이터에 문제가 없는지 확인. head나 tail부분을 확인, 추가적으로 다양한 탐색(이상치, 결측치 등을 확인하는 과정)
- 데이터의 개별 속성값을 관찰 : 각 속성 값이 예측한 범위와 분포를 갖는지 확인. 만약 그렇지 않다면, 이유가 무엇인지를 확인.
- 속성 간의 관계에 초점을 맞추어, 개별 속성 관찰에서 찾아내지 못했던 패턴을 발견 (상관관계, 시각화 등)
2. 이상값을 찾아내는 부분
데이터에 이상치가 있으면, 이상치가 왜 발생했는지 의미를 파악하는 것이 중요합니다. 그리고 그러한 의미를 파악했으면 어떻게 대처해야 할지(제거, 대체, 유지 등)를 판단해야 합니다. 이상치를 발견하는 기법은 여러 가지가 있고 대표적으로 아래와 같은 방법들이 있습니다.
1. 개별 데이터 관찰
데이터값을 눈으로 쭉 훑어보면서 전체적인 추세와 특이사항을 관찰할 수 있습니다. 데이터가 많다고 앞부분만 보면 안 되고, 인덱스에 따른 패턴이 나타날 수도 있으므로 앞, 뒤 or 무작위로 표본을 추출해서 관찰해야 합니다. 단, 이상치들은 작은 크기의 표본에 나타나지 않을 수 있습니다.
2. 통계 값 활용
적절한 요약 통계 지표(summary statistics)를 사용할 수 있습니다. 데이터의 중심을 알기 위해서는 평균(mean), 중앙값(median), 최빈값(mode)을 사용할 수 있고 데이터의 분산을 알기 위해 범위(range), 분산(variance)을 사용할 수 있습니다. 통계 지표를 이용할 때는 데이터의 특성에 주의해야 합니다. 예를 들어, 평균에는 집합 내 모든 데이터 값이 반영되기 때문에, 이상치가 있으면 값이 영향을 받지만, 중앙값에는 가운데 위치한 값 하나가 사용되기 때문에 이상치의 존재에도 대표성이 있는 결과를 얻을 수 있습니다. 회사 직원들의 연봉에 대해서 평균을 구하면, 대개 중간값보다 훨씬 높게 나오는데, 그것은 몇몇 고액 연봉자가 평균을 끌어올렸기 때문입니다.
3. 시각화 활용
일단은 시각적으로 표현이 되어있는 것을 보면, 분석에 도움이 많이 됩니다. 시각화를 통해 주어진 데이터의 개별 속성에 어떤 통계 지표가 적절한지 결정할 수 있습니다. 시각화 방법에는 확률밀도 함수, 히스토그램, 점 플롯(dotplot), 워드 클라우드, 시계열 차트, 지도 등이 있습니다.
4. 머신러닝 기법 활용
대표적인 머신러닝 기법으로 K-means를 통해 이상치를 확인 할 수 있습니다.
5. 그 외의 이상치 발견 기법들
이상치 찾는 기법 | 예시 |
Statistical-based Detection | Distribution-based, depth-based |
Deviation-based Method | Sequential exception, OLAP data cube |
Distance-based Detection | Index-based, nested-loop, cell-based, local-outliers |
[표1] 그 외의 다양한 이상치 발견 기법들
3. 속성 간의 관계 분석하기
이 과정의 목표는 서로 의미 있는 상관관계를 갖는 속성의 조합을 찾아내는 것입니다. 여기서부터 사실상 본격적인 탐색적 분석이 시작됩니다. 분석의 대상이 되는 속성의 종류에 따라, 방법도 달라져야 합니다. 아래의 [표 2]은 데이터의 종류를 보여줍니다.
Categorical Variable (Qualitative) | Nominal Data |
원칙적으로 숫자로 표시할 수 없으나, 편의상 숫자화. (순위의 개념이 없음) 예시) 남자-0, 여자-1 |
Ordinal Data |
원칙적으로 숫자로 표시할 수 없으나, 편의상 숫자화. (순위의 개념이 있음) 예시) 소득분위 10분위 > 9 분위 > 8 분위 |
|
Numeric Variable (Quantitative) |
Continuous Data | 데이터가 연속량으로서 셀 수 있는 형태. 예시) 키 - 166.1cm |
Discrete Data | 데이터가 비연 속량으로서 셀 수 있는 형태 예시) 자식 수 5명 |
[표 2] Qualitative Data vs Quantitative Data
데이터 조합 | 요약 통계 | 시각화 |
Categorical - Categorical | 교차 테이블 | 모자이크 플롯 |
Numeric - Categorical | 카테고리별 통계 값 | 박스 플롯 |
Numeric - Numeric | 상관계수 | 산점도 |
[표 3] 데이터 조합 별 통계 및 시각화 방법
1. Categorical - Categorical
교차 테이블, 모자이크 플롯을 이용해 각 속성 값의 쌍에 해당하는 값 개수를 표시할 수 있습니다.
2. Numeric - Categorical
각 카테고리별 통계 값(평균, 중간값 등)을 관찰할 수 있다. 이를 박스 플롯을 통해 시각적으로 표현할 수 있습니다.
3. Numeric - Numeric
상관계수를 통해 두 속성 간의 연관성을 나타낼 수 있습니다. -1은 두 속성이 반대 방향으로 변하는 음의 상관관계를 나타냅니다. 0은 상관관계없음을 나타내고 1은 두 속성이 항상 같은 방향으로 변하는 양의 상관관계를 나타냅니다. 상관계수를 갖는 두 속성의 관계도 다양한 양상을 띨 수 있는데, 스케터 플롯을 이용하여 이를 시각적으로 표현할 수 있습니다.
또, 분석을 하다 보면, 2개 이상의 속성 간의 관계를 보고 싶을 때가 있습니다. 그럴 땐 위에서 나타낸 그래프를 3차원으로 표현하거나, 그래프 위에 표현된 점을 색상을 이용하거나 모양을 달리하여 더 많은 속성을 나타낼 수 있습니다. 혹은 각 점을 텍스트로 표현할 수도 있을 것입니다.
참고자료
- http://alphahackerhan.tistory.com/12
- http://hellotheresy.tistory.com/26
- https://statkclee.github.io/ml/ml-eda.html
- https://medium.com/mighty-data-science-bootcamp/eda-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%84%A4%EB%AA%85%EC%84%9C%EC%97%90%EC%84%9C-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-230060b9fc17
출처: https://eda-ai-lab.tistory.com/13 [TEAM EDA:티스토리]에서 일부 추출
'개인 활동 > 직무 공부' 카테고리의 다른 글
AICE Associate 합격 (2) | 2024.10.16 |
---|---|
DTI(Debt to Income Ratio, 총부채상환비율) (0) | 2024.07.17 |
LTV(Loan To Value, 담보인정비율) (0) | 2024.07.17 |
DSR(Debt Service Ratio, 총부채상환원리금상환 비율) (0) | 2024.07.17 |
칸반(Kanban) (0) | 2024.07.15 |