# 분포와 요약 통계

> 여러 숫자의 중심과 퍼짐, 한 값의 상대적 위치를 평균·중앙값·백분위·표준편차·z-score·로그 변환으로 읽는 법을 설명한다.

숫자 하나는 혼자서는 높거나 낮지 않습니다. **비교할 값들이 어디에 모이고 얼마나 퍼져 있는지**를 함께 봐야 그 숫자의 위치를 말할 수 있습니다. 여러 값이 이루는 전체 모양을 **분포**라고 합니다.

## 응답 시간 하나를 100개 요청 사이에 놓기

API 요청 100개의 응답 시간을 작은 값부터 줄 세웠다고 해봅시다. 어떤 요청보다 빠른 값이 95개라면, 그 요청은 95백분위에 있습니다. 전체 요청의 95%보다 오래 걸렸다는 뜻입니다.

백분위는 분포의 모양을 미리 가정하지 않습니다. 다만 95백분위와 99백분위 사이의 실제 시간 차이가 몇 밀리초인지는 백분위만으로 알 수 없습니다.

## 중심을 대표하는 평균과 중앙값

응답 시간이 `90, 95, 100, 105, 610 ms`라면 평균은 `200 ms`이고 중앙값은 `100 ms`입니다. 느린 요청 하나가 평균을 크게 끌어올렸지만, 줄의 가운데에 있는 중앙값은 전형적인 요청의 모습을 더 잘 보여 줍니다.

평균은 모든 값을 사용하므로 전체 규모를 계산할 때 유용합니다. 중앙값은 극단값에 덜 흔들리므로 한쪽 꼬리가 긴 분포의 중심을 설명할 때 유용합니다. 어느 하나가 항상 더 좋은 것은 아니며, 답하려는 질문에 맞게 선택합니다.

## 퍼짐을 나타내는 표준편차

두 서버의 평균 응답 시간이 모두 `100 ms`여도 안정성은 다를 수 있습니다. 첫 서버의 값이 `95~105 ms`에 모이고 둘째 서버의 값이 `20~300 ms`에 퍼져 있다면, 평균만으로는 이 차이를 볼 수 없습니다.

**표준편차**는 값들이 평균 주변에서 얼마나 퍼졌는지 요약합니다. 값들이 촘촘하면 작고, 넓게 흩어지면 큽니다. 다만 극단값과 치우친 분포에 영향을 받으므로 히스토그램이나 상자 그림으로 분포 모양도 함께 확인하는 편이 좋습니다.

## z-score는 평균에서 몇 칸 떨어졌는가

z-score는 값과 평균의 차이를 표준편차 단위로 바꿉니다.

$$
z = \frac{x-\mu}{\sigma}
$$

$x$는 확인할 값, $\mu$는 비교 집단의 평균, $\sigma$는 표준편차입니다. 평균이 `100 ms`, 표준편차가 `20 ms`인 집단에서 `140 ms`는 z-score가 2입니다. 평균보다 표준편차 두 칸 위에 있다는 뜻입니다.

z-score가 크다고 그 값의 원인까지 밝혀지는 것은 아닙니다. 분포가 심하게 치우쳤거나 극단값이 많으면 평균과 표준편차 자체가 안정적인 기준이 아닐 수도 있습니다.

## 비율과 로그2

두 값의 상대적 크기는 비율로 나타낼 수 있습니다. 새 버전의 처리량이 기존 버전의 4배라면 fold change는 4입니다. 증가와 감소를 대칭적인 숫자로 보기 위해 흔히 로그2로 바꿉니다.

| log2 fold change | 실제 비율 |
| --- | --- |
| -2 | 1/4배 |
| -1 | 1/2배 |
| 0 | 같은 값 |
| 1 | 2배 |
| 2 | 4배 |

로그는 큰 값 사이의 간격을 눌러 줍니다. `1, 10, 100, 1,000`을 그대로 그리면 큰 값이 화면을 지배하지만, 로그10을 취하면 `0, 1, 2, 3`이 되어 배수 차이를 일정한 간격으로 볼 수 있습니다.

로그 0은 정의되지 않으므로 `log2(x + 1)`처럼 작은 값을 더하는 경우가 있습니다. 이때 `+1`은 데이터가 아니라 계산을 가능하게 하는 선택이므로, 어떤 값을 더했는지 기록해야 합니다.

## 상관은 함께 움직이는 정도다

서버 부하와 응답 시간을 같은 시점마다 측정했다고 해봅시다. 부하가 높아질수록 응답 시간도 길어져 산점도의 점이 오른쪽 위 방향으로 모이면 두 값은 양의 상관을 보입니다.

상관이 높아도 두 값이 같거나 한쪽이 다른 쪽의 원인이라는 뜻은 아닙니다. 두 측정값 가운데 하나가 항상 다른 하나의 두 배여도 움직이는 순서가 같으면 상관은 높을 수 있습니다. 공통 원인이 둘을 함께 움직이게 했을 가능성도 남습니다.

## 정리

백분위는 줄에서의 위치, 평균과 중앙값은 중심, 표준편차는 퍼짐, z-score는 평균에서의 표준화된 거리를 말합니다. 비율과 로그는 상대적 크기를 읽기 쉽게 바꾸고, 상관은 두 값이 함께 움직이는 정도를 요약합니다. 각 지표가 답하는 질문이 다르므로 분포 하나를 숫자 하나로만 판단하지 않습니다.