산업공학/데이터분석

[ADA] 1. Data Preparation

테드리 2024. 4. 23. 20:45

1. Various Data Preparation Steps

데이터 수집 →  데이터 탐색    데이터 정제    데이터 구조화    데이터 변환    데이터 검증   

출처: https://www.techtarget.com/searchbusinessanalytics/definition/data-preparation

 

2. EDA (Exploratory Data Analysis)

데이터의 주요 특성을 요약하는 것을 목표로 하는 데이터 분석, 접근 방식

 

2.1. Comprehensive Exploration

- Domain Knowledge가 매우 중요함

- Domain Knowledge를 기반으로

  • Data Size (크기)
  • Data Attribution (속성)
  • Data Statistics (통계) :  Pandas의 Describe method 사용
#df.info() 혹은 df.describe() 사용

import pandas as pd

df = pd.DataFrame(data)
df.info()
df.describe()

 

2.2. Exploring Attributes

  1. Descriptive Statistics (기초 통계량)
    • Mean (평균): $\frac{1}{n} \sum_{i=1}^{n}x_i$
    • Variance (분산)
      • 모분산 : $\text{Var}(X) =  \frac{1}{N} \sum_{i=1}^{N} (x_i - \mu)^2$
      • 표본분산 : $\text{Var}(X) =  \frac{1}{n-1} \sum_{i=1}^{n-1} (x_i - \bar{x})^2$
    • Covariance (공분산):  두 변수 간의 변동 방향성 확인, 정도는 확인 불가
      • 모집단 : $\text{Cov}(X,Y) = \frac{1}{N} \sum_{i=1}^{N} (x_i - \mu_x)(y_i - mu_y)$
      • 표본분산 : $\text{Cov}(X,Y) = \frac{1}{n-1} \sum_{i=1}^{n-1} (x_i - \bar{x})(y_i - \bar{y})$
    • Correlation (상관관계) : 공분산과 달리 방향성의 정도까지 확인 가능
      • $\text{Corr}(X,Y) = \frac {\text{Cov}(X,Y)}{\sigma(X)\sigma(Y)}$
      • 상관간계는 -1에서 1사이 값을 가지며, 0에 가까울수록 두 변수간 상관성이 없다.
  2. Data Preprocessing (데이터 전처리)
    • Missing Data Processing (결측치 탐지)
      • Missing Completely at Random (완전 무작위 결측) : 시스템 에러, 오기입 등
      • Missing at Random (무작위 결측) : 다른 변수에 영향을 받음, 에러이긴 하지만 추가적인 정보 습득 가능 ex) 여성들은 주로 몸무게를 기입하지 않는다.
      • Missing not at Random (비무작위 결측) : 고의성 결측  ex) F학점에게 학점을 물어보면?
    • 결측치 처리 방안 3가지
      1. Retention (그대로 두기) : 결측치가 그 자체로 의미가 있을 경우 그대로 두기
      2. Deletion (삭제) : 결측치가 필요없다고 판단되거나 데이터 양이 충분히 많은 경우 삭제하는 것은 빠른 의사결정 지원
      3. Imputation (보간) : 도메인 지식이 있다면 그 지식을 바탕으로  데이터 내부의 유사한 데이터와 같이 그 결측치도 유사한 값을 가질 거라 예상
        • 중간값, 최빈값, 평균, 전진대치, 후진대치 등의 방법이 존재
        • method = fillna() or df.bfill(), df.ffill()
    • Outlier Processing (이상치 탐지) : 데이터 셋에서 나머지 대비 확실히 다른 데이터 
      • Global Outliers : 어떤 관점에서 누가 봐도 확실한 이상치 
      • Contextual Outliers : 특정 조건에서 봤을 때만 이상치인 것
        • ex) 서장훈의 키는 농구선수들 내에서는 정상, but 전체 남성에서는 이상치일 수 있음
    • 이상치 처리 방안
      • 도메인 지식 활용, 통계량 (Z - Score) or 시각화, other 알고리즘 (이진 나무 등)
    • Anomaly Processing : 데이터에서 정상 범위를 벗어난 것 (예 : 학점 4.9)
      • Anomaly는 말 자체가 안되는 데이터이기 때문에 Deletion과 Imputation만 가능
      • Imputation의 경우, 도메인 지식이 많이 요구됨

'산업공학 > 데이터분석' 카테고리의 다른 글

[ADA] 데이터 기반 의사결정  (2) 2024.07.17