EDA
- 추론(Inference): 적은 표본(샘플)을 가지고 더 큰 모집단 에 대한 결론 을
도출하기 위한 일련의 복잡한 과정
- 표본과 샘플, 표본추출과 샘플링, 모형과 모델, 임의와 랜덤 등은 혼용함
정형화된 데이터의 요소
왜 데이터를 구분할까?
- 그래프를 그리거나 모델을 피팅하는 등의 통계분석을 수행하는 방식을 결정하는데 큰 도움을 준다.
- 범주형 데이터라는 결국
enum
이다.
수치형 데이터
말 그대로 숫자로 표현된다.
데이터 | 설명 | 예시 |
---|---|---|
연속형 데이터 | 어떤 범위 안에서 어떤 값이든 가질 수 있는 데이터로, 구간형 또는 실수형 이라고도 한다. | 속도, 지속시간 등 |
이산형 데이터 | 셀 수 있는 값을 갖는 데이터 | 횟수, 사건의 발생 빈도 등 |
범주형 데이터
카테고리로 나눌 수 있는 데이터로, 제품 종류나 도시 이름 같이 어떤 범위 안에서의 이산형 데이터로 볼 수도 있다.
데이터 | 설명 | 예시 |
---|---|---|
이진 데이터 | 둘 중 하나 | 참/거짓, 예/아니오 등 |
순서형 데이터 | 범위 안에서 서로 order가 정의되는 데이터 | 평점 등 |
테이블 데이터
용어 | 설명 | 유의어 |
---|---|---|
데이터 프레임 | 스프레드시트와 같은 테이블 형태의 데이터 | - |
피쳐 (Feature) | 테이블의 각 열 | 특징, 속성(Attribute), 입력, 예측 변수(Predictor), 변수 |
결과 (Outcome) | 프로젝트의 목표. 결과를 예측 하기 위해서 피쳐를 사용한다. | 종속변수, 응답, 목표, 출력 |
레코드 (Record) | 테이블의 각 행 | 기록값, 사건(Case), 사례, 예제(Example), 관측값, 패턴, 샘플 |
- 통계: 응답변수 (또는 종속변수)를 예측하는 모델에서 예측변수 를 사용한다
- 데이터 과학: 목표 를 예측하는데 피쳐 를 사용한다
위치 추정
데이터가 주어졌을 때 데이터를 살펴보는 가장 기초적인 단계는 각 피쳐(변수)의 “대표값(Typical Value)”을 구해서 -> 대부분의 값 이 어디쯤에 위치하는지를 추정해본다.
용어 | 설명 | 유의어 |
---|---|---|
평균 (Mean) | - | Average |
가중평균(Weighted Mean) | 가중치를 곱한 값의 총합을 가중치의 총합으로 나눈 값 | |
중간값 (Median) | - | 50번째 백분위수 (Percentile) |
백분위수 | 전체 데이터의 P%를 아래에 두는 값 | 분위수(Quantile) |
절사평균 (Trimmed Mean) | 정해진 개수의 극단값을 제외한 나머지 값들의 평균 | 절단평균 (Truncated Mean) |
로버스트(Robust) | 극단값들에 민감하지 않은 상태 | 저항성 (Resistant) |
특잇값 (Outlier) | 대부분의 값과 매우 다른 데이터 값 | 극단값(Extreme Value) |
- 통계: 데이터로부터 계산된 값들에 보통 추정값(estimate) 이라고 부른다. –> 불확실성을 이해하기 위한 학문이다. 그래서 추정 한다.
- 데이터 과학: 데이터로부터 계산된 값을 측정 지표(metric) 라고 부른다. –> 구체적인 비즈니스 또는 조직의 목표치에 관심을 둔다. 그래서 측정 한다.
가중평균
- 어떤 값이 다른 값에 비해 큰 변화량 을 가질 때, 이를 작은 가중치를 둬서 영향을 줄일 수 있다. 예를 들면, 여러 개의 센서 중 특정 센서의 정확도가 떨어지면 이 센서에는 가중치를 낮게 준다.
- 데이터를 수집할 때 우리가 관심있는 서로 다른 대조군에 대해서 정확히 같은 비율을 맞추기란 불가능에 가깝다. 이를 보정하기 위해서 데이터가 부족한 소수 그룹에 더 높은 가중치를 적용할 수도 있다.
로버스트한 추정
- 많은 경우 데이터에 매우 민감한 평균보다는 중간값이 위치 추정에 더 유리하다. 예를 들어 가계소득 등. 왜냐하면 결과를 왜곡할 수도 있는 특잇값(극단값) 의 영향을 받지 않으므로 로버스트 하다고 여겨진다.
- 절사평균도 괜찮다. 예를 들어 상하위 10%를 잘라내는 방법은 데이터가 너무 적지만 않다면 특잇값으로부터 데이터를 보호할 수 있다. 이는 평균과 중간값의 절충안이라고 볼 수도 있다.
import pandas as pd
import scipy
import numpy as np
import wquantiles
# load data - check out https://github.com/gedeck/practical-statistics-for-data-scientists/tree/master/data
state = pd.read_csv('state.csv')
# 평균, 절사평균(10%), 중간값
state['Population'].mean()
scipy.stats.trim_mean(state['Population'], 0.1)
state['Population'].median()
# 미국 전체의 평균 살인율 계산 - 인구를 가중치로
np.average(state['Murder.Rate'], weights=state['Population'])
# 가중 중간값 - wquantiles 패키지
wquantiles.median(state['Murder.Rate'], weights=state['Population'])
변이 추정
변이(Variability)는 데이터 값들이 얼마나 밀집 혹은 퍼져 있는지를 나타내는 산포도(Dispersion) 를 나타낸다.
변이를 측정하고, 줄이고, 변이와 랜덤값을 구분하고, 변이의 다양한 요인들을 살펴보고, 변이가 상황에서 어떻게 결정을 내리는지 등 통계의 핵심이다.
용어 | 설명 | 유의어 |
---|---|---|
편차 (Deviation) | 관측값과 위치 추정값 사이의 차이 | 오차, 잔차(Residual) |
분산 (Variance) | 평균과 편차의 제곱의 합을 (n-1)로 나눈 값 | 평균제곱오차 |
표준편차 (Standard Deviation) | 분산의 제곱근 | |
평균절대편차 (Mean Absolute Deviation) | 평균과 편차의 절대값의 평균 | L1 노름, 맨해튼 노름 |
중간값의 중위절대편차(MAD; Median Absolute Deviation from the median) | 중간값과의 편차의 절대값의 중간값 | |
범위 | 최대값 - 최소값 | |
순서통계량 (Order Statistics) | 최소~최대로 정렬된 데이터 값에 따른 계량형 | 순위 |
백분위수 (Percentile) | 어떤 값들의 P 퍼센트가 이 값 이하의 값을 갖고, (100 - P) 퍼센트가 이 값 이상을 갖도록 하는 값 | 분위수 |
사분위범위 (IQR; InterQuantile Range) | 75번째 백분위수와 25번째 백분위수의 차이 |