164강이 적률로 모양을 쟀습니다. 이제 순위로 잽니다.
왜 다른 길이 필요한지는 164강이 이미 보여 주었습니다. 표본이 개면 첨도가 을 넘을 수 없고, 에서는 첨도가 아예 존재하지 않습니다. 분위수는 둘 다 겪지 않습니다.
| 성질 | 적률 | 분위수 |
|---|---|---|
| 표본 크기가 상한을 정함 | 그렇습니다 | 아닙니다 |
| 꼬리가 두꺼우면 없어짐 | 그렇습니다 | 언제나 있습니다 |
| 단조변환에 따라감 | 아닙니다 | 그렇습니다 |
| 계산이 유일함 | 그렇습니다 | 아닙니다 |
마지막 줄이 이 강의의 첫 놀라움입니다. 평균은 계산 방법이 하나인데, 사분위수는 자료 부터 까지에서 이 부터 까지 여섯 가지로 갈립니다. 어느 쪽도 틀리지 않았습니다.
그리고 이 다섯 수가 그림이 됩니다.
한 장에 중심과 퍼짐과 비대칭과 이상치 후보가 함께 보입니다. 다만 요약인 이상 감추는 것이 있으며, 다섯 수가 모두 같은데 모양이 전혀 다른 자료 셋을 문제 3에서 만듭니다.
문제. 자료 의 사분위수를 구합니다.
(1) 여덟 가지 계산 방식으로 각각 구하세요.
(2) 왜 답이 갈리는지 설명하세요.
(3) 표본이 커지면 어떻게 되는지 확인하세요.
생각의 실마리. 은 "아래쪽 퍼센트가 되는 값"입니다. 그런데 자료가 개이면 아래쪽 비율이 나 은 되어도 는 되지 않습니다. 그러면 무엇을 답해야 할지 생각해 봅니다.
풀이. (1) 여덟 방식으로 계산했습니다.
| 계산 방식 | Q_ | 중앙값 | Q_ | IQR |
|---|---|---|---|---|
inverted_cdf |
||||
averaged_inverted_cdf |
||||
closest_observation |
||||
hazen |
||||
weibull |
||||
linear |
||||
median_unbiased |
||||
normal_unbiased |
이 부터 까지 여섯 가지로 갈립니다. IQR도 부터 까지 갈리므로, 문제 2의 수염 위치도 함께 달라집니다.
(2) 이유는 경험분포함수가 뛰기 때문입니다.
| 기준값 | 이 값 이하인 비율 |
|---|---|
비율이 에서 으로 건너뜁니다. 를 주는 값이 아예 없으므로, 그 사이를 어떻게 메울지가 방식마다 다릅니다.
경험분포함수는 계단이라 대부분의 에 대해 인 가 없습니다. 역함수를 정의하려면 규약이 필요하고, 그 규약이 여덟 개인 것입니다.
(3) 표본이 커지면 계단의 폭이 줄어듭니다.
| 표본 크기 | 여덟 방식의 최대 차이 |
|---|---|
배 커질 때마다 차이가 대략 배씩 줄어듭니다. 표본이 크면 어느 방식을 쓰든 상관없습니다.
이 문제에서 배우는 것. 작은 자료에서 사분위수를 보고할 때는 계산 방식을 함께 적어야 합니다. 그러지 않으면 다른 사람이 같은 자료로 다른 숫자를 냅니다. 162강 문제 1에서 파이프라인 단계의 순서를 고정해야 한다고 한 것과 같은 이야기이며, 재현되지 않는 숫자는 검증할 수 없습니다. 통계 도구마다 기본값이 다르므로 특히 조심해야 합니다.
바로 확인 1.
확인 1-1. 사분위수의 계산 방식이 여럿인 이유를 쓰세요.
답. 경험분포함수가 계단이라 아래쪽 비율이 정확히 가 되는 값이 없기 때문입니다.
확인 1-2. 검산에서 이 몇 가지로 갈렸는지 쓰세요.
답. 부터 까지 여섯 가지입니다.
확인 1-3. 표본이 커지면 어떻게 되는지 검산 값과 함께 쓰세요.
답. 에서 이던 차이가 에서 로 줄어듭니다.
문제. 다섯 수로 자료를 요약하고 그림으로 만듭니다.
(1) 표준정규의 다섯 수를 구하세요.
(2) IQR 수염 규칙이 정규분포에서 몇 퍼센트를 밖에 두는지 구하세요.
(3) 표본 크기와 분포에 따라 수염 밖 점이 몇 개인지 구하세요.
생각의 실마리. 최솟값과 최댓값을 그대로 쓰면 표본이 커질수록 그림이 길어집니다. 163강 문제 2에서 범위가 계속 자란다고 한 것 때문입니다. 그래서 어디까지를 몸통으로 볼지 정하는 규칙이 필요합니다.
풀이. (1) 표본 만 개입니다.
| 다섯 수 | 표준정규 수치 | 이론 |
|---|---|---|
| 최솟값 | 표본에 달림 | |
| Q_ | ||
| 중앙값 | ||
| Q_ | ||
| 최댓값 | 표본에 달림 |
가운데 셋만 분포의 성질이고 양끝 둘은 표본 크기의 성질입니다.
(2) 수염의 끝을 계산합니다.
검산에서 과 이며, 정규분포에서 이 밖에 있을 비율이 입니다. 이론값은 입니다.
라는 상수가 그 퍼센트를 정합니다. 관습이지만 근거는 있습니다. 정규분포라면 개 중 개만 밖에 나오도록 맞춘 값입니다.
(3) 그러면 깨끗한 정규 자료에서도 점이 찍힙니다.
| 표본 크기 | 수염 밖 점의 평균 개수 | 이론 |
|---|---|---|
이면 이상치가 하나도 없는 정규 자료에서 평균 개가 찍힙니다.
표본이 작으면 이론값보다 많이 나옵니다. 에서 과 로 두 배 가까이 차이 나는데, 사분위수 자체가 흔들려 수염이 때때로 좁아지기 때문입니다. 문제 1의 계산 방식 차이가 여기서 실제 효과를 냅니다.
치우친 분포에서는 훨씬 많아집니다.
| 분포 | 수염 밖 비율 |
|---|---|
| 표준정규 | |
| 지수 | |
| 로그정규 | |
| 자유도 인 |
로그정규에서는 개 중 개 가까이가 점으로 찍힙니다. 아무 문제 없는 정상적인 자료인데 그렇습니다.
이 문제에서 배우는 것. 수염 밖의 점은 이상치가 아니라 이상치 후보입니다. 상자그림이 점을 찍는 것은 "이 값이 잘못되었다"가 아니라 **"정규분포였다면 드물었을 자리에 있다"**는 뜻이며, 자료가 정규가 아니면 그 전제 자체가 틀립니다. 161강 문제 5에서 지울지 말지는 자료가 아니라 그 값이 생긴 이유가 정한다고 한 것이 그대로 적용됩니다. 치우친 자료라면 로그를 씌운 뒤 상자그림을 그리는 것이 나은 경우가 많습니다.
바로 확인 2.
확인 2-1. 다섯 수 요약이 무엇인지 쓰세요.
답. 최솟값, , 중앙값, , 최댓값입니다.
확인 2-2. IQR 규칙이 정규분포에서 몇 퍼센트를 밖에 두는지 쓰세요.
답. 퍼센트이며 검산에서 였습니다.
확인 2-3. 로그정규에서 수염 밖 비율을 쓰고 그 뜻을 쓰세요.
답. 이며 정상인 자료인데도 퍼센트 가까이 점으로 찍힌다는 뜻입니다.
문제. 다섯 수가 모두 같은데 모양이 전혀 다른 자료를 만듭니다.
(1) 역함수를 정해 세 자료를 만드세요.
(2) 다섯 수가 같은지 확인하세요.
(3) 안을 들여다보고 무엇이 다른지 보세요.
생각의 실마리. 다섯 수는 역함수의 다섯 점입니다. 그러면 그 다섯 점만 맞추고 나머지는 마음대로 정할 수 있습니다. 163강 문제 4의 앤스컴 자료를 만든 발상과 같습니다.
풀이. (1)(2) 역함수가 에서 각각 가 되도록 셋을 만들었습니다.
| 자료 | 최솟값 | Q_ | 중앙값 | Q_ | 최댓값 |
|---|---|---|---|---|---|
| 균등 | |||||
| 봉우리 둘 | |||||
| 정규를 잘라 냄 |
상자의 양끝과 수염이 같습니다. 상자그림으로는 셋을 구별할 수 없습니다.
중앙값만 조금 어긋납니다. 봉우리 둘인 자료가 인데, 그 자리의 밀도가 거의 이기 때문입니다. 문제 4가 그 이유를 식으로 설명합니다.
(3) 구간별 비율을 봅니다.
| 자료 | ||||
|---|---|---|---|---|
| 균등 | ||||
| 봉우리 둘 | ||||
| 정규를 잘라 냄 |
| 자료 | ||||
|---|---|---|---|---|
| 균등 | ||||
| 봉우리 둘 | ||||
| 정규를 잘라 냄 |
세 줄이 전혀 다릅니다.
| 자료 | 특징 |
|---|---|
| 균등 | 여덟 구간이 모두 입니다 |
| 봉우리 둘 | 근처에 씩 몰려 있고 가운데가 비었습니다 |
| 정규를 잘라 냄 | 잘린 양끝이 로 가장 두껍습니다 |
봉우리 둘인 자료는 중앙값 근처에 자료가 거의 없습니다. 부터 사이에 개 중 개로 뿐이며, 균등 자료의 과 견주면 분의 입니다.
그런데 상자그림은 그 자리에 굵은 중앙선을 그립니다. 163강 문제 4에서 평균이 골짜기에 놓였던 것과 같은 일이 중앙값에서 일어납니다.
이 문제에서 배우는 것. 상자그림은 분포가 하나의 봉우리라는 전제 위에서 읽어야 합니다. 그 전제가 깨지면 그림이 거짓말을 하는 것이 아니라 그림이 답할 수 없는 것을 물은 것입니다. 대안은 자료 자체를 보이는 그림입니다. 히스토그램은 봉우리의 개수를 보여 주고, 자료가 적으면 점을 다 찍는 것이 가장 정직하며, 바이올린 그림은 상자그림과 밀도를 겹칩니다. 169강이 이 그림들을 다룹니다.
바로 확인 3.
확인 3-1. 다섯 수가 같은 자료를 만드는 방법을 쓰세요.
답. 역함수가 에서 같은 값을 갖도록 정하고 나머지는 마음대로 둡니다.
확인 3-2. 검산에서 봉우리 둘인 자료의 중앙값 근처 비율을 쓰세요.
답. 부터 사이에 이며 균등 자료의 의 분의 입니다.
확인 3-3. 상자그림이 전제하는 것을 쓰세요.
답. 분포에 봉우리가 하나라는 것이며 깨지면 중앙선이 빈 곳을 가리킵니다.
문제. 표본 분위수의 흔들림을 잽니다.
(1) 표준오차를 밀도로 표현하고 수치로 확인하세요.
(2) 극단 분위수가 얼마나 부정확한지 비교하세요.
(3) 표본으로 잴 수 있는 분위수의 한계를 구하세요.
생각의 실마리. 분위수는 그 자리에 있는 점들이 정합니다. 그러면 그 자리에 점이 많으면 안정하고 적으면 흔들릴 것입니다. 점이 얼마나 많은지가 곧 밀도입니다.
풀이. (1) 표본 개를 번 뽑았습니다.
| 분위수 | q_ | 밀도 | 이론 SE | 수치 SE |
|---|---|---|---|---|
분자는 가 에 가까워지면 오히려 작아집니다. 그런데 분모의 밀도가 훨씬 빨리 작아지므로 결과가 커집니다.
(2) 분위수의 표준오차가 중앙값의 배입니다.
밀도가 배 차이 납니다. 꼬리에는 점이 거의 없으므로 몇 개가 들고 나는 것만으로 분위수가 크게 움직입니다.
163강 심화 5에서 예고한 그대로입니다. 중앙값의 표준오차가 평균보다 컸는데, 극단 분위수는 그보다 훨씬 큽니다.
(3) 아예 잴 수 없는 자리도 있습니다.
| 표본 크기 | 잴 수 있는 가장 극단의 분위수 |
|---|---|
표본 개로는 분위수를 물을 수 없습니다. 가장 큰 관측값이 대략 자리이므로, 그 너머는 자료 안에 없습니다.
그 너머는 자료가 아니라 가정이 답합니다. 164강 심화 2의 꼬리 지수를 추정해 외삽하는 것이며, 가정 없이는 아무것도 말할 수 없습니다.
이 문제에서 배우는 것. 분위수마다 정확도가 다릅니다. 중앙값과 백분위수를 같은 표에 나란히 적으면 읽는 사람이 둘을 같은 신뢰도로 읽습니다. 그래서 극단 분위수를 보고할 때는 구간을 함께 적거나 적어도 표본 크기를 적어야 합니다. 그리고 서비스 응답 시간의 백분위수처럼 실무에서 자주 쓰는 값들이 정확히 이 문제를 안고 있습니다.
바로 확인 4.
확인 4-1. 표본 분위수의 표준오차를 식으로 쓰세요.
답. 이며 그 자리의 밀도에 반비례합니다.
확인 4-2. 검산에서 분위수와 중앙값의 표준오차 비를 쓰세요.
답. 배입니다.
확인 4-3. 표본 개로 잴 수 있는 가장 극단의 분위수를 쓰세요.
답. 이며 그 너머는 가정이 답합니다.
문제. 분위수가 무엇을 지키고 무엇을 지키지 않는지 봅니다.
(1) 단조변환에서 분위수와 평균을 비교하세요.
(2) 분위수를 더할 수 있는지 판정하세요.
(3) 대안을 확인하세요.
생각의 실마리. 분위수는 값이 아니라 순위로 정의됩니다. 순위를 바꾸지 않는 변환이라면 분위수도 그대로 따라갈 것입니다. 그런데 더하기는 순위를 지키지 않습니다.
풀이. (1) 로그정규 자료에서 확인합니다.
| 요약값 | 변환 뒤의 값 | 변환 전 값의 변환 | 같은가 |
|---|---|---|---|
| 중앙값 | 참 | ||
| 분위수 | 참 | ||
| 평균 | 거짓 |
평균은 그렇지 않습니다. 132강 젠센 부등식 때문에 입니다.
실무에서 자주 쓰이는 성질입니다. 로그를 씌워 분석한 뒤 중앙값을 되돌리면 원래 척도의 중앙값이 정확히 나오는데, 평균은 되돌릴 때 보정이 필요합니다.
(2) 그런데 분위수는 더할 수 없습니다.
각각 확률 로 을 잃는 채권 두 장을 봅니다. 서로 독립입니다.
| 대상 | 손실이 을 넘을 확률 | 분위수 |
|---|---|---|
| 채권 하나 | ||
| 두 장을 합친 것 |
각각은 인데 합치면 입니다.
위험을 나눠 가졌는데 합계가 오히려 커진 것으로 나옵니다. 분산 투자가 위험을 늘린다는 결론이 되므로 상식과 어긋납니다.
원인은 분위수가 문턱만 본다는 데 있습니다. 한 장의 부도 확률 는 보다 작아 잡히지 않는데, 두 장 중 하나라도 부도날 확률은 라 를 넘습니다.
(3) 분위수 너머의 평균을 쓰면 사라집니다. 상위 퍼센트의 평균 손실입니다.
| 대상 | 값 | 이론 |
|---|---|---|
| 채권 하나 | ||
| 두 장을 합친 것 | ||
| 하나씩의 합 |
합친 것 가 하나씩의 합 보다 작습니다. 나누어 가지면 위험이 줄어든다는 상식과 맞으며, 이 성질을 부분가법성이라 합니다.
이 문제에서 배우는 것. 분위수는 그 값을 넘는지만 보고 얼마나 넘는지는 보지 않습니다. 그래서 문턱 바로 아래에 아주 큰 손실이 숨어 있어도 값이 으로 나옵니다. 위험을 잴 때 분위수만 쓰면 문턱 밖으로 위험을 밀어 넣는 방식으로 숫자를 좋게 만들 수 있으며, 그것이 분위수 너머의 평균을 함께 쓰는 이유입니다. 163강 문제 1의 틀로 보면, 분위수는 순위만 보는 손실에서 나오고 그 대가로 크기 정보를 버린 것입니다.
바로 확인 5.
확인 5-1. 분위수가 단조변환에 불변임을 식으로 쓰세요.
답. 가 증가함수이면 입니다.
확인 5-2. 검산에서 분위수를 더할 수 없음을 보인 예를 쓰세요.
답. 각각 분위수가 인 채권 두 장을 합치면 이 됩니다.
확인 5-3. 부분가법성을 만족하는 대안을 쓰세요.
답. 분위수 너머의 평균이며 검산에서 이었습니다.
| 다섯 수 | 뜻 |
|---|---|
| 최솟값 | 표본 크기에 달립니다 |
| Q_ | 아래쪽 퍼센트 자리 |
| 중앙값 | 아래쪽 퍼센트 자리 |
| Q_ | 아래쪽 퍼센트 자리 |
| 최댓값 | 표본 크기에 달립니다 |
| 상자그림 요소 | 계산 |
|---|---|
| 상자 | 부터 까지 |
| 중앙선 | 중앙값 |
| 수염 | IQR 안의 가장 먼 자료값 |
| 점 | 수염 밖의 자료값 |
| 정규에서 점의 비율 | 퍼센트 |
| 분위수의 성질 | 성립 여부 |
|---|---|
| 단조변환에 불변 | 성립합니다 |
| 이상치에 강함 | 성립합니다 |
| 적률이 없어도 정의됨 | 성립합니다 |
| 계산이 유일함 | 성립하지 않습니다 |
| 더할 수 있음 | 성립하지 않습니다 |
| 자주 하는 실수 | 바로잡기 |
|---|---|
| 사분위수의 계산 방식을 안 적습니다 | 작은 자료에서 여섯 가지로 갈립니다 |
| 수염 밖 점을 이상치로 단정합니다 | 이상치 후보일 뿐입니다 |
| 치우친 자료에 그대로 씁니다 | 로그정규에서 퍼센트가 찍힙니다 |
| 상자그림만으로 모양을 판단합니다 | 봉우리 둘을 구별하지 못합니다 |
| 극단 분위수를 중앙값처럼 믿습니다 | 표준오차가 배입니다 |
| 표본 밖의 분위수를 묻습니다 | 자료가 아니라 가정이 답합니다 |
| 분위수를 더해 합계 위험을 냅니다 | 부분가법성이 없습니다 |
문제 6. 분위수의 정의를 쓰세요.
답. 아래쪽 비율이 이상이 되는 가장 작은 값이며 규약에 따라 달라집니다.
문제 7. 검산에서 이 몇 가지로 갈렸는지 쓰세요.
답. 부터 까지 여섯 가지입니다.
문제 8. 계산 방식이 여럿인 이유를 쓰세요.
답. 경험분포함수가 계단이라 비율이 정확히 인 값이 없기 때문입니다.
문제 9. 다섯 수 요약을 쓰세요.
답. 최솟값, , 중앙값, , 최댓값입니다.
문제 10. IQR 수염의 위치를 정규분포에서 계산하세요.
답. 이며 밖에 퍼센트가 있습니다.
문제 11. 검산에서 인 정규 자료의 수염 밖 점 개수를 쓰세요.
답. 평균 개이며 이상치가 없는 자료입니다.
문제 12. 로그정규에서 수염 밖 비율을 쓰세요.
답. 입니다.
문제 13. 다섯 수가 같고 모양이 다른 자료를 만드는 방법을 쓰세요.
답. 역함수의 다섯 점만 맞추고 나머지는 마음대로 정합니다.
문제 14. 검산에서 봉우리 둘인 자료의 가운데 비율을 쓰세요.
답. 부터 사이에 이며 균등의 과 크게 다릅니다.
문제 15. 표본 분위수의 표준오차를 식으로 쓰세요.
답. 입니다.
문제 16. 검산에서 분위수의 표준오차가 중앙값의 몇 배인지 쓰세요.
답. 배입니다.
문제 17. 분위수가 단조변환에 불변인 것과 평균이 그렇지 않은 것을 쓰세요.
답. 이고 평균은 젠센 부등식으로 어긋납니다.
문제 18. 검산에서 분위수의 비가법성을 보인 수치를 쓰세요.
답. 각각 인 두 채권을 합치면 분위수가 이 됩니다.
심화 1. 순서통계량의 분포를 정리하세요.
정렬한 표본의 번째 값을 라 쓰고 순서통계량이라 부릅니다.
균등분포에서는 정확한 분포가 나옵니다.
분모가 이 아니라 입니다. 개의 점이 을 개의 조각으로 나누고 그 조각들의 기댓값이 같기 때문입니다.
일반 분포는 확률적분변환으로 옮깁니다. 가 연속이면 가 균등분포를 따르므로 다음이 성립합니다.
여기서 분위수 그림의 위치 규약이 나옵니다. 164강 문제 4에서 을 썼는데, 을 쓰는 방식도 있고 를 쓰는 방식도 있습니다. 문제 1의 여덟 가지 규약과 같은 뿌리입니다.
극값의 분포는 따로 다룹니다. 의 극한분포는 세 가지뿐이며, 이것이 극값이론입니다. 문제 4에서 표본 밖의 분위수를 물을 수 없다고 했는데, 극값이론이 그 외삽에 근거를 주는 방법입니다.
심화 2. 분위수 회귀를 정리하세요.
163강 심화 1에서 핀볼 손실을 보았습니다. 그것을 회귀로 확장합니다.
조건부 평균이 아니라 조건부 분위수를 맞힙니다.
| 얻는 것 | 내용 |
|---|---|
| 이상치에 강함 | 절댓값 계열 손실입니다 |
| 분산이 변해도 됨 | 등분산 가정이 필요 없습니다 |
| 전체 모습 | 를 여러 개 두면 조건부 분포를 그립니다 |
셋째 줄이 가장 유용합니다. 평균 회귀는 선 하나를 주는데, 로 세 번 돌리면 에 따라 퍼짐이 어떻게 변하는지가 보입니다.
주의할 점이 있습니다. 여러 의 선이 서로 교차할 수 있습니다. 각각 따로 적합하므로 의 예측이 보다 작아지는 자리가 생길 수 있으며, 분위수의 정의상 있을 수 없는 일입니다. 교차를 막는 방법이 따로 필요합니다.
예측구간에도 쓰입니다. 정규성을 가정하지 않고 와 를 적합하면 그 사이가 퍼센트 예측구간이며, 164강 심화 3에서 예측구간이 정규성에 민감하다고 한 문제를 피합니다.
심화 3. 큰 자료에서 분위수를 근사하는 방법을 정리하세요.
162강 심화 3에서 평균은 상수 메모리로 정확히 구하는데 분위수는 그렇지 않다고 했습니다. 왜 그런지와 어떻게 하는지를 봅니다.
정확한 중앙값을 구하려면 원칙적으로 모든 값을 봐야 합니다. 마지막 하나가 중앙값을 바꿀 수 있기 때문입니다.
| 방법 | 성격 |
|---|---|
| 저수지 표집 | 무작위 부분표본을 유지합니다 |
| 다이제스트 | 중심은 성기게, 꼬리는 촘촘히 요약합니다 |
| GK 알고리즘 | 순위 오차의 상한을 보장합니다 |
둘째 줄이 실무에서 널리 쓰입니다. 자료를 무게가 있는 덩어리들로 요약하는데, 꼬리 쪽 덩어리를 작게 유지하므로 분위수의 정확도가 중앙값보다 좋습니다. 문제 4에서 본 문제를 알고리즘 쪽에서 보완하는 셈입니다.
합칠 수 있다는 것이 중요합니다. 서버 여러 대의 요약을 그냥 합쳐도 되므로, 분산 환경에서 응답 시간의 백분위수를 재는 표준적인 방법이 되었습니다.
평균은 합칠 때 정확한데 분위수는 근사입니다. 그 대가로 얻는 것이 상수 메모리이며, 정확도를 얼마나 포기할지가 설정값입니다.
심화 4. 상자그림의 변형들을 정리하세요.
문제 3에서 상자그림의 한계를 보았습니다. 보완하는 방법들이 있습니다.
| 변형 | 더하는 것 |
|---|---|
| 표본 크기에 따라 폭 조절 | 몇 개로 그린 그림인지 |
| 홈 파인 상자그림 | 중앙값의 신뢰구간 |
| 바이올린 그림 | 밀도 곡선 |
| 점을 겹쳐 그리기 | 자료 그 자체 |
| 문자값 그림 | 꼬리의 여러 분위수 |
둘째 줄이 자주 잊히는 것을 채웁니다. 두 집단의 상자그림을 나란히 놓고 "중앙값이 다르다"고 말하려면 그 차이가 흔들림보다 큰지 봐야 하는데, 보통의 상자그림에는 그 정보가 없습니다.
다섯째 줄이 문제 4와 이어집니다. 문자값 그림은 , 에서 멈추지 않고 , 처럼 계속 반으로 나눠 가며 상자를 겹쳐 그립니다. 표본이 클 때 꼬리의 모양을 보여 주며, 상자그림이 수염 밖을 전부 점으로 찍어 버리는 문제를 고칩니다.
자료가 적으면 그림을 그리지 않는 것이 낫습니다. 짜리 상자그림은 다섯 점을 다섯 개의 선으로 바꾼 것뿐이라, 점을 그냥 찍는 것이 정보가 더 많습니다.
심화 5. 두 분포를 분위수로 비교하는 방법을 정리하세요.
164강 문제 4에서 표본과 이론분포를 맞대었습니다. 두 표본을 서로 맞댈 수도 있습니다.
두 자료의 같은 분위수끼리 짝지어 그리면 관계가 한눈에 보입니다.
| 그림의 모양 | 두 분포의 관계 |
|---|---|
| 기울기 인 직선 | 같습니다 |
| 위로 평행이동한 직선 | 위치만 다릅니다 |
| 기울기가 이 아닌 직선 | 퍼짐만 다릅니다 |
| 휘어진 곡선 | 모양이 다릅니다 |
평균 차이만 보는 것보다 훨씬 많은 것을 말합니다. 예를 들어 처치가 아래쪽 사람들에게만 효과가 있었다면 평균 차이는 작게 나오는데 분위수 대조에서는 아래쪽만 벌어진 모습이 보입니다.
이것이 분포 효과의 발상입니다. 심화 2의 분위수 회귀가 같은 것을 회귀의 틀로 하는 일이며, 평균 처치 효과가 전부가 아니라는 것이 공통된 이야기입니다.
주의할 점은 문제 4입니다. 양끝의 점들은 표준오차가 크므로 꼬리에서 벌어진 것처럼 보이는 것이 우연일 수 있습니다. 대역을 함께 그리는 이유입니다.
심화 6. 이 강의가 어디에 쓰이는지 정리하세요.
| 분야 | 쓰임 | 이어지는 강의 |
|---|---|---|
| 두 변수 요약 | 순위 상관이 분위수의 짝입니다 | 166강 |
| 시각화 | 상자그림과 바이올린과 문자값 그림 | 169강 |
| 표집 | 층을 분위수로 나눕니다 | 175강 |
| 서비스 지표 | 응답 시간의 백분위수 | 문제 4 |
넷째 줄이 실무에서 가장 흔한 쓰임입니다. 평균 응답 시간이 밀리초여도 백분위수가 초이면 명 중 한 명은 서비스를 못 쓰는 것이라, 평균보다 분위수가 더 중요한 지표가 됩니다.
그런데 문제 4와 문제 5가 함께 걸립니다. 그 백분위수는 표본이 적으면 크게 흔들리고, 여러 서비스의 백분위수를 더해 전체 지연을 추정하면 틀립니다. 분위수는 더할 수 없기 때문입니다.
정답.
| 기호 | 읽는 법 | 뜻 |
|---|---|---|
| q_ | 큐 피 | 분위수입니다 |
| Q_{1},Q_{2},Q_ | 사분위수 | , , 분위수입니다 |
| IQR | 사분위 범위 | 입니다 |
| F_ | 경험분포함수 | 자료로 만든 계단 모양 분포함수입니다 |
| X_ | 케이 번째 순서통계량 | 정렬한 표본의 번째 값입니다 |
| 다섯 수 요약 | five-number summary | 최소, , 중앙값, , 최대 |
| 상자그림 | box plot | 다섯 수와 수염 규칙으로 그린 그림입니다 |
| 수염 | whisker | IQR 안의 가장 먼 자료값까지입니다 |
| 바이올린 그림 | violin plot | 상자그림에 밀도를 겹칩니다 |
| 문자값 그림 | letter-value plot | 꼬리의 여러 분위수를 상자로 겹쳐 그립니다 |
| 분위수 회귀 | quantile regression | 조건부 분위수를 맞힙니다 |
| 부분가법성 | subadditivity | 합친 위험이 각각의 합을 넘지 않습니다 |
| 분위수 너머의 평균 | expected shortfall | 문턱을 넘은 부분의 평균 손실입니다 |
| 다이제스트 | t-digest | 분위수를 근사로 요약하는 자료구조입니다 |
| 확률적분변환 | probability integral transform | 가 균등분포가 됩니다 |
다음은 166강 두 변수의 관계 요약입니다. 여기까지가 한 변수를 요약하는 일이었고, 다음은 두 변수 사이를 요약합니다.
세 번째 기호가 이 강의와 이어집니다. 공분산과 상관은 값을 쓰는 척도라 163강의 평균처럼 이상치에 흔들리는데, 순위만 쓰는 상관이 그 대안이며 분위수와 같은 발상입니다.
그리고 같은 함정이 다시 나옵니다. 상관도 요약값이라 같은 상관을 주는 전혀 다른 관계가 있습니다. 163강 문제 4의 앤스컴 자료가 정확히 그것을 보인 것이었고, 다음 강의는 상관이 인데 완전히 결정된 관계까지 다룹니다.
import numpy as np
rng = np.random.default_rng(20260902)
def pw(s, n):
k = n - sum(2 if ord(c) > 0x2FFF else 1 for c in str(s))
return str(s) + " " * max(k, 0)
def rw(s, n):
k = n - sum(2 if ord(c) > 0x2FFF else 1 for c in str(s))
return " " * max(k, 0) + str(s)
# --- 문제 1: 분위수를 어떻게 정의하는가 ---------------------------------
print(" 분위수는 아래쪽 비율이 p 가 되는 값입니다. 그런데 그런 값이 여럿일 수 있습니다")
x = np.array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0])
print(" 자료 %s" % ", ".join("%.0f" % v for v in x))
ms = ["inverted_cdf", "averaged_inverted_cdf", "closest_observation",
"hazen", "weibull", "linear", "median_unbiased", "normal_unbiased"]
print(" %s %s %s %s %s" % (pw("계산 방식", 24), rw("Q1", 10), rw("중앙값", 10),
rw("Q3", 10), rw("IQR", 10)))
for m in ms:
q = np.quantile(x, [0.25, 0.5, 0.75], method=m)
print(" %s %10.4f %10.4f %10.4f %10.4f"
% (pw(m, 24), q[0], q[1], q[2], q[2] - q[0]))
qs = np.array([float(np.quantile(x, 0.25, method=m)) for m in ms])
print(" 같은 자료의 Q1 이 %.2f 부터 %.2f 까지 %d 가지로 갈립니다"
% (float(qs.min()), float(qs.max()), len(np.unique(qs))))
print(" 아래쪽 비율이 정확히 0.25 가 되는 값이 아예 없어서 그렇습니다")
print(" %s %s" % (pw("기준값", 12), rw("이 값 이하인 비율", 20)))
for v in [2.0, 2.5, 2.9, 3.0]:
print(" %s %20.4f" % (pw("%.1f" % v, 12), float((x <= v).mean())))
print(" 비율이 0.2 에서 0.3 으로 건너뜁니다. 0.25 를 주는 값이 없습니다")
print(" 그 사이를 어떻게 메울지가 방식마다 다른 것입니다")
print(" 표본이 커지면 방식의 차이가 사라집니다")
print(" %s %s" % (pw("표본 크기", 12), rw("여덟 방식의 Q1 최대 차이", 26)))
for n in [10, 100, 10000, 1000000]:
v = rng.normal(0, 1, n)
q = np.array([float(np.quantile(v, 0.25, method=m)) for m in ms])
print(" %s %26.8f" % (pw(str(n), 12), float(q.max() - q.min())))
print(" 작은 자료의 사분위수를 보고할 때는 어떤 방식을 썼는지 함께 적습니다")
# --- 문제 2: 다섯 수 요약과 상자그림 ------------------------------------
print(" 다섯 개의 수로 자료를 요약합니다")
n2 = 2000000
z = rng.normal(0, 1, n2)
q1, q2, q3 = np.quantile(z, [0.25, 0.5, 0.75])
iqr = q3 - q1
print(" %s %s %s" % (pw("다섯 수", 14), rw("표준정규 수치", 16), rw("이론", 12)))
for nm, v, t in [("최솟값", float(z.min()), None), ("Q1", float(q1), -0.674490),
("중앙값", float(q2), 0.0), ("Q3", float(q3), 0.674490),
("최댓값", float(z.max()), None)]:
print(" %s %16.6f %12s"
% (pw(nm, 14), v, rw("표본에 달림" if t is None else "%.6f" % t, 12)))
lo, hi = q1 - 1.5 * iqr, q3 + 1.5 * iqr
print(" 수염의 끝은 Q1 - 1.5 IQR = %.6f 와 Q3 + 1.5 IQR = %.6f 입니다" % (lo, hi))
print(" 정규분포에서 이 밖에 있을 비율은 %.6f 입니다" % float(((z < lo) | (z > hi)).mean()))
print(" 이론값은 0.006977 이고 1.5 라는 상수가 그 값을 정합니다")
print(" 그래서 깨끗한 정규 자료에서도 점이 찍힙니다")
print(" %s %s %s" % (pw("표본 크기", 12), rw("수염 밖 점의 평균 개수", 24),
rw("이론 0.006977 n", 18)))
for n in [50, 200, 1000, 10000]:
c = np.array([int(((v := rng.normal(0, 1, n)) < np.quantile(v, 0.25)
- 1.5 * (np.quantile(v, 0.75) - np.quantile(v, 0.25))).sum()
+ (v > np.quantile(v, 0.75)
+ 1.5 * (np.quantile(v, 0.75) - np.quantile(v, 0.25))).sum())
for _ in range(2000)])
print(" %s %24.4f %18.4f" % (pw(str(n), 12), float(c.mean()), 0.006977 * n))
print(" 표본이 작으면 이론값보다 많이 나옵니다. 사분위수 자체가 흔들리기 때문입니다")
print(" 수염 밖의 점은 이상치가 아니라 이상치 후보입니다")
print(" 치우친 자료에서는 그 후보가 훨씬 많아집니다")
print(" %s %s" % (pw("분포", 20), rw("수염 밖 비율", 16)))
for nm, v in [("표준정규", rng.normal(0, 1, n2)), ("지수", rng.exponential(1, n2)),
("로그정규", np.exp(rng.normal(0, 1, n2))),
("자유도 3 인 t", rng.standard_t(3, n2))]:
a, b = np.quantile(v, [0.25, 0.75])
r = b - a
print(" %s %16.6f" % (pw(nm, 20), float(((v < a - 1.5 * r) | (v > b + 1.5 * r)).mean())))
print(" 로그정규에서는 100 개 중 8 개 가까이가 점으로 찍힙니다. 정상인 자료인데도 그렇습니다")
# --- 문제 3: 상자그림이 감추는 것 ---------------------------------------
print(" 다섯 수가 모두 같은데 모양이 전혀 다른 자료 셋을 만듭니다")
n3 = 600000
uu = rng.random(n3)
uni = 4.0 * uu - 2.0
uq = np.array([0.00, 0.25, 0.49, 0.51, 0.75, 1.00])
ux = np.array([-2.0, -1.0, -0.9, 0.9, 1.0, 2.0])
bim = np.interp(uu, uq, ux)
nor = np.clip(rng.normal(0, 1.0 / 0.6744897502, n3), -2.0, 2.0)
print(" 셋 다 역함수를 정해 만들었습니다. 0, 0.25, 0.5, 0.75, 1 자리를 맞췄습니다")
sets = [("균등", uni), ("봉우리 둘", bim), ("정규를 잘라 냄", nor)]
print(" %s %s %s %s %s %s" % (pw("자료", 16), rw("최솟값", 10), rw("Q1", 10),
rw("중앙값", 10), rw("Q3", 10), rw("최댓값", 10)))
for nm, v in sets:
a, b, c = np.quantile(v, [0.25, 0.5, 0.75])
print(" %s %10.4f %10.4f %10.4f %10.4f %10.4f"
% (pw(nm, 16), float(v.min()), a, b, c, float(v.max())))
print(" 상자의 양끝과 수염이 같습니다. 상자그림으로는 구별되지 않습니다")
print(" 중앙값만 조금 어긋나는데 그 자리의 밀도가 낮아서입니다. 문제 4 가 그 이유입니다")
print(" 그런데 안을 들여다보면 전혀 다릅니다")
edges = np.array([-2.0, -1.5, -1.0, -0.5, 0.0, 0.5, 1.0, 1.5, 2.0])
print(" %s %s" % (pw("구간", 16),
" ".join(rw("[%.1f,%.1f)" % (edges[i], edges[i + 1]), 12)
for i in range(4))))
for nm, v in sets:
h = np.histogram(v, bins=edges)[0] / len(v)
print(" %s %s" % (pw(nm, 16), " ".join("%12.4f" % t for t in h[:4])))
print(" %s %s" % (pw("구간", 16),
" ".join(rw("[%.1f,%.1f)" % (edges[i], edges[i + 1]), 12)
for i in range(4, 8))))
for nm, v in sets:
h = np.histogram(v, bins=edges)[0] / len(v)
print(" %s %s" % (pw(nm, 16), " ".join("%12.4f" % t for t in h[4:])))
print(" 봉우리 둘인 자료는 가운데가 거의 비어 있는데 상자그림은 그것을 감춥니다")
print(" 중앙값은 %.4f 인데 그 언저리에 자료가 거의 없습니다" % float(np.median(bim)))
print(" -0.5 부터 0.5 사이에 있는 자료는 %d 개 중 %d 개로 %.4f 입니다"
% (len(bim), int(((bim > -0.5) & (bim < 0.5)).sum()),
float(((bim > -0.5) & (bim < 0.5)).mean())))
print(" 균등 자료에서는 같은 구간에 %.4f 이 들어 있습니다"
% float(((uni > -0.5) & (uni < 0.5)).mean()))
print(" 163강 문제 4 의 앤스컴 자료와 같은 이야기입니다. 요약은 모양을 담지 못합니다")
# --- 문제 4: 분위수를 얼마나 정확히 재는가 ------------------------------
print(" 표본 분위수의 표준오차는 그 자리의 밀도에 반비례합니다")
print(" SE = sqrt(p(1-p)/n) / f(q_p) 이고 f 는 그 분위수 자리의 밀도입니다")
gz = np.arange(200001)
zg = (gz - 100000) * 1e-4
phi = np.exp(-zg * zg / 2) / np.sqrt(2 * np.pi)
cdf = (np.cumsum(phi) - 0.5 * phi) * 1e-4
cdf = cdf - cdf[100000] + 0.5
n4 = 10000
M4 = 4000
print(" %s %s %s %s %s" % (pw("분위수 p", 12), rw("q_p", 10), rw("밀도 f", 12),
rw("이론 SE", 12), rw("수치 SE", 12)))
S = rng.normal(0, 1, (M4, n4))
for p in [0.5, 0.75, 0.9, 0.99, 0.999]:
qp = float(np.interp(p, cdf, zg))
fp = float(np.exp(-qp * qp / 2) / np.sqrt(2 * np.pi))
th = np.sqrt(p * (1 - p) / n4) / fp
emp = float(np.quantile(S, p, axis=1).std())
print(" %s %10.4f %12.6f %12.6f %12.6f" % (pw("%.3f" % p, 12), qp, fp, th, emp))
print(" 0.999 분위수의 표준오차가 중앙값의 %.2f 배입니다"
% (float(np.quantile(S, 0.999, axis=1).std()) / float(np.median(S, axis=1).std())))
print(" 자료가 드문 자리일수록 그 자리의 분위수를 재기 어렵습니다")
print(" 분위수를 관측 범위 밖으로 물으면 아예 답할 수 없습니다")
for n in [100, 1000, 10000]:
print(" 표본 %d 개로 잴 수 있는 가장 극단의 분위수는 %.6f 입니다"
% (n, 1 - 0.5 / n))
print(" 그 너머는 자료가 아니라 가정이 답합니다. 164강 심화 2 의 꼬리 지수입니다")
# --- 문제 5: 분위수의 성질 ----------------------------------------------
print(" 분위수는 순서만 보므로 순서를 지키는 변환에 그대로 따라갑니다")
n5 = 2000000
w = rng.normal(0, 1, n5)
ew = np.exp(w)
print(" %s %s %s %s" % (pw("요약값", 20), rw("변환 뒤의 값", 16),
rw("변환 전 값의 변환", 20), rw("같은가", 10)))
a1, b1 = float(np.median(ew)), float(np.exp(np.median(w)))
a2, b2 = float(ew.mean()), float(np.exp(w.mean()))
print(" %s %16.6f %20.6f %10s"
% (pw("중앙값", 20), a1, b1, str(abs(a1 - b1) < 1e-3)))
print(" %s %16.6f %20.6f %10s"
% (pw("0.9 분위수", 20), float(np.quantile(ew, 0.9)),
float(np.exp(np.quantile(w, 0.9))),
str(abs(np.quantile(ew, 0.9) - np.exp(np.quantile(w, 0.9))) < 1e-3)))
print(" %s %16.6f %20.6f %10s"
% (pw("평균", 20), a2, b2, str(abs(a2 - b2) < 1e-3)))
print(" 로그를 씌우고 분위수를 구한 뒤 되돌리면 원래 분위수입니다")
print(" 평균은 그렇지 않습니다. 132강 젠센 때문에 어긋납니다")
print(" 그런데 분위수는 더할 수 없습니다")
print(" 각각 확률 0.04 로 100 을 잃는 채권 두 장을 봅니다. 서로 독립입니다")
M5 = 4000000
d1 = (rng.random(M5) < 0.04) * 100.0
d2 = (rng.random(M5) < 0.04) * 100.0
print(" %s %s %s" % (pw("대상", 24), rw("손실이 0 을 넘을 확률", 22),
rw("0.95 분위수", 14)))
print(" %s %22.6f %14.4f" % (pw("채권 하나", 24), float((d1 > 0).mean()),
float(np.quantile(d1, 0.95))))
print(" %s %22.6f %14.4f" % (pw("두 장을 합친 것", 24), float((d1 + d2 > 0).mean()),
float(np.quantile(d1 + d2, 0.95))))
print(" 각각은 0 인데 합치면 %.1f 입니다"
% float(np.quantile(d1 + d2, 0.95)))
print(" 위험을 나눠 가졌는데 합계 위험이 오히려 커진 것으로 나옵니다")
print(" 한 장의 부도 확률 0.04 는 0.05 보다 작아 분위수에 잡히지 않습니다")
print(" 두 장 중 하나라도 부도날 확률은 %.6f 이라 0.05 를 넘습니다"
% float(1 - 0.96 ** 2))
print(" 분위수 너머의 평균을 쓰면 이 문제가 사라집니다")
def es(v, p):
srt = np.sort(v)[::-1]
kk = max(int(round(len(v) * (1.0 - p))), 1)
return float(srt[:kk].mean())
e1, e2, e12 = es(d1, 0.95), es(d2, 0.95), es(d1 + d2, 0.95)
print(" 상위 5 퍼센트의 평균 손실을 씁니다")
print(" %s %s %s" % (pw("대상", 24), rw("값", 12), rw("이론", 12)))
print(" %s %12.4f %12.4f" % (pw("채권 하나", 24), e1, 80.0))
print(" %s %12.4f %12.4f" % (pw("두 장을 합친 것", 24), e12, 103.2))
print(" %s %12.4f %12.4f" % (pw("하나씩의 합", 24), e1 + e2, 160.0))
print(" 합친 것 %.2f 이 하나씩의 합 %.2f 보다 작습니다" % (e12, e1 + e2))
print(" 나누어 가지면 위험이 줄어든다는 상식과 맞습니다. 이것이 부분가법성입니다")
print(" 분위수는 그 값을 넘는지만 보고 얼마나 넘는지는 보지 않습니다")
print(" 그래서 위험을 잴 때는 분위수 너머의 평균을 함께 씁니다")
# 분위수는 아래쪽 비율이 p 가 되는 값입니다. 그런데 그런 값이 여럿일 수 있습니다
# 자료 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
# 계산 방식 Q1 중앙값 Q3 IQR
# inverted_cdf 3.0000 5.0000 8.0000 5.0000
# averaged_inverted_cdf 3.0000 5.5000 8.0000 5.0000
# closest_observation 2.0000 5.0000 8.0000 6.0000
# hazen 3.0000 5.5000 8.0000 5.0000
# weibull 2.7500 5.5000 8.2500 5.5000
# linear 3.2500 5.5000 7.7500 4.5000
# median_unbiased 2.9167 5.5000 8.0833 5.1667
# normal_unbiased 2.9375 5.5000 8.0625 5.1250
# 같은 자료의 Q1 이 2.00 부터 3.25 까지 6 가지로 갈립니다
# 아래쪽 비율이 정확히 0.25 가 되는 값이 아예 없어서 그렇습니다
# 기준값 이 값 이하인 비율
# 2.0 0.2000
# 2.5 0.2000
# 2.9 0.2000
# 3.0 0.3000
# 비율이 0.2 에서 0.3 으로 건너뜁니다. 0.25 를 주는 값이 없습니다
# 그 사이를 어떻게 메울지가 방식마다 다른 것입니다
# 표본이 커지면 방식의 차이가 사라집니다
# 표본 크기 여덟 방식의 Q1 최대 차이
# 10 0.39053993
# 100 0.03532579
# 10000 0.00022347
# 1000000 0.00000111
# 작은 자료의 사분위수를 보고할 때는 어떤 방식을 썼는지 함께 적습니다
# 다섯 개의 수로 자료를 요약합니다
# 다섯 수 표준정규 수치 이론
# 최솟값 -5.431332 표본에 달림
# Q1 -0.673917 -0.674490
# 중앙값 0.000502 0.000000
# Q3 0.673856 0.674490
# 최댓값 4.916676 표본에 달림
# 수염의 끝은 Q1 - 1.5 IQR = -2.695577 와 Q3 + 1.5 IQR = 2.695516 입니다
# 정규분포에서 이 밖에 있을 비율은 0.007064 입니다
# 이론값은 0.006977 이고 1.5 라는 상수가 그 값을 정합니다
# 그래서 깨끗한 정규 자료에서도 점이 찍힙니다
# 표본 크기 수염 밖 점의 평균 개수 이론 0.006977 n
# 50 0.6275 0.3488
# 200 1.7330 1.3954
# 1000 7.3275 6.9770
# 10000 69.6415 69.7700
# 표본이 작으면 이론값보다 많이 나옵니다. 사분위수 자체가 흔들리기 때문입니다
# 수염 밖의 점은 이상치가 아니라 이상치 후보입니다
# 치우친 자료에서는 그 후보가 훨씬 많아집니다
# 분포 수염 밖 비율
# 표준정규 0.006902
# 지수 0.048579
# 로그정규 0.077962
# 자유도 3 인 t 0.055114
# 로그정규에서는 100 개 중 8 개 가까이가 점으로 찍힙니다. 정상인 자료인데도 그렇습니다
# 다섯 수가 모두 같은데 모양이 전혀 다른 자료 셋을 만듭니다
# 셋 다 역함수를 정해 만들었습니다. 0, 0.25, 0.5, 0.75, 1 자리를 맞췄습니다
# 자료 최솟값 Q1 중앙값 Q3 최댓값
# 균등 -2.0000 -1.0016 -0.0032 0.9971 2.0000
# 봉우리 둘 -2.0000 -1.0016 -0.0721 0.9997 2.0000
# 정규를 잘라 냄 -2.0000 -1.0012 0.0001 0.9981 2.0000
# 상자의 양끝과 수염이 같습니다. 상자그림으로는 구별되지 않습니다
# 중앙값만 조금 어긋나는데 그 자리의 밀도가 낮아서입니다. 문제 4 가 그 이유입니다
# 그런데 안을 들여다보면 전혀 다릅니다
# 구간 [-2.0,-1.5) [-1.5,-1.0) [-1.0,-0.5) [-0.5,0.0)
# 균등 0.1251 0.1253 0.1252 0.1252
# 봉우리 둘 0.1251 0.1253 0.2449 0.0055
# 정규를 잘라 냄 0.1566 0.0936 0.1178 0.1319
# 구간 [0.0,0.5) [0.5,1.0) [1.0,1.5) [1.5,2.0)
# 균등 0.1249 0.1250 0.1249 0.1244
# 봉우리 둘 0.0057 0.2442 0.1249 0.1244
# 정규를 잘라 냄 0.1324 0.1181 0.0943 0.1552
# 봉우리 둘인 자료는 가운데가 거의 비어 있는데 상자그림은 그것을 감춥니다
# 중앙값은 -0.0721 인데 그 언저리에 자료가 거의 없습니다
# -0.5 부터 0.5 사이에 있는 자료는 600000 개 중 6738 개로 0.0112 입니다
# 균등 자료에서는 같은 구간에 0.2501 이 들어 있습니다
# 163강 문제 4 의 앤스컴 자료와 같은 이야기입니다. 요약은 모양을 담지 못합니다
# 표본 분위수의 표준오차는 그 자리의 밀도에 반비례합니다
# SE = sqrt(p(1-p)/n) / f(q_p) 이고 f 는 그 분위수 자리의 밀도입니다
# 분위수 p q_p 밀도 f 이론 SE 수치 SE
# 0.500 0.0000 0.398942 0.012533 0.012633
# 0.750 0.6745 0.317777 0.013626 0.013745
# 0.900 1.2816 0.175498 0.017094 0.017199
# 0.990 2.3263 0.026652 0.037332 0.037806
# 0.999 3.0902 0.003367 0.093870 0.091376
# 0.999 분위수의 표준오차가 중앙값의 7.23 배입니다
# 자료가 드문 자리일수록 그 자리의 분위수를 재기 어렵습니다
# 분위수를 관측 범위 밖으로 물으면 아예 답할 수 없습니다
# 표본 100 개로 잴 수 있는 가장 극단의 분위수는 0.995000 입니다
# 표본 1000 개로 잴 수 있는 가장 극단의 분위수는 0.999500 입니다
# 표본 10000 개로 잴 수 있는 가장 극단의 분위수는 0.999950 입니다
# 그 너머는 자료가 아니라 가정이 답합니다. 164강 심화 2 의 꼬리 지수입니다
# 분위수는 순서만 보므로 순서를 지키는 변환에 그대로 따라갑니다
# 요약값 변환 뒤의 값 변환 전 값의 변환 같은가
# 중앙값 1.000261 1.000261 True
# 0.9 분위수 3.600954 3.600954 True
# 평균 1.649429 1.000383 False
# 로그를 씌우고 분위수를 구한 뒤 되돌리면 원래 분위수입니다
# 평균은 그렇지 않습니다. 132강 젠센 때문에 어긋납니다
# 그런데 분위수는 더할 수 없습니다
# 각각 확률 0.04 로 100 을 잃는 채권 두 장을 봅니다. 서로 독립입니다
# 대상 손실이 0 을 넘을 확률 0.95 분위수
# 채권 하나 0.039845 0.0000
# 두 장을 합친 것 0.078123 100.0000
# 각각은 0 인데 합치면 100.0 입니다
# 위험을 나눠 가졌는데 합계 위험이 오히려 커진 것으로 나옵니다
# 한 장의 부도 확률 0.04 는 0.05 보다 작아 분위수에 잡히지 않습니다
# 두 장 중 하나라도 부도날 확률은 0.078400 이라 0.05 를 넘습니다
# 분위수 너머의 평균을 쓰면 이 문제가 사라집니다
# 상위 5 퍼센트의 평균 손실을 씁니다
# 대상 값 이론
# 채권 하나 79.6910 80.0000
# 두 장을 합친 것 103.1875 103.2000
# 하나씩의 합 159.4340 160.0000
# 합친 것 103.19 이 하나씩의 합 159.43 보다 작습니다
# 나누어 가지면 위험이 줄어든다는 상식과 맞습니다. 이것이 부분가법성입니다
# 분위수는 그 값을 넘는지만 보고 얼마나 넘는지는 보지 않습니다
# 그래서 위험을 잴 때는 분위수 너머의 평균을 함께 씁니다