4-2. 아웃라이어

4-2-1. 아웃라이어(Outlier)

정의
데이터 분포에서 비정상적으로 크거나 작은 극단적인 값을 의미함.
통계적으로 정규분포의 양쪽 꼬리(Tail)에 해당하여 **'테일(Tail)'**이라고도 불림.
처리 방법 예시: 절삭 평균(Trimmed Mean)
전체 데이터에서 양쪽 끝의 극단값을 일정 비율만큼 제외하고 평균을 계산하는 방식임.
사례 (피겨스케이팅 점수)
9명의 심사위원 점수 중 최고점과 최저점(아웃라이어)을 제외하고
나머지 7명의 점수 평균을 사용함.
이렇게 계산한 값은 극단값의 영향을 줄여 보다 공정하고 안정적인 결과를 제공함.
중요성 및 목적
소수의 아웃라이어가 전체 데이터의 평균·분산 등 통계치를 왜곡할 수 있음.
분석 목적에 따라 아웃라이어를 제거하거나 조정하여 데이터의 신뢰성과 정확도를 확보해야 함.
단, 단순히 값이 크거나 작다고 제거하지 말고
측정 오류인지 실제 의미 있는 특이값인지를 구분하는 과정이 필요함.

4-2-2. 이상치(Outlier) 처리 방법 3가지

이상치는 데이터 분석의 신뢰도를 떨어뜨릴 수 있어 적절한 처리가 중요합니다. 주요 처리 방법은 다음과 같습니다.

4-2-2-1. 제거법 (Elimination) 🗑️

가장 단순하고 빠른 방식으로, 이상치로 판단된 데이터를 완전히 삭제함.
데이터 양이 충분하고, 이상치 비율이 전체의 10% 미만일 때 적합함.
도메인 지식이 있는 분석가가 주로 사용하며, 명확히 오류로 판단되는 데이터에 유용함.
⚠️ 단점: 데이터 손실이 발생하므로, 소규모 데이터에서는 신중히 적용해야 함.

4-2-2-2. 원저화 (Winsorization) 🔄

이상치를 일정 백분위수(Percentile) 값으로 대체하는 방법임.
예: 상위 1% 이상값을 99번째 백분위수 값으로, 하위 1%는 1번째 백분위수 값으로 치환.
데이터 손실 없이 극단값의 영향을 완화할 수 있음.
⚠️ 단점: 실제 데이터의 분포를 왜곡할 위험이 있음.

4-2-2-3. IQR 기반 방법 (IQR Method) 📊

IQR (Interquartile Range) 분위수는 Q3(75%) - Q1(25%) 로 계산됨.
이상치 판단 기준은 다음과 같음:
최솟값(하한값): Q1 - 1.5 × IQR
최댓값(상한값): Q3 + 1.5 × IQR
위 범위를 벗어나는 값을 이상치로 간주하고 제거 또는 조정함.
⚠️ 단점: 정규분포를 전제하기 때문에 비대칭 분포 데이터에는 부적합할 수 있음.

4-2-2-4. Box Plot

상자 (노란색 부분): 데이터의 중앙 50%가 분포하는 구간입니다.
Q1 (1사분위수): 전체 데이터 중 하위 25%에 해당하는 값입니다.
Q2 (2사분위수): 데이터의 중앙값(Median)으로, 50% 지점입니다.
Q3 (3사분위수): 전체 데이터 중 상위 25% (하위 75%)에 해당하는 값입니다.
IQR (사분위수 범위): Q3와 Q1의 차이(Q3 - Q1)로, 데이터 중간 50%의 퍼진 정도를 나타냅니다.
최솟값/최댓값 (수염): 상자에서 뻗어 나간 선의 끝 지점으로, 일반적으로 Q1 - 1.5 * IQRQ3 + 1.5 * IQR 범위 내에 있는 가장 작은 값과 가장 큰 값을 의미합니다.
이상치 (빨간색 부분): 이 최솟값/최댓값의 범위를 벗어나는 값들로, 통계적으로 일반적인 분포에서 크게 벗어난 데이터 포인트를 의미합니다.

4-2-3. 아웃라이어 시각화

Feature(피처) : 데이터베이스 내에서 특정 데이터 항목이나 개체를 설명하는 개별적이고 측정 가능한 속성 또는 특성
동의어 : 속성(attribute), 필드(field), 컬럼(column), variable, predictor, input 등
피처별로 이상치 분포를 박스 플롯으로 시각화해 줘.
💬
gpt
Fare: 상단에 여러 개의 극단적인 이상치 존재 (고가 티켓 승객).
Age: 전반적으로 안정적이며, 일부 고령층 데이터가 상위 이상치로 탐지됨.
SibSp, Parch: 대부분 0~2 범위에 집중, 가족 수가 많은 승객이 이상치로 표시됨.
Pclass: 범주형에 가까운 형태로 이상치 개념은 거의 없음.

4-2-4. 아웃라이어 처리

'Age' 피처에 대해서는 IQR 기법으로 이상치를 제거해줘. 이상치 처리 전후를 히스토그램과 박스플롯으로 비교해줘.
💬
gpt
🔸 히스토그램(상단)
왼쪽: 이상치 제거 전에는 60세 이상 영역에서 극단값이 관찰됨.
오른쪽: 제거 후에는 분포가 중앙부(20~40세)로 안정화됨.
🔹 박스플롯(하단)
왼쪽: 상위 꼬리에 여러 이상치 점 존재.
오른쪽: 이상치 제거 후 상자 경계가 짧아지고, 데이터 중심이 명확히 드러남.
4-2-4-1. 모든 아웃라이어 처리
모든 피처의 이상치에 대해서 IQR 기법으로 제거해줘. 가로형 박스 플롯으로 시각화해주고, 피처마다 제목과 x축 라벨을 포함해줘.
💬
gpt
파일 다운로드
이상치 제거된 파일 다운로드 할 거고, 영어 파일 이름으로 부탁해.
한글이 깨질때
프로젝트 파일에 업로드한 라이브러리를 설치하고 Matplotlib 한글 사용 환경을 설정한 다음 NanumBarunGothic.ttf 파일로 한글을 표현해 줘 모든 피처의 이상치에 대해서 IQR 기법으로 제거하고, 결과를 피처별 박스 플롯으로 시각화해줘. 파일은 다운로드 할 거고, 영어 파일 이름으로 부탁해.
Contact : azureguy@empal.com / azureguy@cau.ac.kr