새소식

인공지능 AI

EDA(Exploratory Data Analysis)

  • -

 

ML에서 사용되는 statistics는 Data Science에 가깝고,
'Neural Network'는 Computer Science에 가깝다고 할 수 있다.

그리고 Data Science의 목표는 structured 되어 있지 않은 폭발적인 양의 raw 데이터를 활용 가능한 정보로 만드는데에 있다.

Data Science의 토대는 John Wilder Tukey라는 미국의 아주 유명한 통계학자로부터 시작됬다고 한다. 그리고 John Wilder Tukey는 EDA를 창안하기도 하였다. 기존의 statistics이 정보 추출에서 Hypothesis test에 치우쳐 자료가 가지고 있는 본연의 의미를 찾는데 어려움이 있었다. 이를 보완하고자 주어진 자료만 가지고 충분한 정보와 패턴을 찾을 수 있도록 여러가지 탐색적 데이터 분석 기법(EDA)을 개발하였다.

그리고 또 그의 제자 Donoho의 "50years of Data Science(2015)"도 읽어보면 좋다고 한다.

https://www.tandfonline.com/doi/pdf/10.1080/10618600.2017.1384734?needAccess=true




 

EDA(Exploratory Data Analysis)

 

1. Type of Data

데이터 분석, 예측, 모델링, 시각화, 해석, 통계 모델 결정에는 데이터의 종류가 중요하다.

 

1) Numerical(수치형)

  • Continous(연속형)

셀수 X *유의어-구간형(interval),실수형(real),수치형(numeric)

 

  • Discrete(이산형)

셀수 O *유의어-목록(list),열거(enum),요인(factor),명목(nominal),다항형(polychotomous)

 

2) Categorical(범주형)

  • Binary(이진형)

*유의어-이항적,논리형,지표(indicator), boolean

 

  • Ordinal(순서형)

*유의어-정렬된 요인 데이터

 

-> 데이터의 타입의 정보는 SW가 차트 생성이나 모델 피팅 등, 통계 분석을 수행하는 방식을 결정하는데 도움을 준다.
ex. sklearn.preprocessing.OrdinalEncoder

 

**pandas는 read_csv시 열 별로 데이터의 타입을 명시해주어야 한다.

 

2. Table Data

statistic, ml model에서 가장 기본이 되는 테이블 형태의 데이터는 data frame

 

1) data frame의 구성 요소

  • feature = 특징, 속성, 열, 입력, 예측 변수(predictor), independent variable, variable
  • outcome = dependent variable, response, target, output
  • record = observation, case, example, pattern, sample

data frame 외에 많이 사용되는 데이터 형태로는 graph(network data)가 있으며 주로 여러 추상적인 관계를 표현하거나 네트워크 최적화, 추천 시스템 등에서 사용됨

 

 

3. Position estimate(위치추정)

데이터 표현에 있어 변수들은 보통 수천가지의 다른 값을 갖는데, 그래서 typical(대푯값)을 구해야 한다. 이는 데이터의 대부분이 어디에 위치하는지 central tendency(중심 경향)을 나타는 estimate이다.

 

  • mean

*대문자N은 모집단, 소문자n은 모집단에서 얻은 sample 수

  • trimmed mean

크기 순으로 정렬 후 양 끝에서 일정 갯수 삭제한 남은 값의 평균

 

예를 들어, 대회에서 심판 5명 중 가장 낮은 점수와 높은 점수를 제외한 3명의 점수만을 합산한다.

 

  • weighted mean

가중치 wi를 곱한 값들의 총합을 다시 가중치의 총합으로 나눈 것

 

어떤 값들이 본래 다른 값에 비해 큰 변화량을 가질 때, 이러한 관측값들에 대해 가중치를 적용한다.
데이터 수집시 항상 같은 수로 얻어지는 것이 아니다. 데이터가 부족한 소수 그룹에 대해 더 높은 가중치를 조정하는 등의 방식으로 이를 해결한다.

 

  • median

50번째의 percentile 이며 데이터 일렬로 정렬 후 한 가운데 값. 짝수일 경우 중간 2개 값의 평균.

많은 경우 데이터의 민감한 평균보다 중간 값이 좋을 수 있다.

outlier에 robust하다. (weighted median 도 마찬가지)

 

  • weighted median

어떤 위치를 기준으로 상위 절반의 가중치의 합이 하위 절반의 가중치의 합과 동일한 위치 값

 

=> weighted mean, weighted median, trimmed mean은 robust 함.

 

  • percentile

전체 데이터의 p% 아래에 두는 값

 

*quantile(분위수)

*robust 하다 = outlier에 민감하지 않다. 즉 resistant가 있다.

*outlier는 다소 주관적임. 에러 값을 outlier로 보기도 한다.

*metric(측정 지표) = estimate(추정값) : 데이터로부터 얻은 값과 실제 상태를 나타내는 이론적인 참 값 구분

 

 

 

 

4. Variability estimate(변이 추정)

데이터의 특징을 요약한 것 2개가 위의 위치 추정과 변이 추정(variability estimate)가 있다.

 

변이(variability) : 데이터가 얼마나 밀집, 퍼져있는지 dispersion(산포도)를 나타냄

 

통계의 핵심에는 variability가 있다. variability를 측정하고 줄이고 실제 변이인지 랜덤인지 구분하고 variability의 다양한 요인을 알아보고 variability가 있는 상황에서 결정을 내리는 등.

 

통계의 핵심에는 변이(variability)가 있다.

 

  • Deviation(편차)

관측값과 위치 추정값의 차이(=오차, 잔차)

데이터가 중앙값을 주변으로 얼마나 퍼져있는지 설명

 

  • Variance(분산)

평균과의 편차를 제곱한 값들의 합을 n-1로 나눈 것.(제곱편차의 평균) 평균으로 부터 거리를 측정할 수 있음

평균에서 거리를 계산해서 그 값이 작을 수록 평균에 가까우므로 좀 더 고른 데이터라고 판단이 가능

제곱을 하는 이유는 제곱한 값이 절댓값보다 통계 모델을 다루는데 편리하기 때문

 

 

  • Mean square error(MSE 평균제곱오차)

MSE는 추정량과 목표값의 거리의 제곱에 대한 기대값이고, Variance는 추정량과 추정량의 기대값과의 거리에 제곱에 대한 기대값이다.

(실제값 - 예측값)^2 / 크기

 

  • Standard Deviation(표준편차)

분산의 제곱근을 나타냄. 분산이 데이터의 분포를 잘 나타내지만, 평균과의 거리를 제곱했기 때문에 실제 데이터가 평균에서 어느정도 떨어져있는지 직관적으로 알기 어렵다. 따라서 제곱근의 씌워 표준 편차를 분포를 보기 위해 사용하기도함.

 

  • Mean Absolute Deviation(평균절대편차)

평균과의 편차에서 절대 값의 평균(유의어 - l1 norm, Manhattan norm)

여기서 바x는 표본평균을 의미

 

  • Median Absolute Deviation(MAD)

중간값(중위) 절대 편차. 중간값과의 편차의 절댓값의 중간 값

평균절대편차와 유사하지만 평균 대신 중앙 값을 씀. 절대 편차의 일종으로 관측값에서 중앙값을 뺀 값들의 중앙 값을 구함.

variance, standard deviation, mean absolute deviation 모두 robust 하지 X. 특히 제곱을 사용하는 variance의 경우는 더. robust한 변이 추정값에는 MAD를 사용한다.

아우 헷갈려

 

 

  • Range(범위)

데이터의 최솟값과 최댓값의 차이

outlier에 민감하기 때문에 데이터의 변이를 측정하는데 그렇게 유용하지는 않다.

 

  • Order Statistics(순서 통계량)

최소에서 최대까지 정렬된 데이터 값에 따른 통계량

 

  • Percentile(백분위수)

outlier에 민감한 것을 피하기 위해 범위의 양 끝 값들을 지운 후 범위를 다시 알아볼 수 있다.

P퍼센트가 이 값 혹은 더 작은 값을 갖고 100-p 퍼센트가 이값 혹은 더 큰 값을 갖도록 하는 것

변이를 추정하는 방법 중 분산을 보는 것 외에 정렬된 데이터가 얼마나 퍼져있는지를 보는데 이때 percentile이 사용됨.

 

*frequency distribution table(도수분포표)는 구간의 크기가 같게 즉 구간 안에 다른 개수의 데이터가 오도록 했다면 Percentile은 각 구간안에 같은 수의 데이터가 포함되도록 서로 크기가 다르게 구간을 나눈것

 

 

  • Inter Quartile Range(IQR)

사분 범위라고 하며, 75번째 백분위수(0.75분위수)와 25번째 분위수의 사이의 차이

 

box plot

 

  • frequency table & histogram

 

 

frqency table(도수분포표)는 변수의 범위를 동일한 크기로 나누고, 각 구간마다 몇 개의 변숫값이 존재하는지를 보여주기 위해 사용된다.

 

 

  • Density Estimate

히스토그램에서, 데이터의 분포를 연속된 선으로 보여주는 것을 Density라고 한다. 부드러운 히스토그램.

히스토그램과 가장 큰 차이는 y축의 단위이다. Density Plot에서는 개수가 아닌 '비율(ratio)'를 표시한다.

Data Science에서 밀도 추정은 가장 기본 함수를 사용하는 것으로 충분.

 

 

 

5. Binary Data & Categorical Data Exploratory

  • mode(최빈값)

데이터에서 가장 자주 등장하는 범주 혹은 값

 

  • expected value(기댓값)

범주에 해당하는 어떤 수치가 있을 때 범주의 출현 확률에 대한 평균

예를 들어 A서비스 이용료가 30만원 B서비스 이용료가 5만원이고 5%의 이용자가 A를 15%가 B를 80%가 아무 서비스도 이용하지 않을 것이라고 가설을 세웠을 때 기대 값은

EV = (0.05)(300) + (0.05)(50) + (0.8)(0) = 22.5

 

 

6. Correlation Coefficient(Pearson Correlation Coefficient ,PCC)

수치들 간 어떤 관계가 있는지 나타내기 위해 사용되는 측정량. -1 ~ +1 사이의 값을 가진다.

x와 y 각각의 평균으로부터 편차들을 서로 곱한 값들의 평균을 다시 변수의 표준편차의 곱으로 나눠준다.

 

 

변수들이 선형적이지 않으면 상관계수는 유용한 지표가 X

시각적으로 상관관계를 확인하려면 Scatter plot을 그려 확인하면 된다.

 

scatter plot

 

 

**variance, correlation coefficient에서 분모가 n이 아닌 n-1인 이유는? 다음 편에서 설명

 

 

7. Bivariate Analysis(이변량분석) & Multivariate(다변수, 다변량)

mean, varaicne와 같은 익숙한 estimate(metric)은 한 번에 하나의 변수를 다룬다.(Univariate Analysis)

Bivariate Analysis의 방법

 

  • Contingency table(분할표)

두 가지 이상의 categorical variable의 freqency를 기록한 표

 

  • Hexagonal Bining(육각형 구간)

두 변수를 육각형 모양의 구간으로 나눈 그림

 

  • Contour plot(등고 도표)

지도상의 같은 높이의 지점을 등고선으로 나타내는 것 처럼 두 변수의 밀도를 등고선으로 표시한 도표

 

  • Violin plot

box chart와 비슷하지만 밀도 추정을 함께 보여준다

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.