132강에서 평균을, 133강에서 분산을 세웠습니다. 둘 다 같은 틀의 특수한 경우입니다.
차수를 올리면 무엇이 나올지가 이 강의의 첫 질문입니다.
이들을 적률이라 하며, 각 차수가 분포의 다른 특징을 잽니다.
| 차수 | 무엇을 재는가 |
|---|---|
| 중심 | |
| 퍼짐 | |
| 치우침 | |
| 꼬리의 두께 |
그런데 적률을 하나씩 계산하는 것은 번거롭습니다. 128강 문제 3에서 포아송의 합을 확인하려고 합성곱을 계산했고, 130강 문제 4에서 정규분포에도 같은 수고를 했습니다.
모든 적률을 한 함수에 담을 수 있습니다.
이 함수 하나가 적률 전부를 품고 있고, 더 중요하게는 독립 합에서 곱이 됩니다.
합성곱이 곱셈으로 바뀝니다. 58강의 푸리에 변환이 합성곱을 곱으로 바꾼 것과 정확히 같은 구조이며, 143강 중심극한정리의 증명 도구가 됩니다.
문제. 네 분포에서 차부터 차까지의 적률을 봅니다.
(1) 평균과 분산을 구하세요.
(2) 왜도와 첨도를 구하세요.
(3) 대칭성과 꼬리를 읽으세요.
생각의 실마리. 133강에서 이차 중심적률이 분산이었습니다. 삼차와 사차는 무엇을 재는지 봅니다. 부호가 살아 있는지가 단서입니다.
풀이. 검산 결과입니다.
| 분포 | 평균 | 분산 | 왜도 | 첨도 |
|---|---|---|---|---|
| 주사위 합 | ||||
| 주사위 하나 | ||||
| 기하 | ||||
| 이항 , |
**대칭인 두 분포의 왜도가 정확히 **이고, 오른쪽 꼬리가 긴 기하분포는 입니다.
첨도는 정규분포의 을 기준으로 읽습니다. 앞의 두 분포는 보다 작아 꼬리가 가볍고, 기하분포는 로 훨씬 무겁습니다.
이 문제에서 배우는 것: 적률의 계층.
원점적률과 중심적률.
중심적률은 위치에 영향을 받지 않습니다. 133강 문제 3에서 였던 것이 모든 차수에 성립합니다.
표준화 적률. 척도에도 영향을 받지 않게 하려면 로 나눕니다.
둘 다 무차원이므로 단위가 다른 분포끼리 비교할 수 있습니다.
홀수 차수와 짝수 차수의 역할이 다릅니다.
| 차수 | 부호 | 대칭분포에서 |
|---|---|---|
| 홀수 | 살아 있습니다 | 입니다 |
| 짝수 | 언제나 비음 | 양수입니다 |
**대칭이면 홀수 적률이 모두 **입니다. 와 가 같은 분포이므로 홀수 거듭제곱의 기댓값이 자기 자신의 음수가 되어 입니다.
첨도의 해석에 주의가 필요합니다. "뾰족함"으로 설명하는 경우가 많은데, 실제로는 꼬리의 무게를 재는 것에 가깝습니다. 사차 거듭제곱이라 중심 근처의 기여가 거의 없기 때문입니다.
133강 심화 5에서 언급한 대로 추정이 불안정합니다. 표본 첨도의 표준오차가 이라 이면 약 이며, 작은 표본에서 첨도로 무언가를 주장하는 것은 위험합니다.
바로 확인 1.
확인 1-1. 원점적률과 중심적률을 각각 쓰세요.
답. 과 입니다.
확인 1-2. 왜도와 첨도를 쓰고 기준값을 쓰세요.
답. 과 이며 대칭이면 왜도가 이고 정규분포의 첨도가 입니다.
확인 1-3. 대칭분포에서 홀수 적률이 인 이유를 쓰세요.
답. 와 그 부호를 뒤집은 것이 같은 분포이기 때문입니다.
문제. 를 봅니다.
(1) 에서 각 적률의 기여를 계산하세요.
(2) 부분합이 로 가는지 확인하세요.
(3) 알려진 분포의 를 검증하세요.
생각의 실마리. 54강에서 였습니다. 를 넣고 기댓값을 취하면 적률들이 계수로 나올 것입니다.
풀이. (1) 급수를 전개하면
이며 검산 결과입니다.
| 급수의 번째 항 | ||
|---|---|---|
(2) 부분합이 정확값으로 수렴합니다.
| 항 수 | 부분합 | 정확값 | 차이 |
|---|---|---|---|
| 4.33\times10^ | |||
| 1.33\times10^ | |||
| 1.61\times10^ | |||
| 5.65\times10^ |
(3) 알려진 분포에서도 확인됩니다.
| 분포 | 이론식 | 이론 | 수치 |
|---|---|---|---|
| 포아송 | |||
| 이항 , | (1-p+pe^{t})^ | ||
| 표준정규 |
이 문제에서 배우는 것: 적률생성함수.
적률생성함수.
번 미분하고 을 넣으면 차 적률이 나옵니다.
"생성함수"라는 이름이 여기서 옵니다. 적률들이 테일러 계수로 들어 있으므로, 함수 하나가 수열 전체를 담습니다.
132강의 LOTUS가 계산의 근거입니다. 의 분포를 구할 필요 없이 로 바로 계산합니다.
주요 분포의 를 정리해 둡니다.
| 분포 | |
|---|---|
| 베르누이 | 1-p+pe^ |
| 이항 | (1-p+pe^{t})^ |
| 포아송 | |
| 기하 | |
| 정규 | |
| 지수 | , |
| 감마 | , |
여섯째와 일곱째 줄에 조건이 붙는 것을 주목합니다. 이면 적분이 발산하며, 는 근방에서만 정의될 수 있습니다.
둘째 줄이 첫째 줄의 제곱이고 일곱째 줄이 여섯째 줄의 제곱인 것도 우연이 아닙니다. 문제 3에서 이유를 봅니다.
바로 확인 2.
확인 2-1. 적률생성함수의 정의를 쓰세요.
답. 입니다.
확인 2-2. 적률을 어떻게 뽑아내는지 쓰세요.
답. 번 미분하고 을 넣으면 입니다.
확인 2-3. 정규분포의 를 쓰세요.
답. 입니다.
문제. 세 쌍의 독립 합을 봅니다.
(1) 각 쌍에서 를 계산하세요.
(2) 합의 와 비교하세요.
(3) 모수가 어떻게 결합되는지 읽으세요.
생각의 실마리. 독립이면 입니다. , 로 두면 **지수의 성질로 **입니다.
풀이. (1)(2) 검산 결과입니다. 입니다.
| 합 | M_{X}\cdot M_ | 합의 | 차이 |
|---|---|---|---|
세 줄 모두 차이가 정확히 입니다.
(3) 지수의 계수를 보면 모수 결합이 바로 읽힙니다.
가 더해집니다. 정규분포에서는 가 , 이 로 각각 더해지고, 이항에서는 이 이 됩니다.
이 문제에서 배우는 것: 곱 성질.
독립 합의 적률생성함수. 와 가 독립이면
증명이 두 줄입니다.
마지막 등호에만 독립이 쓰입니다.
이것으로 02단원의 가법성들이 한 줄씩 증명됩니다.
| 분포 | 확인 |
|---|---|
| 포아송 | |
| 이항 (같은 ) | |
| 정규 | |
| 감마 (같은 ) |
128강 문제 3에서 합성곱과 이항정리로 힘들게 한 계산이 곱셈 한 번이 되었고, 130강 문제 4의 수치 합성곱도 마찬가지입니다.
이것이 58강의 푸리에 변환과 같은 구조입니다.
| 변환 | 무엇을 무엇으로 |
|---|---|
| 푸리에 변환 | 합성곱을 곱으로 |
| 적률생성함수 | 독립 합을 곱으로 |
| 라플라스 변환 | 미분을 곱으로 |
세 변환이 같은 발상이며, 어려운 연산을 쉬운 연산으로 옮겨 계산한 뒤 되돌리는 것입니다.
02단원의 표에서 왜 어떤 분포가 합에 닫히고 어떤 것은 아닌지도 설명됩니다. 의 곱이 같은 족의 꼴로 남으면 닫히고, 그렇지 않으면 닫히지 않습니다. 기하분포의 을 두 개 곱하면 기하분포의 꼴이 아니라 음이항의 꼴이 됩니다.
바로 확인 3.
확인 3-1. 독립 합의 적률생성함수를 쓰세요.
답. 입니다.
확인 3-2. 증명에서 독립이 어디에 쓰이는지 쓰세요.
답. 를 두 기댓값의 곱으로 쪼갤 때입니다.
확인 3-3. 이 성질이 어느 변환과 같은 구조인지 쓰세요.
답. 푸리에 변환이며 합성곱을 곱으로 바꿉니다.
문제. 로그정규분포를 봅니다.
(1) 모든 차수의 적률이 유한한지 확인하세요.
(2) 가 에서 수렴하는지 조사하세요.
(3) 결론을 쓰세요.
생각의 실마리. 적률이 전부 있으면 분포가 정해질 것 같습니다. 그런데 적률과 적률생성함수는 다른 대상입니다.
풀이. (1) 로그정규분포의 차 적률은 입니다.
모두 유한합니다. 129강 문제 5에서 평균 을 확인했습니다.
(2) 그런데 의 적분은 발산합니다.
| 상한 | 적분 | 을 키우면 | |
|---|---|---|---|
| 증가 | |||
| 증가 | |||
| 1.992396\times10^ | 증가 | ||
| 2.041522\times10^ | 증가 | ||
| 1.159303\times10^ | 증가 | ||
| 2.528330\times10^ | 증가 |
을 키우면 걷잡을 수 없이 커집니다. , 에서 입니다.
(3) 적률은 다 있는데 적률생성함수가 없습니다.
이 문제에서 배우는 것: 적률생성함수의 존재와 유일성.
유일성 정리. 가 의 어떤 열린 근방에서 유한하면, 이 분포를 유일하게 결정합니다.
조건이 붙어 있다는 것이 중요합니다. 로그정규분포는 에서 이 무한대라 이 정리를 쓸 수 없고, 실제로 같은 적률을 갖는 다른 분포가 존재합니다.
이 족의 모든 구성원이 로그정규와 정확히 같은 적률을 갖습니다. 적률만으로는 구별할 수 없습니다.
왜 발산하는가. 는 지수적으로 커지는데 로그정규의 꼬리는 그보다 천천히 줄어듭니다.
꼬리의 두께와 의 존재가 직결됩니다.
| 꼬리 | 의 존재 |
|---|---|
| 보다 빠름 | 모든 에서 존재 |
| 정도 | 에서 존재 |
| 그보다 느림 | 에서 존재하지 않음 |
둘째 줄이 지수분포와 감마분포이며 문제 2의 표에서 조건이 붙어 있던 이유입니다.
이 약점을 고치는 것이 특성함수입니다.
이라 언제나 유한하며, 모든 분포에 대해 존재합니다. 143강에서 중심극한정리를 증명할 때 이 아니라 를 쓰는 이유가 이것이며, 58강의 푸리에 변환 그 자체입니다.
바로 확인 4.
확인 4-1. 유일성 정리의 조건을 쓰세요.
답. 이 의 열린 근방에서 유한해야 합니다.
확인 4-2. 로그정규분포에서 무엇이 문제입니까?
답. 적률은 다 있는데 이 에서 발산해 적률이 분포를 정하지 못합니다.
확인 4-3. 이 약점을 고치는 함수와 그 이유를 쓰세요.
답. 특성함수이며 이라 언제나 유한합니다.
문제. 를 봅니다.
(1) 과 을 여러 분포에서 계산하세요.
(2) 이론값과 비교하세요.
(3) 독립 합에서 어떻게 되는지 확인하세요.
생각의 실마리. 133강 심화 2에서 로그를 취하면 곱이 합이 된다고 했습니다. 이 곱이므로 로그를 취하면 더하기가 됩니다.
풀이. (1)(2) 검산 결과입니다.
| 분포 | 이론 평균 | 이론 분산 | ||
|---|---|---|---|---|
| 포아송 | ||||
| 이항 , | ||||
| 주사위 합 |
이 평균이고 이 분산입니다.
(3) 독립 합에서 그냥 더해집니다.
이고 과 **차이가 정확히 **입니다.
이 문제에서 배우는 것: 누율생성함수.
누율생성함수.
이며 계수 를 누율이라 합니다.
앞의 몇 개가 익숙한 양입니다.
| 누율 | 정체 |
|---|---|
| \kappa_ | 평균 |
| \kappa_ | 분산 |
| \kappa_ | 삼차 중심적률 |
| \kappa_ | , 초과첨도의 분자 |
넷째 줄이 흥미롭습니다. 첨도에서 을 빼는 관행이 여기서 나옵니다. **정규분포는 부터 모든 누율이 **이므로, 누율로 보면 정규분포가 기준점이 되는 것이 자연스럽습니다.
**이차 다항식이라 삼차 이상의 계수가 전부 **입니다.
가법성. 독립이면
이므로 모든 누율이 더해집니다.
적률은 이렇게 되지 않습니다. 을 각각의 삼차 적률로 쓸 수 없는데, 누율은 그냥 더해집니다. "누율"이라는 이름이 여기서 옵니다.
이 성질이 143강에서 결정적입니다. 개의 독립 합에서 차 누율이 가 되고, 표준화하면 으로 나누므로
이면 에서 으로 갑니다. 일차와 이차만 남아 정규분포가 되며, 이것이 중심극한정리의 누율 증명입니다.
바로 확인 5.
확인 5-1. 누율생성함수를 쓰세요.
답. 입니다.
확인 5-2. 처음 두 누율의 정체를 쓰세요.
답. 평균과 분산입니다.
확인 5-3. 정규분포의 누율이 특별한 점을 쓰세요.
답. 삼차 이상이 모두 이라 가 이차 다항식입니다.
| 개념 | 식 |
|---|---|
| 원점적률 | |
| 중심적률 | |
| 왜도 | \mu_{3}/\sigma^ |
| 첨도 | , 정규에서 |
| 적률생성함수 | |
| 적률 추출 | |
| 독립 합 | M_{X+Y}=M_{X}M_ |
| 누율생성함수 | |
| 누율 가법성 |
| 분포 | |
|---|---|
| 베르누이 | 1-p+pe^ |
| 이항 | (1-p+pe^{t})^ |
| 포아송 | |
| 정규 | |
| 지수 | , |
| 감마 | , |
| 자주 하는 실수 | 바로잡기 |
|---|---|
| 적률이 분포를 정한다고 봅니다 | 이 근방에서 유한해야 합니다 |
| 이 언제나 존재한다고 봅니다 | 꼬리가 두꺼우면 없습니다 |
| 적률이 더해진다고 봅니다 | 누율이 더해집니다 |
| 첨도를 뾰족함으로만 읽습니다 | 꼬리의 무게에 가깝습니다 |
문제 6. 원점적률과 중심적률을 쓰세요.
답. 과 입니다.
문제 7. 왜도와 첨도를 쓰고 기준값을 쓰세요.
답. 과 이며 대칭이면 왜도가 이고 정규의 첨도가 입니다.
문제 8. 대칭분포에서 홀수 적률이 인 이유를 쓰세요.
답. 중심에서의 편차와 그 부호를 뒤집은 것이 같은 분포이기 때문입니다.
문제 9. 적률생성함수의 정의와 급수 표현을 쓰세요.
답. 이고 입니다.
문제 10. 적률을 뽑아내는 방법을 쓰세요.
답. 번 미분하고 을 넣습니다.
문제 11. 포아송과 정규분포의 를 쓰세요.
답. 과 입니다.
문제 12. 독립 합의 을 쓰고 증명의 핵심을 쓰세요.
답. 이며 독립으로 곱의 기댓값을 쪼갭니다.
문제 13. 이 성질이 어느 변환과 같은 구조인지 쓰세요.
답. 푸리에 변환이며 합성곱을 곱으로 바꿉니다.
문제 14. 지수분포와 감마분포의 에 조건이 붙는 이유를 쓰세요.
답. 이면 적분이 발산하기 때문입니다.
문제 15. 유일성 정리의 조건을 쓰세요.
답. 이 의 열린 근방에서 유한해야 합니다.
문제 16. 로그정규분포에서 무엇이 문제인지 쓰세요.
답. 적률은 다 있는데 이 에서 발산해 같은 적률의 다른 분포가 존재합니다.
문제 17. 특성함수가 보다 나은 점을 쓰세요.
답. 이라 언제나 유한합니다.
문제 18. 누율의 가법성과 정규분포의 특징을 쓰세요.
답. 독립이면 모든 누율이 더해지고, 정규분포는 삼차 이상이 전부 입니다.
심화 1. 적률법 추정을 개관하세요.
모수를 추정하는 가장 오래된 방법입니다.
표본적률을 이론적률과 같다고 놓고 풉니다.
모수가 개면 방정식 개를 씁니다.
| 분포 | 적률법 추정 |
|---|---|
| 포아송 | |
| 정규 | , \hat\sigma^{2}=\frac1n\sum(x_{i}-\bar x)^ |
| 감마 | , \hat\lambda=\bar x/s^ |
계산이 쉬운 것이 장점이며 대개 닫힌 형태로 나옵니다.
단점도 분명합니다. 149강의 최대우도추정보다 효율이 낮고, 때로는 모수 공간을 벗어난 값을 줍니다. 이항분포의 과 를 둘 다 추정할 때 이 음수가 나올 수 있습니다.
그래도 쓰이는 자리가 있습니다. 최대우도추정의 초기값으로 쓰거나, 가능도를 쓸 수 없는 상황에서 씁니다. 생성모형 학습의 적률 매칭이 현대적 후예이며, 심화 6에서 다룹니다.
심화 2. 체르노프 경계가 적률생성함수에서 나옴을 보이세요.
135강에서 마르코프 부등식을 배웁니다. 미리 결합해 봅니다.
가 비음이므로 마르코프 부등식을 적용하면 에 대해
모든 에서 성립하므로 가장 좋은 것을 고릅니다.
지수 안의 것이 의 르장드르 변환이며, 107강의 볼록 켤레함수입니다.
이것이 체르노프 경계이며 지수적으로 감소하는 꼬리 상한을 줍니다. 133강의 체비쇼프가 만 주는 것과 대비됩니다.
| 부등식 | 필요한 것 | 상한의 감소 |
|---|---|---|
| 마르코프 | 평균 | |
| 체비쇼프 | 분산 | 1/a^ |
| 체르노프 | e^ |
정보를 더 쓸수록 상한이 날카로워집니다. 146강에서 호에프딩 부등식이 이 틀로 유도되며, 이 존재해야 쓸 수 있다는 조건이 문제 4의 논의와 이어집니다.
꼬리가 두꺼우면 체르노프를 쓸 수 없습니다. 로그정규나 파레토에서는 이 없으므로 다항 감소 상한만 얻습니다.
심화 3. 확률생성함수를 개관하세요.
값이 비음 정수인 확률변수에는 더 편한 도구가 있습니다.
확률생성함수.
계수가 확률 그 자체이며, 관계가 있습니다.
성질이 깔끔합니다.
| 성질 | 식 |
|---|---|
| 확률 추출 | |
| 평균 | |
| 분산 | G''(1)+G'(1)-G'(1)^ |
| 독립 합 | G_{X+Y}=G_{X}G_ |
둘째와 셋째 줄에서 을 넣는 것이 에 대응합니다.
주요 분포의 입니다.
| 분포 | |
|---|---|
| 베르누이 | |
| 이항 | (1-p+ps)^ |
| 포아송 | |
| 기하 |
분기 과정에서 특히 강력합니다. 각 개체가 자손을 에 따라 낳으면 세대 후의 개체 수 분포가 의 번 합성입니다.
소멸 확률이 의 최소 해이며, 평균 자손 수가 을 넘느냐가 갈림길입니다. 전염병 모형과 핵연쇄반응의 임계 조건이 이 방정식입니다.
심화 4. 적률 문제를 개관하세요.
적률 수열이 주어지면 분포가 하나로 정해지는가를 묻는 것이 적률 문제입니다.
| 이름 | 정의역 | 조건 |
|---|---|---|
| 하우스도르프 적률 문제 | 언제나 유일합니다 | |
| 스틸체스 적률 문제 | 조건이 필요합니다 | |
| 함부르거 적률 문제 | \mathbb | 조건이 필요합니다 |
유계 구간이면 언제나 유일합니다. 문제 4의 로그정규가 반례가 되는 것은 정의역이 이기 때문입니다.
충분조건 하나가 카를레만 조건입니다.
적률이 너무 빨리 커지지 않으면 유일합니다. 로그정규의 은 의 합이 되어 수렴하므로 조건을 만족하지 않습니다.
실무의 함의가 있습니다. 자료의 평균, 분산, 왜도, 첨도를 맞춘다고 해서 분포가 맞는 것은 아닙니다. 특히 꼬리가 두꺼운 자료에서는 처음 몇 적률이 같아도 극단 사건의 확률이 크게 다를 수 있습니다.
심화 5. 특성함수로 넘어가는 이유를 정리하세요.
문제 4에서 특성함수를 소개했습니다. 세 가지 장점이 있습니다.
첫째로 언제나 존재합니다. 이라 적분이 절대수렴합니다.
둘째로 유일성이 조건 없이 성립합니다. 이면 두 분포가 같습니다.
셋째로 역변환 공식이 있습니다.
58강의 푸리에 역변환 그 자체입니다.
그리고 연속성 정리가 극한정리의 핵심 도구입니다.
레비의 연속성 정리. 가 각 에서 성립하고 가 에서 연속이면, 대응하는 분포들이 수렴합니다.
143강에서 중심극한정리를 이렇게 증명합니다. 표준화 합의 특성함수를 전개하면
이고 오른쪽이 표준정규의 특성함수입니다. 54강의 가 마지막 단계이며, 128강의 포아송 극한에서 쓴 것과 같은 극한입니다.
으로는 이 증명을 일반적으로 할 수 없습니다. 이 존재하지 않는 분포에도 중심극한정리가 성립하기 때문이며, 분산만 유한하면 됩니다.
심화 6. 적률이 기계학습에 나타나는 자리를 정리하세요.
| 자리 | 어떤 적률 |
|---|---|
| 배치 정규화 | 일차와 이차 적률로 표준화 |
| 아담 옵티마이저 | 기울기의 일차와 이차 적률 추정 |
| 적률 매칭 생성모형 | 생성 표본과 실제 자료의 적률을 맞춤 |
| 스펙트럼 정규화 | 이차 적률의 최대 고유값 |
| 지식 증류 | 교사 출력 분포의 적률 전달 |
둘째 줄이 이름 그대로입니다. 아담은 기울기의 지수이동평균으로 일차 적률 와 이차 적률 를 추정하고
로 갱신합니다. 111강에서 본 적응적 학습률이 적률 추정입니다.
편향 보정도 적률의 성질에서 나옵니다. 지수이동평균을 에서 시작하면 초기에 과소추정하므로 로 나눠 보정하며, 이것이 불편추정량을 만드는 작업입니다.
셋째 줄이 심화 1의 현대판입니다. 최대평균차이는 재생 커널 힐베르트 공간에서 두 분포의 적률을 무한히 많이 비교하는 것이며, 커널을 고르는 것이 어떤 적률을 볼지 고르는 것입니다.
다섯째 줄에서 온도 조절이 등장합니다. 교사의 출력에 온도 를 씌우면 분포가 부드러워져 낮은 차수 적률의 정보가 더 잘 전달됩니다.
import numpy as np, math, itertools
S = list(itertools.product(range(1, 7), repeat=2))
N = len(S)
vals = sorted({a+b for a, b in S})
pmf = {v: sum(1 for w in S if w[0]+w[1] == v)/N for v in vals}
# --- 문제 1: 차수를 올리면 무엇이 보이는가 ------------------------------
def moms(v, p):
m1 = sum(x*p[x] for x in v)
c = {k: sum((x-m1)**k*p[x] for x in v) for k in (2, 3, 4)}
return m1, c
print(" 적률: 원점적률 E[X^k] 와 중심적률 E[(X-mu)^k]")
print(" 분포 평균 분산 왜도 첨도")
def row(nm, v, p):
m1, c = moms(v, p)
s = np.sqrt(c[2])
print(" %-14s %9.4f %9.4f %10.6f %10.6f" % (nm, m1, c[2], c[3]/s**3, c[4]/s**4))
row("주사위 합", vals, pmf)
row("주사위 하나", list(range(1, 7)), {k: 1/6 for k in range(1, 7)})
geo = {k: 0.5**k for k in range(1, 200)}
row("기하 p=0.5", list(geo), geo)
bin3 = {k: math.comb(10, k)*0.1**k*0.9**(10-k) for k in range(11)}
row("이항 n=10 p=.1", list(bin3), bin3)
print(" 대칭이면 왜도가 0 이고, 첨도는 정규분포의 3 을 기준으로 읽습니다")
print(" 1~4차 적률이 각각 중심, 퍼짐, 치우침, 꼬리 두께를 잽니다")
# 적률: 원점적률 E[X^k] 와 중심적률 E[(X-mu)^k]
# 분포 평균 분산 왜도 첨도
# 주사위 합 7.0000 5.8333 0.000000 2.365714
# 주사위 하나 3.5000 2.9167 0.000000 1.731429
# 기하 p=0.5 2.0000 2.0000 2.121320 9.500000
# 이항 n=10 p=.1 1.0000 0.9000 0.843274 3.511111
# 대칭이면 왜도가 0 이고, 첨도는 정규분포의 3 을 기준으로 읽습니다
# 1~4차 적률이 각각 중심, 퍼짐, 치우침, 꼬리 두께를 잽니다
# --- 문제 2: 한 함수에 모든 적률이 들어 있다 ----------------------------
print(" 적률생성함수 M(t) = E[e^{tX}] 안에 모든 적률이 계수로 들어 있습니다")
M = lambda t: sum(np.exp(t*x)*pmf[x] for x in vals)
mk = [sum(x**k*pmf[x] for x in vals) for k in range(0, 13)]
print(" k E[X^k] 급수의 k 번째 항 (t=0.2)")
t0 = 0.2
for k in range(0, 5):
print(" %9d %16.6f %28.10f" % (k, mk[k], mk[k]*t0**k/math.factorial(k)))
print(" 이 항들을 더하면 M(t) 가 됩니다")
print(" 항 수 K 부분합 M(0.2) 정확값 차이")
acc = 0.0
for K in range(1, 13):
acc += mk[K-1]*t0**(K-1)/math.factorial(K-1)
if K in (2, 4, 7, 10, 12):
print(" %11d %16.10f %18.10f %12.2e" % (K, acc, M(t0), abs(acc-M(t0))))
print(" M(t) = sum_k E[X^k] t^k / k! 이므로 k 번 미분하고 t=0 을 넣으면 E[X^k] 입니다")
print(" 알려진 분포의 M(t) 를 확인합니다")
print(" 분포 M(t) 이론식 t=0.3 이론 t=0.3 수치")
lam = 2.0
def pois_mgf(t, lam, K=80):
term, tot = np.exp(-lam), 0.0
for k in range(K):
tot += np.exp(t*k)*term
term *= lam/(k+1)
return tot
print(" %-18s %-24s %14.8f %14.8f"
% ("포아송 lam=2", "exp(lam(e^t - 1))", np.exp(lam*(np.exp(0.3)-1)), pois_mgf(0.3, lam)))
print(" %-18s %-24s %14.8f %14.8f"
% ("이항 n=10 p=0.3", "(1-p+p e^t)^n", (0.7+0.3*np.exp(0.3))**10,
sum(np.exp(0.3*k)*math.comb(10, k)*0.3**k*0.7**(10-k) for k in range(11))))
Mn = lambda t, mu, s: np.exp(mu*t + s*s*t*t/2)
Mg = 4000000
xs = -40 + (np.arange(Mg) + 0.5)*80/Mg
w = np.exp(-xs*xs/2)/np.sqrt(2*np.pi)*(80/Mg)
print(" %-18s %-24s %14.8f %14.8f"
% ("표준정규", "exp(mu t + s^2 t^2/2)", Mn(0.3, 0, 1), float(np.exp(0.3*xs) @ w)))
# 적률생성함수 M(t) = E[e^{tX}] 안에 모든 적률이 계수로 들어 있습니다
# k E[X^k] 급수의 k 번째 항 (t=0.2)
# 0 1.000000 1.0000000000
# 1 7.000000 1.4000000000
# 2 54.833333 1.0966666667
# 3 465.500000 0.6206666667
# 4 4196.500000 0.2797666667
# 이 항들을 더하면 M(t) 가 됩니다
# 항 수 K 부분합 M(0.2) 정확값 차이
# 2 2.4000000000 4.5506033463 2.15e+00
# 4 4.1173333333 4.5506033463 4.33e-01
# 7 4.5373087259 4.5506033463 1.33e-02
# 10 4.5504426513 4.5506033463 1.61e-04
# 12 4.5505976989 4.5506033463 5.65e-06
# M(t) = sum_k E[X^k] t^k / k! 이므로 k 번 미분하고 t=0 을 넣으면 E[X^k] 입니다
# 알려진 분포의 M(t) 를 확인합니다
# 분포 M(t) 이론식 t=0.3 이론 t=0.3 수치
# 포아송 lam=2 exp(lam(e^t - 1)) 2.01318413 2.01318413
# 이항 n=10 p=0.3 (1-p+p e^t)^n 2.71304064 2.71304064
# 표준정규 exp(mu t + s^2 t^2/2) 1.04602786 1.04602786
# --- 문제 3: 독립 합이면 곱이다 -----------------------------------------
print(" 독립이면 M_{X+Y}(t) = M_X(t) M_Y(t) 입니다. 합성곱이 곱셈이 됩니다")
print(" 합 M_X * M_Y (t=0.3) 합의 M (t=0.3) 차이")
t = 0.3
a = np.exp(2.0*(np.exp(t)-1)); b = np.exp(3.0*(np.exp(t)-1))
print(" %-20s %20.10f %18.10f %12.2e"
% ("Pois(2) + Pois(3)", a*b, np.exp(5.0*(np.exp(t)-1)), abs(a*b - np.exp(5.0*(np.exp(t)-1)))))
a = (0.7+0.3*np.exp(t))**4; b = (0.7+0.3*np.exp(t))**6
print(" %-20s %20.10f %18.10f %12.2e"
% ("Bin(4,.3) + Bin(6,.3)", a*b, (0.7+0.3*np.exp(t))**10,
abs(a*b - (0.7+0.3*np.exp(t))**10)))
a = Mn(t, 1.0, 1.0); b = Mn(t, 2.0, 2.0)
print(" %-20s %20.10f %18.10f %12.2e"
% ("N(1,1) + N(2,4)", a*b, Mn(t, 3.0, np.sqrt(5.0)), abs(a*b - Mn(t, 3.0, np.sqrt(5.0)))))
print(" 128강과 130강에서 합성곱으로 확인한 것이 곱셈 한 번으로 끝납니다")
print(" 지수의 계수를 보면 모수가 어떻게 더해지는지 바로 읽힙니다")
print(" Pois: lam1 + lam2 = %.1f Bin: n1 + n2 = %d" % (5.0, 10))
print(" Normal: mu 는 %.1f, sigma^2 은 %.1f" % (3.0, 5.0))
# 독립이면 M_{X+Y}(t) = M_X(t) M_Y(t) 입니다. 합성곱이 곱셈이 됩니다
# 합 M_X * M_Y (t=0.3) 합의 M (t=0.3) 차이
# Pois(2) + Pois(3) 5.7505415782 5.7505415782 0.00e+00
# Bin(4,.3) + Bin(6,.3) 2.7130406433 2.7130406433 0.00e+00
# N(1,1) + N(2,4) 3.0802168489 3.0802168489 0.00e+00
# 128강과 130강에서 합성곱으로 확인한 것이 곱셈 한 번으로 끝납니다
# 지수의 계수를 보면 모수가 어떻게 더해지는지 바로 읽힙니다
# Pois: lam1 + lam2 = 5.0 Bin: n1 + n2 = 10
# Normal: mu 는 3.0, sigma^2 은 5.0
# --- 문제 4: M 이 없을 수도 있다 ----------------------------------------
print(" 로그정규분포는 모든 적률이 유한한데 M(t) 가 t>0 에서 발산합니다")
print(" k E[X^k] = exp(k^2/2)")
for k in [1, 2, 3, 4]:
print(" %9d %24.6f" % (k, np.exp(k*k/2)))
print(" 그런데 M(t) 의 적분은 t>0 에서 발산합니다")
print(" t 상한 L 적분 (0~L) L 을 키우면")
for t2 in [0.1, 0.5]:
prev = None
for L in [20.0, 100.0, 500.0]:
Mi = 4000000
u = (np.arange(Mi) + 0.5)*(L/Mi)
f = np.exp(-(np.log(u))**2/2)/(u*np.sqrt(2*np.pi))
v = float((np.exp(t2*u)*f).sum()*(L/Mi))
tag = "증가" if prev is None or v > prev else "안정"
print(" %7.1f %10.0f %16.6e %12s" % (t2, L, v, tag))
prev = v
print(" 적률은 다 있는데 적률생성함수가 없으므로 적률이 분포를 정하지 못합니다")
print(" 로그정규와 같은 적률을 갖는 다른 분포가 실제로 존재합니다")
# 로그정규분포는 모든 적률이 유한한데 M(t) 가 t>0 에서 발산합니다
# k E[X^k] = exp(k^2/2)
# 1 1.648721
# 2 7.389056
# 3 90.017131
# 4 2980.957987
# 그런데 M(t) 의 적분은 t>0 에서 발산합니다
# t 상한 L 적분 (0~L) L 을 키우면
# 0.1 20 1.200852e+00 증가
# 0.1 100 1.275962e+00 증가
# 0.1 500 1.992396e+11 증가
# 0.5 20 2.041522e+01 증가
# 0.5 100 1.159303e+15 증가
# 0.5 500 2.528330e+97 증가
# 적률은 다 있는데 적률생성함수가 없으므로 적률이 분포를 정하지 못합니다
# 로그정규와 같은 적률을 갖는 다른 분포가 실제로 존재합니다
# --- 문제 5: 로그를 취하면 더 깔끔해진다 --------------------------------
print(" 누율생성함수 K(t) = log M(t) 를 씁니다")
print(" 분포 K'(0) = 평균 K''(0) = 분산 이론 평균 이론 분산")
def cum(Mf, nm, tm, tv):
h = 1e-4
K = lambda t: np.log(Mf(t))
k1 = (K(h) - K(-h))/(2*h)
k2 = (K(h) - 2*K(0) + K(-h))/h**2
print(" %-16s %14.8f %16.8f %11.4f %10.4f" % (nm, k1, k2, tm, tv))
cum(lambda t: np.exp(2.0*(np.exp(t)-1)), "포아송 lam=2", 2.0, 2.0)
cum(lambda t: (0.7+0.3*np.exp(t))**10, "이항 10, 0.3", 3.0, 2.1)
cum(lambda t: Mn(t, 5.0, 2.0), "N(5, 4)", 5.0, 4.0)
cum(lambda t: sum(np.exp(t*x)*pmf[x] for x in vals), "주사위 합", 7.0, 35/6)
print(" 독립 합에서 K 는 그냥 더해집니다. 곱보다 다루기 쉽습니다")
print(" K_{X+Y}(0.3) = K_X(0.3) + K_Y(0.3) 확인")
kx = np.log(np.exp(2.0*(np.exp(0.3)-1))); ky = np.log(np.exp(3.0*(np.exp(0.3)-1)))
kxy = np.log(np.exp(5.0*(np.exp(0.3)-1)))
print(" %.10f + %.10f = %.10f (차이 %.2e)" % (kx, ky, kxy, abs(kx+ky-kxy)))
# 누율생성함수 K(t) = log M(t) 를 씁니다
# 분포 K'(0) = 평균 K''(0) = 분산 이론 평균 이론 분산
# 포아송 lam=2 2.00000000 2.00000001 2.0000 2.0000
# 이항 10, 0.3 3.00000000 2.10000002 3.0000 2.1000
# N(5, 4) 5.00000000 4.00000000 5.0000 4.0000
# 주사위 합 7.00000000 5.83333328 7.0000 5.8333
# 독립 합에서 K 는 그냥 더해집니다. 곱보다 다루기 쉽습니다
# K_{X+Y}(0.3) = K_X(0.3) + K_Y(0.3) 확인
# 0.6997176152 + 1.0495764227 = 1.7492940379 (차이 0.00e+00)
문제 3의 세 줄이 이 강의의 값어치입니다. 차이가 모두 정확히 입니다. 128강에서 합성곱과 이항정리로, 130강에서 수치 합성곱으로 확인한 것이 곱셈 한 번이 되었습니다.
문제 2의 부분합 표는 "생성"이라는 이름의 뜻을 보여 줍니다. 항을 늘릴수록 오차가 에서 으로 줄어듭니다. 안에 적률들이 테일러 계수로 들어 있다는 것이 수치로 확인됩니다.
문제 4의 마지막 줄이 경고입니다. , 에서 적분이 입니다. 적률이 전부 유한한데 적률생성함수는 없으며, 그 결과로 적률만으로는 분포가 정해지지 않습니다.
정답.
| 기호 | 읽는 법 | 뜻 |
|---|---|---|
| 원점적률 | 입니다 | |
| \mu_ | 중심적률 | 입니다 |
| 왜도 | skewness | 치우침을 잽니다 |
| 첨도 | kurtosis | 꼬리의 무게를 잽니다 |
| 적률생성함수 | 입니다 | |
| 누율생성함수 | 입니다 | |
| \kappa_ | 누율 | 독립 합에서 더해집니다 |
| 특성함수 | 이며 언제나 존재합니다 | |
| 확률생성함수 | 입니다 | |
| 유일성 정리 | uniqueness theorem | 이 근방에서 유한해야 합니다 |
| 카를레만 조건 | Carleman's condition | 적률 문제의 유일성 충분조건입니다 |
| 체르노프 경계 | Chernoff bound | 에서 나오는 지수적 상한입니다 |
다음 135강에서는 마르코프 부등식과 체비쇼프 부등식을 다룹니다. 지금까지 적률로 분포를 요약했는데, 요약만으로 확률을 얼마나 제한할 수 있는지를 묻습니다. 평균만 알면 마르코프가, 분산까지 알면 체비쇼프가 상한을 주며, 심화 2에서 예고한 대로 적률생성함수까지 쓰면 체르노프가 됩니다. 이 부등식들이 142강 큰 수의 법칙의 증명 도구가 되며, 이것으로 03단원이 마무리됩니다.