데이터 분석가 인터뷰에 나올법한 용어 정리
github 자료와 메모 자료들을 정리하던 도중, CS 관련 지식들을 정리해놓은 자료들을 발견했다.
아주 기초적이고 쉬운 내용들이지만, 복습 겸 블로그에 다시 정리하고자 한다.
이번 블로깅은 데이터 분석가 인터뷰에 나옴직한 용어들을 정리한 것이다. 이전에 정리했던 개발자 인터뷰에 나올만한 IT 용어 정리와 연장선상에 있는 글이다.
이전 포스팅 - 1
이전 포스팅 - 2
1. 머신 러닝 VS 데이터마이닝
머신 러닝은 기존 데이터로 모델을 학습시킨 뒤 새로운 데이터를 입력했을 때, 이를 예측 및 분류해주는것. 데이터마이닝은 가지고 있는 데이터에서 특성이나 패턴을 찾아내기 위한 것이다. 더 쉽게 말하면, 머신 러닝은 기계와 프로그래밍적 관점에서의 학습이고, 데이터마이닝은 통계학적 관점에서의 접근이다. 하지만 경계가 점점 불분명해지고 있다. 사실 이 둘을 명확하게 구분해내는 것은 의미가 없다고 개인적으로 생각한다. 일전에 스타트업에 면접을 보러 간 적이 있었는데, 머신 러닝과 데이터마이닝의 차이를 조금 더 명확하게 설명해보라고 혀를 끌끌 차던 곳이 있었다. 글쎄, 얼마나 중요한 질문인지는 모르겠지만 그 회사는 여전히 서비스를 준비중이기만 한 스타트업이다(떨어졌다고 욕하는건 아니다)
2. p-value란
통계학적 관점에서 가설을 검증하는 방법이다. 어떤 자료에 대한 수치적 특성, 이를테면 평균 같은 것을 구한다고 하자. 하지만 실제의 집단(모집단)은 전수조사 할 수 없기 때문에 주어진 자료는 샘플링된 자료이고, 샘플링이라는 것을 통해 실제 집단의 수치적 특성을 추론해야 한다.
예를 들어 실제 모집단의 평균이 100, 분산이 30인 자료가 있다고 할 때, 우리는 그 자료에서 샘플링된 데이터가 있을 것이다. 이 데이터의 평균은 95, 분산은 28로 나타났다. 이때 이 자료를 통해 실제 모집단은 평균이 100, 분산이 30일 것이라는 가설을 세울 수 있다. 이 가설을 검증하기 위한 수치가 p-value 이다.
여기서 p-value는, 데이터를 새로 샘플링 했을 때 지금 내가 갖고있는 95라는 값보다 크거나 같은 값이 나올 확률이다. 간단하게 말하면, 귀무가설이 맞다는 전제 하에 현재 나온 통계값 이상이 나올 확률이 p-value 이라는 것. 만약 p-value가 너무 낮으면, 가설이 일어날 확률이 너무 낮기 때문에 귀무가설을 기각하게 된다. 보통 그 기준은 정하기 나름이지만 일반적인 사회통계학에서는 0.05나 0.01을 기준으로 한다. 이 기준을 바로 유의수준이라고 한다.
p-value 사용시 주의할점과 한계점 : 가설 검증을 실행할 도메인에 따라 유의수준 설정에 유의해야 함. 예를 들어 사람의 생명과 직결되는 질병 판단의 경우 1종오류에 해당하는 영가설에 대한 유의수준을 낮게 설정해야 한다.
영가설(귀무가설), 대립가설(연구가설): 무언가를 비교할 때 두 통계치간의 차이가 없다는 것, 샘플과 모집단의 차이가 없다는 것 등의 효과가 없다는 가설을 영가설이라 한다. 반대로 통계치가 차이가 있다, 효과가 있다는 가설을 대립가설이라 한다. 이 때, 1종 오류는 영가설이 참이지만 기각하는 경우이고 2종 오류는 영가설이 거짓이지만 채택하는 오류이다.
3. t-test란
두 집단의 평균이 같은지를 검정하는 방법이다. 정규성과 등분산성이 가정되어야 한다. 정규성이 가정되는 경우(n>30) Z-test를 시행하기도 한다. 일반적으로 t-test는 표본이 30보다 작은 경우 등에 사용된다.
표본이 30개가 넘으면 중심극한정리를 만족하기 때문에 Z-test를 사용하기도 한다. Z-test는 표본표준편차를 사용하는 t-test와 달리 실제 모표준편차를 이용하는 것이다. 만약 같은 자료가 년도별로 나뉜 자료를 분석한다면, Paired T-test를 검정해야 한다.
4. 자유도란?
평균과 같은 통계값은 모집단에 대해 불편 추정된다. (클수도 있고 작을수도 있다는 것) 하지만 분산의 경우, 자료를 제곱하기 때문에 자료의 크기가 작을수록 분산이 낮아지게 된다. 즉 수학적으로 편향 추정된다는 것이다. (모집단에 비해 작음) 이러한 편향 추정을 보정하기 위해 표본 자료의 분산에 n/n-1 을 곱하게 되면 모집단과 유사한 값을 가지게 된다. 이름이 자유도인 이유는, 마지막 한 개는 모집단의 통계값과 같아지기 위해 사용되므로 자유를 상실하기 때문이다.
5. 중심극한정리란
분산이 유한한 모집단에서 샘플링된 표본 데이터는 표본 데이터의 크기가 커질수록 정규분포의 형태를 띄어간다는 것. 즉, n이 무한한 값으로 커져갈수록 정규분포에 가까워진다는 것이다.
중심극한정리의 맹점 : 중심극한정리를 맹신하여 모든 상황이 정규분포에 수렴한다는 가정을 하는 것. 모집단의 데이터가 충분하지 않거나 특수한 도메인의 경우에는 정규분포에 수렴하지 않을 수 있다.
큰 수의 법칙이란 : 어떤 확률을 가진 시행을 큰 수로 반복했을 때, 그 사건의 결과는 평균의 값으로 수렴하게 된다는 것. 예를 들어 앞면 뒷면을 가진 동전을 여러번 던졌을때, 그 비율은 1:1로 수렴하게 되는것이다.
Universal Approximation Theorem : Deep Learning에서의 중심극한정리라고 말할 수 있는 개념이다. 존재할 수 있는 모든 함수 f(x)는 인공신경망으로 반드시 수렴시킬 수 있다는 간단한 이론이다. 딥 러닝을 연구하는 여러 유명인사들이 자주 강조하는 개념이다. DL을 처음 시작할 때 직접 코딩해보는것도 도움이 된다.
6. 통계학을 한마디로 정의하면
차이를 밝히기 위한 학문이다. (물론 이 생각은 매우 필자 주관적이다)
통계학은 대상간의 차이를 밝히는 것 이라고 생각하기 때문이다. 모집단과의 차이를 밝혀냄으로써 자료의 성질을 설명하기도 하고, 유클리드 거리의 차이를 이용하여 클러스터링을 하기도 한다. 또한 T-test 등으로 집단간의 차이를 규명하기도 한다. 이러한 모든 요소들의 공통점은 차이점을 밝혀내기 위한 것이라고 생각한다.
7. 베이지안 주의와 빈도주의의 의미
매우 방법론적인 용어이다. 빈도주의 확률은 오로지 객관적 계산에 의미를 부여한다. 즉, 빈도주의자들은 과학적 실험을 통해서만 발견된 사실을 이용하여 확률을 계산한다. 반면 베이즈주의 확률은 사전확률과 조건부확률이라는 개념을 통해 상황에 주관성을 부여한다. 빈도주의가 과거의 사실만을 토대로 확률을 구한다면, 베이즈주의는 과거의 사실에 현재의 증거를 토대로 계산한다는 것이 다르다.
8. 지도학습과 비지도학습의 차이
지도학습이란 독립 변수에 따른 종속 변수가 있는 데이터를 통해, 훈련 데이터로부터 특정한 함수를 유도하기 위한 학습의 방법이다.
비지도학습은 결과정보가 없는 데이터들의 패턴이나 특징을 파악하는 것으로, 훈련 데이터를 이용하지 않기 때문에 비지도이다.
9. 표준 편차와 표준 오차
표준편차는 개별 측정치들이 평균과 얼마나 떨어져있는지에 대한 수치이다.
표준오차는 모집단에서 추출한 각각의 표본집단의 평균을 하나의 데이터로 본 뒤, 이에 대한 표본표준편차를 구한 것이다.
10. 배깅과 부스팅의 차이점
배깅은 무언가를 분류하는 모델을 학습할 때, 하나의 모델로서 학습하는 것이 아니라, 샘플링된 데이터로 여러 모델을 학습하여 (= 붓스트랩을 여러개 생성) 모델들의 결과를 마치 다수결 투표처럼 투표하거나, 평균을 내어 반영하는 방식이다. 부스팅은 붓스트랩 1번 데이터로 학습하고, 여기서 약점을 찾아 2번 붓스트랩 데이터를 학습할때 그부분을 보완하며 순차적으로 학습하는 방법이다.
차이점 : 배깅은 독립된 분류기들을 만들고 이를 종합하여 평가했다면, 배깅은 분류기가 순차적 학습을 통해 이전 분류기의 학습 결과를 이용하여 새로운 분류기를 학습해나가는 과정이다. 즉, 앙상블은 붓스트랩 과정이 빠진 배깅이라고 할수있다.
11. 모수적 방법과 비모수적 방법의 차이
모수적 방법은 모집단이 있는 상황을 가정하여 진행하는 방법이다. 알려진 확률분포를 통해 모집단의 성질을 추정한다. 반면 비모수적 방법은 모집단을 가정하지 않고, 주어진 자료만을 가지고 판단하는 방법이다. 클러스터링 기법 등이 비모수적 방법에 속한다.
12. 회귀계수 추정법
회귀계수 추정이란, 무언가를 예측하거나 설명하는 회귀 분석의 회귀식에서 베타로 표현되는 회귀 계수들을 근사적으로 추정해나가는 것을 의미한다. 회귀계수 추정법으로 가장 일반적인 것은 최소 제곱법이다. 최소 제곱법은 y=b0 + b1x1 + b2x2 … + e 에서 e로 정리했을 때(y의 실제값과 예측값의 차이 == 오차) 오차 제곱의 합이 최소가 되게끔 회귀 계수들을 추정하는 것이다. 즉 주어진 오차함수를 최소로 만드는 b들을 찾는 것이 문제의 목표이다. 대표적인 방법으로 OLS(최소 자승법)의 GD(Gradient Descent)가 있다.
13. 회귀분석에서 F값, R2값, RMSE, SSE 등의 의미
T, F 통계량 : 회귀분석에서 각 변수(회귀계수)를 추정하는 것은 ′𝐻0∶𝛽=0′ 라는 가설을 검정하는 문제라고 할 수 있다. 하나의 설명변수에 하나의 종속변수를 설명하는 것은 t 통계량을 사용한다(단순선형회귀). 다중선형회귀에서도 마찬가지다. 각각의 설명변수가 종속변수에 대해 미치는 영향을 t-test로 수행할 수 있다. 다중선형회귀에서 여러 개의 설명변수(==독립변수)가 종속변수를 설명하는데에 통계적으로 유의미하게 기여하는지에 대한 여부를 검증해야 한다. 이는 분산분석의 형태로 진행되고, 귀무가설 ′𝐻 ∶ 𝛽 =𝛽 =⋯=𝛽 =0’ 를 검정하는 문제가 된다. 이 가설을 검정하기 위한 검정 통계량이 F 통계량이다. F 통계량이 커질수록 p-value는 작아지게 된다. 따라서 F 통계량으로 p-value를 결정하게 되고, p-value를 통해 가설에 대한 결론을 내리게 된다.
TSS = SSR + SSE —> 전체 제곱합
SSR = sum((예측값-평균)^2) —> 회귀 제곱합
SSE = sum((관측값-예측값)^2)
MSE = SSE / n
RMSE : Root Mean Square Error로, MSE에 루트를 씌운 것이다. RMSE를 비용함수로 선택한다면, 예측값과 실제값이 평균적으로 얼마나 벌어져있는지에 대한 값을 줄여나간다고 할 수 있다. 즉, RMSE는 예측값과 실제값이 평균적으로 얼마나 벌어져있는지에 관한 수치.
R2 : 회귀식의 적합도를 측정하는 척도. 전체 제곱합 중에서 회귀 제곱합이 차지하는 비율이다. 당연히 이 비율이 높을수록 (== 1에 가까울수록) 추정된 회귀식이 자료를 잘 설명하는 것. MSE의 표준화(재조정) 버전으로 이해하는 것이 옳다.
AIC(Akaike’s Information Criteria) : 입력변수의 선택을 진행할때 기준이 되는 계수 중 하나.
14. 마르코프 프로세스
어떤 상태로 들어갈 확률이, 바로 직전의 상태에만 의존하는 확률 과정 == 미래의 프로세스가 현재의 상태에 의해서만 결정되는 것.
즉 메모리를 갖지 않는 이산 확률이라고 할 수 있다.
15. T-test, anova, 통계량 T 값의 의미 해석
통계적 가설 검정 방법들은 모두 p-value라는 것을 통해 유의수준을 기준으로 가설을 평가하게 된다. t-test에서 p-value는 원래 수동으로 t값과 표를 이용하여 계산하였다.
T-test 검정을 할 때 두 그룹간에 차이가 있는지를 알기위해 계산되어지는 검정통계량이 바로 t값이다. 이 t값을 가지고 가설을 기각하는 기준치와 비교하게 된다 된다. 결국 t값은 p-value를 위한 검정통계량이라고 할 수 있다. 그래서 컴퓨터로 통계분석을 자동적으로 할 때는 p-value와 유의수준만을 가지고 평가하는 것이고, t값에 의해서 자동적으로 p-value가 결정된다는 것이다. 그래서 컴퓨터로 가설 검정을 하고, 학습을 진행시킬때는 t값을 특별히 해석하거나 고심할 필요가 없다는 것이다. 또한, 이 상황에서는 T-test의 검정 통계량이 t라면 anova에서의 검정 통계량은 F라는 차이뿐이다.
회귀분석에서 각 변수(회귀계수)를 추정하는 것은 ′𝐻0∶𝛽=0′ 라는 가설을 검정하는 문제라고 할 수 있다. 하나의 설명변수에 하나의 종속변수를 설명하는 것은 t 통계량을 사용한다(단순선형회귀). 다중선형회귀에서도 마찬가지다. 각각의 설명변수가 종속변수에 대해 미치는 영향을 t-test로 수행할 수 있다. 다중선형회귀에서 여러 개의 설명변수(==독립변수)가 종속변수를 설명하는데에 통계적으로 유의미하게 기여하는지에 대한 여부를 검증해야 한다. 이는 분산분석의 형태로 진행되고, 귀무가설 ′𝐻 ∶ 𝛽 =𝛽 =⋯=𝛽 =0’ 를 검정하는 문제가 된다. 이 가설을 검정하기 위한 검정 통계량이 F 통계량이다.
16. 표준화와 정규화의 차이
표준화(Standardization) : 평균에서 얼마나 떨어져 있는지를 관찰하는 것으로, 흔히 생각하는 z값을 구하는 과정. ((요소값 - 평균) / 표준편차)
정규화(Normalization) : 일종의 Rescaling으로 현재 요소가 전체 값들 중에 어느 위치에 있는 지를 나타낸다. 요소값, 최소값, 최대값 등을 이용하여 0~1사이의 값이나 0~100 사이의 값으로 피처를 다시 나타내는 것.