이 글은 통계학을 공부하는 과정에서 왜 딥러닝에서 통계가 필요하고 어떤 개념들이 데이터 분석/딥러닝 실무에서 중점적으로 필요한지 개인적으로 정리하기 위한 목적으로 쓴 시리즈 글입니다.
(사실 데이터 분석을 실무를 경험했지만 딥러닝에서는 실무를 경험해보지 않았기 때문에 딥러닝 관점에서는 사실 공부하면서 중요하다고 생각한 개념들이라고 봐주시면 좋을 것 같습니다.)
나조차도 딥러닝 공부하겠다고 그동안 통계공부를 도전해 왔었는데 수학 문제집에서 “집합” 부분만 너덜너덜한 것처럼 항상 평균과 분산, t분포, 중심극한 정리가 공부하다가 이게 앞으로 내가 공부하는 과정에서 왜 필요한지에 대해서 의문을 가져왔는데 해답을 찾지 못해 항상 지지부진했었는데 다시 통계를 공부하기 시작한 시점에서 이를 정리해보려고 합니다.
서론
기본적으로 나는 통계 책의 목차 순서대로 공부하면서 엄청 헤맸었다. 그 이유는 갑자기 등장하는 분포가 무슨 목적인지 이게 왜 있어야 하는지 이해하기 어려웠기 때문이다. 그래서 전체를 다 공부해 본 입장에서 내가 더 이해가 잘되게 순서를 조금 정리해보았다.
더불어서 설명 자체도 단순히 t분포는 표본평균과 표본분산을 알고 모분산을 알지 못할 때 사용된다 같이 설명하기보다는 좀 더 풀어서 왜 그런 것들이 필요한지에 대해서 설명하려고 했다.
그에 앞서서 이전 게시글들을 참고하면 좋겠지만, 간단하게 정리해보면 통계는 결국 특정 분포를 알아내는 것이 목적이다. 그 분포를 안다면 우리는 우리가 관측하지 못한 값에 대해서 예측할 수도 있고 우리가 어떤 기능 개선을 하고 나서 나온 발생한 매출이 실제로 그 원인으로 인해서 오른건지, 아니면 우연히 일어날 수 있는 수준인지를 파악할수도 있다.
단순히, 올랐어!라고 할 수도 있지만 돈을 벌어야하는 기업과 생존이 필수인 스타트업에서는 조금이라도 확실한 결과와 의사결정을 하는 것이 중요하기 때문에 이러한 통계적 검증이 많이 활용된다.
이제 이러한 특성을 알아둔 채로 각 분포에 대해서 설명해보려고 한다.
카이제곱분포란?
“서로 독립적인 표준정규분포 k개의 확률변수를 각각 뽑아서 제곱한 다음 합해서 얻어지는 분포”이다.
→ k개의 표준정규분포가 각각 있고, 서로 독립적이라고 했을 때, 여기서 각각을 뽑아서 제곱한 것이 그려서 찍히는 분포를 의미한다.
이게 왜 의미가 있을까?
- 사실 통계책을 보면 그냥 카이제곱 분포 설명과 공식, 유도, 다른 분포와의 관계 정도만 딱 있어서, 그래서 어떡하라고? 하는 생각이 들곤 한다. 이번에 다시 공부를 하면서 이게 어떤 의미를 가지는지에 대해서 생각을 정리해보았다.
- 우선 카이제곱분포는 “표준정규분포”를 따르는 각 변수들의 제곱합니다.
- 일반적으로 정규분포가 표준 정규분포를 따르기 위해서는 우리는 “표준화”라는 작업이 필요하다.(평균을 빼주고, 표준 편차를 나눠주는 작업)
- 다시 카이제곱 분포의 정의를 보면 마치 표준화를 한 확률변수의 제곱합이라고 볼 수 있다.
- 관측값에서 평균을 빼주는 것은 “일종의 오차”를 의미한다. 그렇다면 우리는 오차에 대해서 이 분포를 활용해서 평가할 수 있지 않을까? 하는 생각이 떠오를 수 있다.
- 일반적으로 회귀분석을 포함해 대부분의 통계적 모형들의 가정들은 error들이 정규성 가정을 가진다.(오차가 가지는 분포가 “정규분포를 따른다.”는 의미)
- 이렇게 오차 혹은 편차에 대한 분석을 진행할 때 카이제곱분포를 활용하면 이 편차가 우연히 발생하는지 그렇지 않은지를 판별할 수 있게 된다.
- 일반적으로 정규분포가 표준 정규분포를 따르기 위해서는 우리는 “표준화”라는 작업이 필요하다.(평균을 빼주고, 표준 편차를 나눠주는 작업)
t분포란?
t분포는 왜 생겨났을까?
- 모든 통계 검정들은 현재 주어진 표본이 가진 데이터가 이러한 분포를 가질 것이라고 가정하고 이를 검증하는 것에서 시작한다.
- 그 중에서도 가정으로 활용되는 분포로 정규분포가 많이 사용되기 때문에 이와 유사한 분포의 필요성이 생겨서 t분포가 등장하게 되었다고 보면 된다.
- 사실 정규분포를 따르는지 검증하기 위해서는 Z검정을 바로 이용하면 된다. 하지만, Z검정은 모집단의 평균과 표준편차를 알아야만 하는 검정이기 때문에 표본 분산, 표본 평균만 가지고 있는 입장에서는 명확하게 Z검정을 활용하기 어렵다.
- 실제로 이 분포를 처음 제안한 논문에서도 표본이 작은 경우에 모분산 대신 표본 분산을 사용해봤더니 오차가 너무 커진다는 문제가 발생했고 이를 풀기 위해 t분포를 생각해낸다.
- 표본의 수가 크면 z검정을 쓰라고는 되어 있지만, 사실 현실에서도 우리가 모집단의 분산을 알 수 있는 방법은 없기 때문에 t검정을 쓰는게 제일 안전하다는 의견도 있다.(물론 모집단이 정규분포일 것이다라는 가정은 필수다.)
- 따라서 t분포의 식을 그대로 외우는 것이 아니라 "모분산"을 현실 세계에서 알기 어렵기 때문에 모분산 대신 표본 분산을 사용한 분포를 t분포다라고 알고 있으면 사실 식은 저절로 생각난다.
- 사실 정규분포를 따르는지 검증하기 위해서는 Z검정을 바로 이용하면 된다. 하지만, Z검정은 모집단의 평균과 표준편차를 알아야만 하는 검정이기 때문에 표본 분산, 표본 평균만 가지고 있는 입장에서는 명확하게 Z검정을 활용하기 어렵다.
t분포가 언제 필요할까?
위의 내용이 t분포가 생기게 된 배경인데 이를 일반적으로 확대해보면 사실 모집단과 표본간의 평균 차이를 확인하는 것만 의미하는 걸 넘어서 서로 다른 두 집단의 평균 차이를 비교할 수 있는 분포라고 보면 된다. 그 중의 특수한 사례로 모집단과 표본간의 평균 차이를 검정하는 것이라고 보는게 정확하다.
t-value를 단순히 모집단과 표본집단의 관계에서 좀 더 확장해보려고 한다.
- 우리는 어떤 집단간의 차이가 통계적으로(뇌피셜이 아니라 모두가 인정할만큼) 유의미한지 판단해야하는 경우가 있다.
- 단순히 평균을 빼서 비교할수도 있지만, 각 집단의 모집단의 분산이 크다면 우리는 평균의 차이만으로 사실 판단하기는 어렵다.
- 그래서 이러한 문제(모집단에서 평균을 추정하기에 적합하지 않은 표본이 추출되었을 가능성)를 보완하기 위해서 두 집단간의 분산 차이를 추가로 나눠주는 것이라고 이해할 수 있고, 이것이 t-value다.
- 앞서 t분포는 모집단과 표본이 동일한지를 검증하는데 활용했다.
- one sample t-test : 모집단(A)과 표본(B)간의 평균 차이를 측정
- paired sample t-test : 모집단에서 추출된 A표본과, B표본을 측정한다.
- independent sample t-test(분산이 같을때) : 분산이 서로 같은 두 집단간의 평균 차이를 분석할 때
- independent sample t-test (분산이 다를때 자유도로 근사) : 분산이 서로 다른 두 집단간의 평균 차이를 분석할 때
t검정은 모집단과의 차이를 그린 분포인데 이표본 t-test로 어떻게 갑자기 생겨날 수 있나요?
위에도 적어두었지만 두 집단간의 평균 차이를 검정할 수 있는 test이고 이 중에 비교하려는 집단의 대상이 표본, 모집단이면 one sample t-test이고 이표본 t-test는 일종의 서로 다른 집단이라고 가정한 경우라고 보면 된다. (혹은 반대로 서로 다르지만 그 중에 하나를 모집단이라고 가정하고 적용했다고 이해해도 크게 무방하다고 생각한다.)
A/B 테스트에서 T-test를 써도 되는 이유
실무를 하면서 사실 A/B 테스트를 정말 많이 했는데 그 때는 어떤 분포를 쓰는지도 몰랐고 통계적 전제를 체크하지도 않았다. 근데 실제로 t-test를 A/B 테스트에서 굉장히 많이 사용한다.
- T-test는 모집단이 정규분포를 따라야한다는 전제를 해야 쓸 수 있는데 사실 A/B 테스트에서 우리는 우리의 테스트 대상이 그리고 테스트 결과가 정규분포를 따른다는 전제를 가지기 쉽지 않다.
- 하지만 실무적으로는 우리 모두 A/B 테스트를 쓰는데 그 이유는 뭘까?
- 엄밀히 말하면 정규성 검정(샤피로 - 윌크 테스트)를 해야한다. 근데 실무적으로 이걸 하는 경우를 본 적이 없다.
- 그 이유에 대해서 생각해봤다.
- 애초에, 이표본 t검정은 우리가 비교하려는 A군, B군 모두 어떠한 모집단에서 추출된 “표본”이다. 충분한 크기의 샘플 수를 가진 표본인 경우 그 표본의 분포를 정규분포를 따르기 때문에 이를 활용할 수 있다고 볼 수 있다.(중심극한 정리)
- Robustness(강건성): T-검정은 일부 정규성 가정이 만족되지 않아도 상당히 강건한 방법(충족하지 않아도 잘 통하는)이다. 즉, 모집단이 약간의 비대칭성이나 첨예성을 가진다고 하더라도 T-검정은 여전히 신뢰할 수 있는 결과를 제공한다.
- 비모수 검정의 한계: 비모수 검정 방법(예: 부호 검정, 윌콕슨 순위합 검정 등)은 데이터의 순위 또는 부호에 기반하여 가설 검증을 수행합니다. 그러나 비모수 검정은 보다 제약적인 가설 설정과 낮은 검정력을 가질 수 있으며, 일반적으로 모수적 방법인 T-검정보다 선호되지 않는다. 그래서 대안적으로 t분포를 사용한다고 본다.
- 하지만 실무적으로는 우리 모두 A/B 테스트를 쓰는데 그 이유는 뭘까?
T분포는 Z분포와 카이제곱분포를 통해서 추출해낼 수 있다.
- 그에 대한 유도는 아래 블로그에서 확인할 수 있다.(세상에는 대단하신 분들이 많다. 최고!)
→ https://hsm-edu.tistory.com/1612“
F 분포
F분포의 사전적 정의는 두 카이제곱의 비율을 의미하는데 왜 분산의 비율을 비교하는 검정이라고 할까?
해당 내용은 아래 잘 설명해주신 글이 있어서 첨부한다.
F분포 어디에 쓰일까?
※이전글 카이제곱 분포 관련글 확률, 확률변수 그리고 확률분포 1. 들어가며 통계학은 기술통계와 추론통계로 구분되는데, 기술통계와 추론통계를 연결해주는 것이 확률분포이다. 그런데 확률
diseny.tistory.com
다른 증명글도 있어서 같이 첨부한다.
https://blog.naver.com/mykepzzang/220855136935
[확률과 통계] 51. F 분포, Snedecor's F-Distribution
F-분포(F-Distribution)는 정규분포를 이루는 모집단에서 독립적으로 추출한 표본들의 분산비율이 나타...
blog.naver.com
간단하게 정리해보면, 서로 다른 모집단에서 독립적으로 추출된 두표본의 표본 분산/모분산 비율은 F분포를 따른다는 점이다.
분산이란 무엇을 의미할까?
통계에서 분산을 가장 많이 배우지만, 일반적으로 분산이 의미하는 바를 직관적으로 의미하기는 쉽지 않다. 그러다보니 F분포부터 해서 ANOVA가 왜 여러 개의 집단간의 차이를 검정할 수 있는 방법인지 상대적으로 어렵다.
그래서 분산의 의미를 조금 다르게 설명해보려고 한다. 분산은 평균으로부터 데이터가 얼마나 떨어져있는지를 측정한 값이라고 볼 수 있다.
표본을 뽑는 것으로 다시 돌아가보자. 우리가 표준정규분포(평균이 0, 분산이 1)를 따르는 A분포에서 값을 5개씩 2번 뽑았다고 해보자. (이를 각각 A,B라고 하겠다.)
A군을 뽑아보니 5개가 각각 10,20,30,40,50이 뽑혔고, B군은 0.1, 0.2, -0.1, 0.3을 뽑았다고 하자. 딱 보아도 표준 정규분포에서 A군에 해당하는 점들은 평균으로부터 굉장히 많이 떨어진 것을 알 수 있고, B군은 매우 가깝다는 것을 알 수 있다.
평균이 0이기에 A군처럼 평균으로부터 "거리가 큰" 점들은 뽑히기가 어렵다. 즉, 분산은 통계량 자체만으로만 보면 관측값에 평균을 뺀값의 제곱합이라고 볼 수 있지만, 직관적인 의미로 보면 각 분포에서 계산한 분산은 얼마만큼 분포로부터 떨어져있는지 측정할 수 있는 "거리" 단위로 이해할 수도 있다.
F분포는 왜 생겨났을까?
위에서 t분포는 두 분포간의 차이를 측정하기 위해 "두 집단간 차이/불확실도"에서 두집단간 차이의 기준으로 평균 차이를 활용했다. F분포는 동일한 목적이지만 두 집단간 차이를 검정하기 위해 분산을 활용해서 접근했다.
접근 방식만 다를뿐 F분포는 T분포와 동일하게 집단 간 차이를 구분하기 위해 고안되었다.
다시 위의 F분포 사전 정의를 보면 "분산의 비율을 측정"하는 도구이다. 단순히 두 집단의 분산을 비교하는 것으로 집단간 차이를 구분할 수 없다.
F분포를 어떻게 활용할 수 있을까?
여기서 ANOVA가 나온다. 단순히 두 집단의 분산을 비교하는 것이 아니라 비교 대상의 분산을 집단내의 분산과 집단간의 분산을 비교한 것이다. 이렇게 비교하는 것이 어떤 의미가 있을까? 이는 아래 그림을 보면 직관적으로 이해될 수 있다.
우리가 동일한 모집단에서 뽑힌 표본으로 보이는 케이스로 A가 더 가능성이 높아보이는가, 아니면 B가 더 가능성이 높아보일까?
대부분의 사람들이 B라고 볼 것이다.
그 이유는 집단내의 분산(거리)이 적어서, 거리가 긴 표본이 나올 확률이 A에 비해 낮고, 집단간의 거리(분산)이 멀어서이기도 하다.
즉, 집단간 분산/집단내 분산으로 비율을 비교하면, 이 값이 클수록 우리는 각 집단이 다를 것이다라는 검증을 할 수 있게 되는 것이다.
왜 t분포 쓰면 되지 F분포를 쓸까?
위의 그림처럼 F분포는 3개 이상의 집단 비교를 동시에 할 수 있는 실험이다. t분포의 경우 2개의 집단간의 차이만 구분할 수 있는 반면에, F분포는 여러개를 할 수 있다.
'데이터 분석, 통계 > 통계학 개념 정리' 카테고리의 다른 글
딥러닝/데이터 분석을 위한 통계 - 6편) 회귀분석 (1) | 2023.10.17 |
---|---|
딥러닝/데이터 분석을 위한 통계 - 5편) 가설 검정, A/B 테스트, 표본분포 (1) | 2023.10.17 |
딥러닝/데이터 분석을 위한 통계 - 3편) 정규분포와 중심극한정리 (0) | 2023.10.16 |
딥러닝/데이터 분석을 위한 통계 - 2편) 대푯값, EDA (0) | 2023.10.14 |
딥러닝/데이터 분석을 위한 통계 - 1편) 확률변수, 확률분포 (1) | 2023.10.14 |