144강이 재료를 다 모았습니다. 정규 표본에서 세 가지가 정확히 성립했습니다.
| 재료 | 결과 |
|---|---|
| 표본평균 | |
| 표본분산 | (n-1)S^{2}/\sigma^{2}\sim\chi^{2}_ |
| 둘의 관계 | 서로 독립입니다 |
이제 이 재료를 조립합니다.
분자를 로 나누면 표준정규이고 분모를 로 나누면 카이제곱의 제곱근입니다. 둘이 독립이므로 이 비의 분포를 정확히 계산할 수 있습니다.
이 강의는 통계학의 표준 도구 세 개를 한꺼번에 세웁니다. 셋은 따로 만들어진 것이 아니라 정규분포 하나에서 나온 한 가족이며, 각각이 무엇을 묻는 도구인지가 이 강의의 뼈대입니다.
| 분포 | 어떤 질문에 답하는가 |
|---|---|
| \chi^ | 분산이 얼마인가 |
| 분산을 모를 때 평균이 얼마인가 | |
| 두 분산의 비가 얼마인가 |
문제. 표준정규 개의 제곱합을 조사합니다.
(1) 분포함수를 이론과 견주고 평균과 분산을 확인하세요.
(2) 분위수를 구하세요.
(3) 큰 에서 정규근사가 얼마나 맞는지 보세요.
생각의 실마리. 131강에서 가 평균 인 지수분포와 같았습니다. 감마족의 한 갈래이므로 밀도를 이미 알고 있습니다.
풀이. (1)(2) 검산 결과입니다.
| 최대 거리 | 평균 수치 | 이론 | 분산 수치 | 이론 | 분위수 | |
|---|---|---|---|---|---|---|
**평균이 이고 분산이 **입니다. 의 분위수 는 표준정규 분위수 의 제곱이며, 정의에서 바로 나옵니다.
(3) 큰 에서 두 가지 근사를 견줍니다.
| 정확한 분위수 | 정규근사 | 윌슨-힐퍼티 | 정규 오차 | WH 오차 | |
|---|---|---|---|---|---|
정규근사의 오차가 줄지 않습니다. 를 배 늘렸는데 오차가 에서 으로 오히려 커졌습니다. 반면 윌슨-힐퍼티는 에서 로 줄었습니다.
이 문제에서 배우는 것: 카이제곱분포.
카이제곱분포. 가 독립인 표준정규이면 이며
| 성질 | 값 |
|---|---|
| 평균 | |
| 분산 | |
| 왜도 | \sqrt |
| 감마족 표기 | |
| 재생성 | \chi^{2}_{a}+\chi^{2}_{b}=\chi^{2}_ |
| 평균 인 지수분포 |
다섯째 줄은 141강 문제 3에서 이미 확인했습니다. 정의가 제곱합이므로 두 제곱합을 이어 붙이면 되며, 증명할 것도 없습니다.
셋째 줄이 정규근사가 느린 이유입니다. 왜도가 로 줄어드는데 그 속도가 입니다. 143강 문제 2에서 본 항이 여기서 그대로 나타납니다.
윌슨-힐퍼티 근사. 이 훨씬 빨리 정규에 가까워집니다.
세제곱근이 치우침을 펴 줍니다. 오른쪽으로 긴 꼬리를 가진 분포에 오목한 변환을 씌우면 대칭에 가까워지며, 로그 변환이 하는 일과 같은 종류입니다.
바로 확인 1.
확인 1-1. 카이제곱분포의 정의를 쓰세요.
답. 독립인 표준정규 개의 제곱합입니다.
확인 1-2. 평균과 분산을 쓰세요.
답. 와 입니다.
확인 1-3. 정규근사가 느린 이유를 쓰세요.
답. 왜도가 로 천천히 줄기 때문입니다.
문제. 정규 표본에서 를 조사합니다.
(1) 표준정규와의 거리와 과의 거리를 각각 재세요.
(2) 두 분포의 분위수를 비교하세요.
(3) 정규 분위수로 만든 구간의 실제 포함률을 구하세요.
생각의 실마리. 분모가 상수가 아니라 확률변수입니다. 분모가 작게 나오면 비가 커지므로 꼬리가 두꺼워질 것이 예상됩니다.
풀이. (1)(2) 검산 결과입니다.
| 정규와의 거리 | 과의 거리 | 분위수 | 정규 | |
|---|---|---|---|---|
분포와는 모든 에서 잘 맞고 정규와는 작은 에서 크게 어긋납니다. 에서 정규와의 거리가 인데 와의 거리는 입니다.
(3) 정규 분위수 를 그대로 쓰면 어떻게 되는지 봅니다.
| 정규 분위수 포함률 | 분위수 포함률 | |
|---|---|---|
**에서 라고 믿은 구간이 실제로는 **입니다. 오른쪽 열은 어느 에서도 정확히 입니다.
이 문제에서 배우는 것: 분포.
분포. 이고 이며 서로 독립이면
**정규 표본에서 가 정확히 **입니다. 144강 문제 3의 독립성이 없으면 이 결론이 나오지 않습니다.
| 항목 | 정규 | t_ |
|---|---|---|
| 꼬리 | 지수적으로 감소 | 다항식으로 감소 |
| 분산 | , | |
| 차 적률 | 모두 존재 | 일 때만 |
| 분위수 | 더 큽니다 | |
| 극한 | 자기 자신 | 에서 정규 |
둘째 줄이 실무의 요점입니다. 를 모른다는 사실 자체가 불확실성을 늘리며, 그 대가가 더 넓은 구간입니다.
자유도가 작을수록 대가가 큽니다. 이면 구간이 정규보다 배 넓어야 하고, 이면 만 넓히면 됩니다.
"표본이 작으면 를 쓰고 크면 를 쓴다"는 설명은 반만 맞습니다. 를 모르면 과 무관하게 가 정확하며, 이 크면 두 값이 거의 같아질 뿐입니다.
바로 확인 2.
확인 2-1. 분포의 정의를 쓰세요.
답. 표준정규를 독립인 카이제곱의 제곱근으로 나눈 것입니다.
확인 2-2. 의 분포를 쓰세요.
답. 정규 표본에서 정확히 입니다.
확인 2-3. 에서 정규 분위수를 쓰면 실제 포함률이 얼마인지 쓰세요.
답. 약 입니다.
문제. 자유도를 바꿔 가며 분포를 조사합니다.
(1) 분위수를 표로 만드세요.
(2) 적률이 언제 존재하는지 쓰세요.
(3) 자유도 의 가 무엇인지 판정하세요.
생각의 실마리. 분모의 는 가 작을수록 에 가까운 값이 자주 나옵니다. 작은 수로 나누면 큰 값이 나오므로 꼬리가 두꺼워집니다.
풀이. (1)(2) 검산 결과입니다.
| 자유도 | 분위수 | 정규 대비 배수 | 적률 존재 차수 |
|---|---|---|---|
**자유도 에서 이고 에서 **입니다. 정규의 까지 아주 천천히 내려옵니다.
적률이 유한하게만 존재합니다. 이면 이므로 평균조차 없습니다. 이면 평균은 있는데 분산이 없습니다.
(3) 자유도 의 밀도를 직접 견줍니다.
| 밀도 | 코시 밀도 | 차이 | |
|---|---|---|---|
| 5.55\times10^ | |||
| 5.55\times10^ | |||
| 2.78\times10^ | |||
| 1.39\times10^ | |||
| 5.20\times10^ |
이 코시분포입니다. 기계 정밀도까지 같으며, 밀도 공식에 을 넣으면 이 그대로 나옵니다.
이 문제에서 배우는 것: 자유도가 꼬리를 정합니다.
의 꼬리. 이며 다항식으로만 줄어듭니다.
**꼬리 지수가 정확히 **이므로 인 적률만 존재합니다. 142강 문제 4의 파레토 꼬리와 같은 구조입니다.
| 의 정체 | 142강, 143강과의 연결 | |
|---|---|---|
| 코시 | 142강 문제 4, 143강 문제 3 | |
| 평균은 있고 분산이 없습니다 | 143강 심화 3의 경계 | |
| 분산이 존재합니다 | 중심극한정리가 적용됩니다 | |
| 정규 | 문제 2의 마지막 줄 |
첫째 줄이 경고를 담고 있습니다. 인 검정은 자유도가 이므로 코시를 쓰는 것과 같습니다. 관측 두 개로 평균을 검정하는 것이 형식적으로 가능하지만, 그 통계량은 평균조차 없는 분포를 따릅니다.
분포는 정규의 척도 혼합입니다. 을 역감마분포로 무작위하게 뽑은 뒤 정규를 그린 것과 같습니다.
이 해석이 150강의 베이즈 추론에서 다시 나옵니다. 분산에 사전분포를 놓고 적분해 없애면 평균의 사후분포가 분포가 되며, 분포가 원래 그런 방식으로 만들어진 분포임을 보여 줍니다.
바로 확인 3.
확인 3-1. 의 꼬리 지수를 쓰세요.
답. 이며 다항식으로 줄어듭니다.
확인 3-2. 의 적률 존재 조건을 쓰세요.
답. 인 차 적률만 존재합니다.
확인 3-3. 이 무엇인지 쓰세요.
답. 코시분포입니다.
문제. 독립인 두 카이제곱을 각각 자유도로 나눠 비를 만듭니다.
(1) 분포함수를 이론과 견주세요.
(2) 평균을 확인하세요.
(3) 이 무엇인지 판정하세요.
생각의 실마리. 두 집단의 분산이 같은지 묻는 것은 비가 에 가까운지 묻는 것입니다. 그 비의 분포가 필요합니다.
풀이. (1)(2) 검산 결과입니다.
| k_ | k_ | 최대 거리 | 평균 수치 | 이론 |
|---|---|---|---|---|
**평균이 이 아니라 **입니다. 분모의 자유도만으로 정해지며, 분자의 자유도와는 무관합니다.
가 작으면 평균이 에서 멀어집니다. 분모가 작은 값을 자주 내면 비가 크게 튀기 때문이며, 이면 평균이 존재하지 않습니다.
(3) 의 제곱을 확인합니다.
| 과 의 최대 거리 | |
|---|---|
모두 표본오차 수준이며 입니다.
이 문제에서 배우는 것: 분포와 한 가족.
분포. , 이고 서로 독립이면
| 성질 | 내용 |
|---|---|
| 평균 | , |
| 역수 | |
| 와의 관계 | t_{k}^{2}=F_ |
| 과의 관계 | |
| 지지구간 | 이며 오른쪽으로 치우칩니다 |
둘째 줄이 실무의 요령입니다. 표에서 왼쪽 꼬리 값을 찾을 필요 없이 자유도를 바꿔 오른쪽 꼬리만 보면 됩니다.
세 분포가 정규 하나에서 나온 한 가족입니다.
| 분포 | 조립 방법 | 쓰이는 곳 |
|---|---|---|
| \chi^ | 제곱합 | 분산의 구간, 적합도 검정 |
| 정규를 카이제곱으로 | 평균의 구간, 회귀계수 검정 | |
| 카이제곱의 비 | 분산분석, 회귀의 전체 검정 |
셋째 줄이 153강 선형회귀로 이어집니다. 회귀에서 계수 하나를 검정하면 가 나오고 여러 계수를 한꺼번에 검정하면 가 나오며, 가 그 둘을 잇습니다.
바로 확인 4.
확인 4-1. 분포의 정의를 쓰세요.
답. 자유도로 나눈 독립인 두 카이제곱의 비입니다.
확인 4-2. 의 평균을 쓰세요.
답. 이며 일 때만 존재합니다.
확인 4-3. 이 무엇인지 쓰세요.
답. 입니다.
문제. 명목 유의수준 인 검정을 네 분포에서 돌립니다.
(1) 검정의 실제 기각률을 구하세요.
(2) 검정의 실제 기각률을 구하세요.
(3) 두 결과의 차이를 해석하세요.
생각의 실마리. 이 강의의 결과는 모두 "정규 표본이면"이 붙습니다. 가정이 깨지면 유의수준이 명목값과 달라집니다.
풀이. (1) 검정입니다.
| 분포 | |||
|---|---|---|---|
| 정규 | |||
| 균등 | |||
| 지수 | |||
대체로 견딥니다. 에서 정규, 균등, 이 모두 근처이며, 치우친 지수분포만 로 남았습니다.
(2) 같은 자료로 두 표본의 분산을 비교하는 검정입니다.
| 분포 | |||
|---|---|---|---|
| 정규 | |||
| 균등 | |||
| 지수 | |||
무너집니다. 에서 명목 가 실제로는 이며, 을 키울수록 더 나빠집니다.
(3) 방향이 정반대입니다. 검정은 이 커지면 명목값으로 돌아오는데 검정은 멀어집니다.
이 문제에서 배우는 것: 견고성의 근거는 중심극한정리입니다.
검정이 견디는 이유. 분자 가 143강의 중심극한정리로 정규에 가까워지고, 분모 도 큰 에서 로 수렴합니다.
검정에는 그런 보호막이 없습니다. 검정이 재는 것은 평균이 아니라 분산 자체이며, 분산의 분포는 144강 문제 5에서 본 대로 첨도에 정면으로 의존합니다.
| 검정 | 무엇을 재는가 | 보호막 | 비정규에서 |
|---|---|---|---|
| 검정 | 평균 | 중심극한정리 | 대체로 견딥니다 |
| 분산의 구간 | 분산 | 없습니다 | 무너집니다 |
| 검정 | 분산의 비 | 없습니다 | 크게 무너집니다 |
꼬리가 두꺼우면 기각을 남발하고 얇으면 지나치게 보수적입니다. 균등분포에서 의 기각률이 이며 명목값의 입니다.
실무의 결론은 분명합니다. 분산의 동질성을 검정으로 확인한 뒤 검정을 하는 절차가 흔한데, 정규성이 조금만 깨져도 앞 단계가 틀린 답을 냅니다. 레벤 검정처럼 편차의 절댓값을 쓰는 방법이나 151강의 부트스트랩이 대안입니다.
바로 확인 5.
확인 5-1. 검정이 비정규에서 견디는 이유를 쓰세요.
답. 분자가 중심극한정리로 정규에 가까워지기 때문입니다.
확인 5-2. 검정이 무너지는 이유를 쓰세요.
답. 분산 자체를 재는데 분산의 분포가 첨도에 직접 의존하기 때문입니다.
확인 5-3. 에서 일 때 검정의 실제 기각률을 쓰세요.
답. 약 입니다.
| 분포 | 정의 | 평균 | 분산 |
|---|---|---|---|
| \chi^{2}_ | 표준정규 개의 제곱합 | ||
| t_ | Z/\sqrt | , | , |
| 복잡합니다 |
| 관계 | 식 |
|---|---|
| 감마족 | |
| 재생성 | \chi^{2}_{a}+\chi^{2}_{b}=\chi^{2}_ |
| 의 극한 | |
| t_ | 코시 |
| 의 제곱 | t_{k}^{2}=F_ |
| 의 역수 | |
| 의 극한 | |
| 표본에서 | \sqrt{n}(\bar{X}-\mu)/S\sim t_ |
| 윌슨-힐퍼티 | \chi^{2}_{k,p}\approx k(1-\frac{2}{9k}+z_{p}\sqrt{\frac{2}{9k}})^ |
| 자유도 | 의 분위수 |
|---|---|
| 자주 하는 실수 | 바로잡기 |
|---|---|
| 이 크면 를 써야 한다고 봅니다 | 를 모르면 언제나 가 정확합니다 |
| 작은 에서 로 구간을 만듭니다 | 이면 실제 포함률이 입니다 |
| 의 모든 적률이 있다고 봅니다 | 인 것만 존재합니다 |
| 의 평균이 이라 봅니다 | 입니다 |
| 검정으로 등분산을 확인합니다 | 비정규에서 크게 무너집니다 |
| 세 분포를 따로 외웁니다 | 정규 하나에서 나온 한 가족입니다 |
문제 6. 카이제곱분포의 정의와 평균, 분산을 쓰세요.
답. 독립인 표준정규 개의 제곱합이며 평균 , 분산 입니다.
문제 7. 카이제곱과 감마의 관계를 쓰세요.
답. 입니다.
문제 8. 카이제곱의 정규근사가 느린 이유와 대안을 쓰세요.
답. 왜도가 로 천천히 줄기 때문이며 윌슨-힐퍼티 근사를 씁니다.
문제 9. 분포의 정의를 쓰세요.
답. 이며 와 가 독립이어야 합니다.
문제 10. 의 분포와 조건을 쓰세요.
답. 정규 표본에서 정확히 입니다.
문제 11. 에서 정규 분위수로 만든 구간의 실제 포함률을 쓰세요.
답. 약 입니다.
문제 12. 의 적률 존재 조건과 꼬리 지수를 쓰세요.
답. 인 적률만 존재하며 꼬리 지수는 입니다.
문제 13. 과 의 특징을 각각 쓰세요.
답. 은 코시이고 는 평균은 있으나 분산이 없습니다.
문제 14. 분포의 정의와 평균을 쓰세요.
답. 자유도로 나눈 독립인 두 카이제곱의 비이며 평균은 입니다.
문제 15. 의 역수 관계와 와의 관계를 쓰세요.
답. 이고 입니다.
문제 16. 세 분포의 관계를 한 줄로 쓰세요.
답. 정규의 제곱합이 , 정규를 그것으로 나눈 것이 , 그것들의 비가 입니다.
문제 17. 검정이 비정규에서 견디는 이유를 쓰세요.
답. 분자가 중심극한정리로 정규에 가까워지기 때문입니다.
문제 18. 검정이 무너지는 정도를 수치로 쓰세요.
답. 의 에서 명목 가 실제 입니다.
심화 1. 비중심 분포와 검정력을 정리하세요.
지금까지는 귀무가설이 참일 때의 분포만 다뤘습니다. 검정력을 계산하려면 거짓일 때의 분포가 필요합니다.
| 분포 | 비중심 판본 | 비중심 모수 |
|---|---|---|
| \chi^{2}_ | \lambda=\sum\mu_{i}^ | |
| t_ | ||
| 분자의 비중심 모수 |
비중심 의 가 효과크기와 표본 크기의 곱입니다.
표본 크기 설계가 여기서 나옵니다. 검정력 를 원하면 이 필요하므로 입니다. 효과크기 이면 입니다.
**비중심 의 평균이 **이므로, 신호가 클수록 분포가 오른쪽으로 밀려 기각이 쉬워집니다. 152강 가설검정에서 이 계산을 씁니다.
심화 2. 이 분포들이 어디에서 왔는지 정리하세요.
세 분포 모두 실무의 필요에서 나왔습니다.
| 분포 | 만든 사람 | 배경 |
|---|---|---|
| \chi^ | 헬머트, 피어슨 | 적합도 검정을 위해 |
| 고셋 | 소규모 표본의 맥주 품질 관리 | |
| 피셔, 스네데커 | 농업 실험의 분산분석 |
둘째 줄이 유명한 이야기입니다. 고셋은 기네스 양조장에서 일했고 회사가 논문 발표를 막아 "스튜던트"라는 필명을 썼습니다. 표본을 크게 만들 수 없는 현장이 이 분포를 낳았습니다.
셋째 줄이 실험 설계 전체의 출발점입니다. 피셔의 농업 실험은 밭 구획마다 처리를 달리 하고 수확량 분산을 쪼개는 방식이었으며, 144강 심화 1의 코크런 분해가 그 계산입니다.
세 분포가 모두 세기 초에 나왔습니다. 큰 표본의 정규근사만으로는 답할 수 없는 질문이 현장에 있었고, 정확한 분포를 계산해야만 답할 수 있었습니다.
심화 3. 정확한 분포와 근사 분포를 언제 나눠 쓰는지 정리하세요.
| 상황 | 정확한 분포 | 근사 |
|---|---|---|
| 정규 표본, 모름 | t_ | 큰 에서 정규 |
| 정규 표본, 분산의 구간 | \chi^{2}_ | 없습니다 |
| 이항 비율 | 이항 정확 검정 | 정규 또는 윌슨 구간 |
| 두 정규의 분산 비 | 없습니다 | |
| 비정규, 평균 | 없습니다 | 또는 부트스트랩 |
| 비정규, 분산 | 없습니다 | 부트스트랩 |
둘째와 넷째 줄에 근사가 없습니다. 정규성이 깨지면 대체할 이론이 없으며, 재표본에 기대는 수밖에 없습니다.
셋째 줄이 실무에서 자주 틀립니다. 비율의 신뢰구간에 을 쓰는데, 가 이나 에 가까우면 구간이 범위를 벗어나거나 폭이 이 됩니다. 윌슨 구간이 이 문제를 고칩니다.
심화 4. 다변량으로 올라가면 무엇이 되는지 정리하세요.
| 일변량 | 다변량 | 쓰이는 곳 |
|---|---|---|
| \chi^{2}_ | 위샤트분포 | 표본공분산행렬의 분포 |
| t_ | 호텔링 T^ | 평균벡터의 검정 |
| 윌크스 람다 | 다변량 분산분석 |
첫째 줄이 140강과 만납니다. 다변량 정규 표본의 공분산행렬 이 위샤트분포를 따르며, 카이제곱이 그 차원 경우입니다.
둘째 줄이 계산 가능합니다.
140강 문제 1의 이차형식이 그대로 나타납니다. 를 알면 이 양이 이고, 추정하면 가 됩니다. 일변량에서 정규가 로 바뀐 것과 정확히 같은 구조입니다.
가 필요합니다. 표본이 차원보다 적으면 이 역행렬을 갖지 않으며, 고차원 자료에서 이 도구를 쓸 수 없는 이유입니다. 213강 차원의 저주가 여기서 시작됩니다.
심화 5. 계산에서 조심할 점을 정리하세요.
이 강의의 검산에서도 두 번 걸렸습니다.
| 함정 | 증상 | 해법 |
|---|---|---|
| 밀도의 원점 특이점 | 분위수가 로 나옵니다 | 로 치환합니다 |
| 꼬리 절단 | 분위수가 으로 나옵니다 | 잘린 꼬리를 대칭으로 되돌립니다 |
| 의 베타 적분 | 양 끝 특이점 | 같은 치환을 씁니다 |
| 큰 자유도의 감마함수 | 넘침 | 로그 감마를 씁니다 |
| 꼬리 확률의 상대오차 | 근처에서 무의미 | 생존함수를 직접 계산합니다 |
**첫째 줄의 참값이 **이고 잘못된 값이 이었습니다. 밀도가 로 발산하는데 중점법으로 적분하면 원점 근처를 과소평가합니다. 로 치환하면 피적분함수가 매끄러워져 정확해집니다.
**둘째 줄의 참값이 **이고 잘못된 값이 이었습니다. 코시 꼬리가 로만 줄어들어 에도 의 확률이 남습니다. 적분 범위를 넓히는 것보다 잘린 양을 대칭으로 되돌리는 것이 정확합니다.
두 경우 모두 결과가 "그럴듯해서" 위험했습니다. 와 는 눈으로 구별되지 않으며, 알려진 값과 대조하지 않으면 넘어갑니다.
심화 6. 기계학습에서 이 분포들이 쓰이는 자리를 정리하세요.
| 자리 | 어느 분포 | 관련 강의 |
|---|---|---|
| 회귀계수의 유의성 | 153강 | |
| 회귀 전체의 유의성 | 153강 | |
| 범주형 변수의 독립성 검정 | \chi^ | 167강 |
| 특징선택의 필터 | , | 216강 |
| 우도비 검정 | \chi^ | 152강 |
| 실험 반복의 평균 비교 | 209강 | |
| 로버스트 손실 | 우도 | 205강 |
| 베이즈 사후분포 | 150강 |
다섯째 줄이 가장 널리 쓰입니다. 143강 문제 5에서 델타 방법이 일 때 깨진다고 했는데, 우도비 통계량이 정확히 그 경우입니다. 가 자유도 차이만큼의 카이제곱을 따르며, 이것이 윌크스 정리입니다.
일곱째 줄이 실무에서 값어치가 큽니다. 잡음을 정규 대신 로 모형화하면 꼬리가 두꺼워 이상치의 영향이 줄어듭니다. 최소제곱 대신 로버스트 회귀를 쓰는 것과 같은 효과이며, 그 근거가 문제 3의 꼬리 지수입니다.
여덟째 줄이 이 강의를 150강과 잇습니다. 정규 우도에 분산의 켤레 사전분포를 놓고 적분하면 평균의 사후분포가 가 나옵니다. 빈도주의의 와 베이즈의 가 같은 식인 것이 우연이 아닙니다.
정답.
| 기호 | 읽는 법 | 뜻 |
|---|---|---|
| \chi^{2}_ | 카이제곱 | 표준정규 개의 제곱합입니다 |
| t_ | 티 분포 | 정규를 카이제곱의 제곱근으로 나눈 것입니다 |
| 에프 분포 | 두 카이제곱의 비입니다 | |
| 감마함수 | 계승의 연속 확장입니다 | |
| 스튜던트 | Student | 고셋의 필명입니다 |
| 자유도 | degrees of freedom | 제곱합이 사는 차원입니다 |
| 윌슨-힐퍼티 | Wilson-Hilferty | 세제곱근을 쓰는 카이제곱 근사입니다 |
| 비중심 모수 | noncentrality parameter | 대립가설에서의 밀림 정도입니다 |
| 위샤트분포 | Wishart | 표본공분산행렬의 분포입니다 |
| 호텔링 T^ | Hotelling | 의 다변량 판본입니다 |
| 윌크스 정리 | Wilks' theorem | 우도비가 카이제곱을 따릅니다 |
| 척도 혼합 | scale mixture | 분산을 무작위로 뽑은 정규입니다 |
다음은 146강 호에프딩 부등식과 집중 현상입니다. 이 강의의 도구는 모두 정규를 가정했습니다.
146강은 정규를 가정하지 않고 유계라는 조건만으로 상한을 얻습니다. 142강의 체비쇼프가 으로만 줄었던 자리에서 지수적으로 줄어드는 상한이 나오며, 그것이 통계적 학습이론의 출발점입니다.
import numpy as np
rng = np.random.default_rng(20260813)
M = 200000
zg = (np.arange(240001) - 120000) * 1e-4 # 표준정규 분포함수를 격자 누적으로 만듭니다
phig = np.exp(-zg * zg / 2) / np.sqrt(2 * np.pi)
cdfg = (np.cumsum(phig) - 0.5 * phig) * 1e-4
cdfg = cdfg - cdfg[120000] + 0.5
def Phi(z):
return np.interp(z, zg, cdfg)
def gamma_half(k):
if k % 2 == 0:
r = 1.0
for j in range(1, k // 2):
r *= j
return r
r = np.sqrt(np.pi)
for j in range((k - 1) // 2):
r *= (0.5 + j)
return r
def chi2_grid(k, N=600000):
U = np.sqrt(k + 30.0 * np.sqrt(2.0 * k) + 60.0) # t = u^2 로 치환해 원점 특이점을 없앱니다
h = U / N
u = (np.arange(N) + 0.5) * h
d = 2 * u ** (k - 1) * np.exp(-u * u / 2) / (2 ** (k / 2.0) * gamma_half(k))
return u * u, (np.cumsum(d) - 0.5 * d) * h
def t_grid(k, N=800000, L=400.0):
x = (np.arange(N) + 0.5) * (2 * L / N) - L
c = gamma_half(k + 1) / (np.sqrt(k * np.pi) * gamma_half(k))
d = c * (1 + x * x / k) ** (-(k + 1) / 2.0)
cum = (np.cumsum(d) - 0.5 * d) * (2 * L / N)
return x, cum + (1 - cum[-1]) / 2 # 좌우로 잘려 나간 꼬리를 대칭으로 되돌립니다
def f_cdf(f, k1, k2, N=400000):
a, b = k1 / 2.0, k2 / 2.0
w = (np.arange(N) + 0.5) / N # u = w^2 로 치환해 원점 특이점을 없앱니다
B = gamma_half(k1) * gamma_half(k2) / gamma_half(k1 + k2)
d = 2 * w ** (2 * a - 1) * (1 - w * w) ** (b - 1) / B
c = (np.cumsum(d) - 0.5 * d) / N
return np.interp(np.sqrt(k1 * f / (k1 * f + k2)), w, c)
def ksdist(z, grid, F):
zs = np.sort(z)
Fn = np.searchsorted(zs, grid, side="right") / len(z)
return float(np.max(np.abs(Fn - F)))
# --- 문제 1: 카이제곱분포는 무엇인가 ------------------------------------
print(" 표준정규 k 개의 제곱합을 모아 카이제곱과 맞는지 봅니다")
print(" k 최대 거리 평균 수치 이론 k 분산 수치 이론 2k 0.95 분위수")
for k in [1, 2, 5, 20]:
q = (rng.normal(0, 1, size=(M, k)) ** 2).sum(1)
tg, cg = chi2_grid(k)
gr = np.linspace(1e-6, k + 8 * np.sqrt(2 * k) + 12, 4001)
print(" %9d %12.8f %11.6f %7d %11.6f %8d %12.6f"
% (k, ksdist(q, gr, np.interp(gr, tg, cg)), float(q.mean()), k,
float(q.var()), 2 * k, float(np.interp(0.95, cg, tg))))
print(" 평균이 k 이고 분산이 2k 입니다. 131강 감마족에서 Gam(k/2, 1/2) 입니다")
print(" 큰 k 에서 정규에 가까워지는지 봅니다. 윌슨-힐퍼티 근사도 함께 봅니다")
print(" k 정확한 0.95 분위수 정규근사 윌슨-힐퍼티 정규 오차 WH 오차")
z95 = float(np.interp(0.95, cdfg, zg))
for k in [5, 20, 50, 200]:
tg, cg = chi2_grid(k)
ex = float(np.interp(0.95, cg, tg))
nm = k + z95 * np.sqrt(2.0 * k)
wh = k * (1 - 2.0 / (9 * k) + z95 * np.sqrt(2.0 / (9 * k))) ** 3
print(" %9d %16.6f %12.6f %14.6f %10.4f %9.4f"
% (k, ex, nm, wh, abs(nm - ex), abs(wh - ex)))
print(" 정규근사는 느리고 세제곱근을 취한 윌슨-힐퍼티는 훨씬 빠릅니다")
# --- 문제 2: sigma 대신 S 를 쓰면 무엇이 되는가 -------------------------
print(" sigma 를 S 로 바꾼 통계량이 정규가 아닌지 봅니다")
print(" n 정규와의 거리 t(n-1) 과의 거리 0.975 분위수 t 정규 1.959964")
for n in [3, 5, 10, 30]:
X = rng.normal(0, 1, size=(M, n))
mb = X.mean(1)
s = np.sqrt(((X - mb[:, None]) ** 2).sum(1) / (n - 1))
tt = mb * np.sqrt(n) / s
xg, tc = t_grid(n - 1)
gr = np.linspace(-6.0, 6.0, 4001)
print(" %9d %13.8f %16.8f %16.6f %13.6f"
% (n, ksdist(tt, gr, Phi(gr)), ksdist(tt, gr, np.interp(gr, xg, tc)),
float(np.interp(0.975, tc, xg)), 1.959964))
print(" t 분포와는 잘 맞고 정규와는 작은 n 에서 크게 어긋납니다")
print(" 정규 분위수로 95% 구간을 만들면 실제 포함률이 얼마인지 봅니다")
print(" n 정규 분위수 포함률 t 분위수 포함률")
for n in [3, 5, 10, 30]:
X = rng.normal(0, 1, size=(M, n))
mb = X.mean(1)
s = np.sqrt(((X - mb[:, None]) ** 2).sum(1) / (n - 1))
tt = np.abs(mb * np.sqrt(n) / s)
xg, tc = t_grid(n - 1)
tq = float(np.interp(0.975, tc, xg))
print(" %9d %16.6f %16.6f"
% (n, float((tt <= 1.959964).mean()), float((tt <= tq).mean())))
print(" n = 3 이면 95% 라고 믿은 구간이 실제로는 81% 밖에 되지 않습니다")
# --- 문제 3: t 분포는 정규와 얼마나 다른가 ------------------------------
print(" 자유도에 따라 t 의 0.975 분위수가 어떻게 변하는지 봅니다")
print(" 자유도 k 0.975 분위수 정규 대비 배수 적률 존재 차수")
for k in [1, 2, 3, 5, 10, 30, 100]:
xg, tc = t_grid(k)
q = float(np.interp(0.975, tc, xg))
print(" %13d %13.6f %14.4f %14s" % (k, q, q / 1.959964, "m < %d" % k))
print(" 자유도 1 이면 12.7 이고 100 이면 1.98 입니다. 정규는 1.96 입니다")
print(" 자유도 1 의 t 는 코시입니다. 밀도를 직접 견줍니다")
print(" x t(1) 밀도 코시 밀도 차이")
for x in [0.0, 0.5, 1.0, 2.0, 5.0]:
a = gamma_half(2) / (np.sqrt(1 * np.pi) * gamma_half(1)) * (1 + x * x) ** (-1.0)
b = 1.0 / (np.pi * (1 + x * x))
print(" %7.1f %14.10f %14.10f %10.2e" % (x, a, b, abs(a - b)))
print(" 그러므로 n = 2 인 t 검정은 코시를 쓰는 것과 같습니다. 평균이 없습니다")
# --- 문제 4: 두 분산을 비교하면 무엇이 되는가 ---------------------------
print(" 독립인 두 카이제곱의 비를 자유도로 나눈 것을 봅니다")
print(" k1 k2 최대 거리 평균 수치 이론 k2/(k2-2)")
for k1, k2 in [(4, 9), (9, 19), (19, 19), (4, 29)]:
v1 = (rng.normal(0, 1, size=(M, k1)) ** 2).sum(1) / k1
v2 = (rng.normal(0, 1, size=(M, k2)) ** 2).sum(1) / k2
F = v1 / v2
gr = np.linspace(1e-4, 8.0, 4001)
print(" %9d %6d %12.8f %12.6f %14.6f"
% (k1, k2, ksdist(F, gr, f_cdf(gr, k1, k2)), float(F.mean()), k2 / (k2 - 2.0)))
print(" t 의 제곱이 자유도 (1, k) 인 F 인지 확인합니다")
print(" k t^2 과 F(1,k) 의 최대 거리")
for k in [4, 9, 19]:
xg, tc = t_grid(k)
v = (rng.normal(0, 1, size=(M, k)) ** 2).sum(1) / k
tt = rng.normal(0, 1, size=M) / np.sqrt(v)
gr = np.linspace(1e-4, 30.0, 4001)
print(" %9d %16.8f" % (k, ksdist(tt * tt, gr, f_cdf(gr, 1, k))))
print(" 세 분포가 한 가족입니다. 정규 제곱합, 그 비, 그 제곱근입니다")
# --- 문제 5: 정규가 아니면 얼마나 견고한가 ------------------------------
print(" 명목 5% 인 검정이 실제로 몇 % 인지 네 분포에서 봅니다")
gens = [("정규", lambda sz: rng.normal(0, 1, sz)),
("균등", lambda sz: rng.uniform(-1, 1, sz)),
("지수", lambda sz: rng.exponential(1.0, sz) - 1.0),
("t(3)", lambda sz: rng.standard_t(3, sz))]
print(" 분포 n = 5 n = 10 n = 30 (t 검정, 명목 5%)")
for name, g in gens:
row = []
for n in [5, 10, 30]:
X = g((M, n))
mb = X.mean(1)
s = np.sqrt(((X - mb[:, None]) ** 2).sum(1) / (n - 1))
xg, tc = t_grid(n - 1)
tq = float(np.interp(0.975, tc, xg))
row.append(float((np.abs(mb * np.sqrt(n) / s) > tq).mean()))
print(" %10s %8.4f %8.4f %8.4f" % (name, row[0], row[1], row[2]))
print(" t 검정은 대체로 견딥니다. 지수처럼 치우친 경우에만 조금 어긋납니다")
print(" 같은 실험을 분산 비교 F 검정으로 하면 어떻게 되는지 봅니다")
print(" 분포 n = 5 n = 10 n = 30 (F 검정, 명목 5%)")
for name, g in gens:
row = []
for n in [5, 10, 30]:
A = g((M, n))
B = g((M, n))
sa = ((A - A.mean(1, keepdims=True)) ** 2).sum(1) / (n - 1)
sb = ((B - B.mean(1, keepdims=True)) ** 2).sum(1) / (n - 1)
gr = np.linspace(1e-4, 200.0, 200001)
cc = f_cdf(gr, n - 1, n - 1)
lo = float(np.interp(0.025, cc, gr))
hi = float(np.interp(0.975, cc, gr))
r = sa / sb
row.append(float(((r < lo) | (r > hi)).mean()))
print(" %10s %8.4f %8.4f %8.4f" % (name, row[0], row[1], row[2]))
print(" F 검정은 무너집니다. t(3) 에서 명목 5% 가 실제로는 30% 를 넘습니다")
print(" 평균은 중심극한정리가 지켜 주지만 분산에는 그런 보호막이 없습니다")
# 표준정규 k 개의 제곱합을 모아 카이제곱과 맞는지 봅니다
# k 최대 거리 평균 수치 이론 k 분산 수치 이론 2k 0.95 분위수
# 1 0.00245050 1.005371 1 2.011921 2 3.841459
# 2 0.00110513 1.995948 2 3.959813 4 5.991465
# 5 0.00227056 5.000814 5 9.942614 10 11.070498
# 20 0.00235721 20.018144 20 40.076024 40 31.410433
# 평균이 k 이고 분산이 2k 입니다. 131강 감마족에서 Gam(k/2, 1/2) 입니다
# 큰 k 에서 정규에 가까워지는지 봅니다. 윌슨-힐퍼티 근사도 함께 봅니다
# k 정확한 0.95 분위수 정규근사 윌슨-힐퍼티 정규 오차 WH 오차
# 5 11.070498 10.201484 11.043946 0.8690 0.0266
# 20 31.410433 30.402968 31.401686 1.0075 0.0087
# 50 67.504807 66.448536 67.500552 1.0563 0.0043
# 200 233.994269 232.897073 233.992739 1.0972 0.0015
# 정규근사는 느리고 세제곱근을 취한 윌슨-힐퍼티는 훨씬 빠릅니다
# sigma 를 S 로 바꾼 통계량이 정규가 아닌지 봅니다
# n 정규와의 거리 t(n-1) 과의 거리 0.975 분위수 t 정규 1.959964
# 3 0.07126580 0.00263499 4.302653 1.959964
# 5 0.03909361 0.00182070 2.776445 1.959964
# 10 0.01788581 0.00211632 2.262157 1.959964
# 30 0.00558362 0.00137543 2.045230 1.959964
# t 분포와는 잘 맞고 정규와는 작은 n 에서 크게 어긋납니다
# 정규 분위수로 95% 구간을 만들면 실제 포함률이 얼마인지 봅니다
# n 정규 분위수 포함률 t 분위수 포함률
# 3 0.810315 0.950030
# 5 0.878405 0.949715
# 10 0.918590 0.950080
# 30 0.940875 0.950590
# n = 3 이면 95% 라고 믿은 구간이 실제로는 81% 밖에 되지 않습니다
# 자유도에 따라 t 의 0.975 분위수가 어떻게 변하는지 봅니다
# 자유도 k 0.975 분위수 정규 대비 배수 적률 존재 차수
# 1 12.706205 6.4829 m < 1
# 2 4.302653 2.1953 m < 2
# 3 3.182446 1.6237 m < 3
# 5 2.570582 1.3115 m < 5
# 10 2.228139 1.1368 m < 10
# 30 2.042273 1.0420 m < 30
# 100 1.983972 1.0122 m < 100
# 자유도 1 이면 12.7 이고 100 이면 1.98 입니다. 정규는 1.96 입니다
# 자유도 1 의 t 는 코시입니다. 밀도를 직접 견줍니다
# x t(1) 밀도 코시 밀도 차이
# 0.0 0.3183098862 0.3183098862 5.55e-17
# 0.5 0.2546479089 0.2546479089 5.55e-17
# 1.0 0.1591549431 0.1591549431 2.78e-17
# 2.0 0.0636619772 0.0636619772 1.39e-17
# 5.0 0.0122426879 0.0122426879 5.20e-18
# 그러므로 n = 2 인 t 검정은 코시를 쓰는 것과 같습니다. 평균이 없습니다
# 독립인 두 카이제곱의 비를 자유도로 나눈 것을 봅니다
# k1 k2 최대 거리 평균 수치 이론 k2/(k2-2)
# 4 9 0.00120324 1.283552 1.285714
# 9 19 0.00220671 1.119978 1.117647
# 19 19 0.00203075 1.117573 1.117647
# 4 29 0.00141747 1.074905 1.074074
# t 의 제곱이 자유도 (1, k) 인 F 인지 확인합니다
# k t^2 과 F(1,k) 의 최대 거리
# 4 0.00194432
# 9 0.00151467
# 19 0.00222079
# 세 분포가 한 가족입니다. 정규 제곱합, 그 비, 그 제곱근입니다
# 명목 5% 인 검정이 실제로 몇 % 인지 네 분포에서 봅니다
# 분포 n = 5 n = 10 n = 30 (t 검정, 명목 5%)
# 정규 0.0502 0.0502 0.0491
# 균등 0.0658 0.0539 0.0509
# 지수 0.1170 0.1003 0.0734
# t(3) 0.0378 0.0408 0.0447
# t 검정은 대체로 견딥니다. 지수처럼 치우친 경우에만 조금 어긋납니다
# 같은 실험을 분산 비교 F 검정으로 하면 어떻게 되는지 봅니다
# 분포 n = 5 n = 10 n = 30 (F 검정, 명목 5%)
# 정규 0.0498 0.0495 0.0500
# 균등 0.0262 0.0108 0.0039
# 지수 0.1726 0.2284 0.2815
# t(3) 0.1393 0.2168 0.3231
# F 검정은 무너집니다. t(3) 에서 명목 5% 가 실제로는 30% 를 넘습니다
# 평균은 중심극한정리가 지켜 주지만 분산에는 그런 보호막이 없습니다