목록으로

중심·산포·분포 요약

분포 모양과 이상치에 따라 평균·중앙값, 표준편차·IQR을 선택하고 생명과학 데이터를 왜곡 없이 요약하는 기준을 Python으로 익힙니다.

입문
|
25
|
검증 완료 (2026-08-07)
BioStatPy평균 중앙값 차이표준편차 IQR기술통계분포 요약
진행률0/33 (0%)

중심·산포·분포 요약

이 토픽을 마치면

데이터의 중심을 설명하는 평균과 중앙값, 산포를 설명하는 표준편차와 IQR을 구분할 수 있습니다. Python으로 같은 중심을 가진 두 데이터의 분포가 어떻게 다를 수 있는지 확인하고, 하나의 요약값만으로 관측 구조를 대체하지 않는 해석을 할 수 있습니다.

출발점: 같은 평균은 같은 데이터인가

두 조건에서 측정한 outcome의 평균이 같다고 해 보겠습니다. 이 사실만으로 두 조건의 데이터가 비슷하다고 말할 수 있을까요?

그렇지 않을 수 있습니다. 한 조건의 값들이 평균 주변에 모여 있고, 다른 조건은 일부 값이 멀리 떨어져 있을 수 있습니다. 반대로 평균은 달라도 대부분의 관측값이 겹칠 수 있습니다. 중심은 위치를 요약하고, 산포는 값들이 어느 정도 퍼져 있는지 설명하며, 분포는 그 두 정보만으로 담기지 않는 형태까지 보여줍니다.

이 편의 목적은 특정 처리 조건의 우열을 결론내리는 것이 아닙니다. 승인된 외부 데이터 대신 자체 합성한 두 그룹을 사용해, 요약 통계가 데이터 구조의 한 관점이라는 점을 확인합니다.

분석 단위와 데이터 shape 확인

앞 편에서 확인했듯이 먼저 한 행의 의미를 확인해야 합니다. 아래 예시에서는 한 행이 독립 분석 단위에서 얻은 하나의 outcome이라고 가정합니다. 기술적 반복을 독립 표본으로 추가하지 않았다는 전제가 필요합니다.

사용할 데이터 계약은 다음과 같습니다.

의미자료형단위
condition비교할 조건문자열A 또는 B
outcome분석 대상 측정값실수자체 정의한 임의 단위

실제 연구에서는 단위, 측정 시점, 결측과 반복 구조를 더 기록해야 합니다. 여기서는 중심과 산포의 계산 구조를 보여주기 위해 변수 수를 줄였습니다.

중심을 요약하는 두 관점

평균

관측값을 모두 더한 뒤 관측값의 수로 나눈 값이 평균입니다. 평균은 모든 값의 크기를 계산에 반영하므로, 멀리 떨어진 값의 영향을 받을 수 있습니다. 이 특성은 오류가 아니라 평균이 데이터를 요약하는 방식입니다.

중앙값

값을 크기순으로 놓았을 때 가운데에 위치하는 값입니다. 관측값의 절반이 그보다 작거나 같고, 나머지 절반이 그보다 크거나 같다는 위치 정보를 제공합니다. 짝수 개라면 가운데 두 값으로 정의되는 규칙을 사용합니다.

중앙값이 평균보다 항상 더 좋은 것은 아닙니다. 질문이 평균적인 총량이나 기대 수준을 요구한다면 평균이 중요한 요약이 될 수 있고, 분포의 가운데 위치를 보고 싶다면 중앙값이 유용할 수 있습니다. 선택은 데이터와 질문의 관계로 설명해야 합니다.

산포를 요약하는 두 관점

표준편차

표준편차는 관측값이 평균을 중심으로 얼마나 퍼져 있는지 한 단위로 요약합니다. 평균을 기준으로 계산되므로 큰 값이나 작은 값의 영향을 받을 수 있습니다. 표준편차가 작다는 것은 이 데이터의 값들이 평균 주변에 더 모여 있다는 뜻이지, 측정이 정확하거나 생물학적 변동이 작다는 결론을 자동으로 보장하지는 않습니다.

사분위범위(IQR)

IQR은 75번째 백분위수와 25번째 백분위수의 차이입니다. 가운데 50%가 차지하는 범위를 표현하므로 극단값의 영향이 표준편차보다 제한적일 수 있습니다. 다만 IQR도 분포 전체를 보여주는 값은 아니며, 꼬리와 여러 봉우리 같은 형태는 별도 시각화가 필요합니다.

Python으로 합성 데이터 확인하기

아래 코드는 특정 데이터셋을 복제하지 않고, 중심이 비슷하지만 산포와 극단부가 다른 두 조건을 만들기 위한 예시입니다. numpy의 난수 생성기와 pandas의 DataFrame·groupby·describe API는 requirements-lock.txt의 버전에 맞춰 검증해야 합니다.

python
import numpy as np
import pandas as pd
rng = np.random.default_rng(20260806)
group_a = rng.normal(loc=10.0, scale=0.8, size=20)
group_b = np.concatenate([
rng.normal(loc=10.0, scale=0.8, size=18),
np.array([6.0, 14.0]),
])
data = pd.DataFrame({
"condition": ["A"] * len(group_a) + ["B"] * len(group_b),
"outcome": np.concatenate([group_a, group_b]),
})
summary = data.groupby("condition")["outcome"].agg(
mean="mean",
median="median",
sd="std",
q1=lambda s: s.quantile(0.25),
q3=lambda s: s.quantile(0.75),
)
summary["iqr"] = summary["q3"] - summary["q1"]
print(summary.round(2))

이 코드는 입력을 두 열의 DataFrame으로 만들고, 조건별로 중심과 산포를 계산합니다. std는 pandas가 제공하는 표준편차 계산 규칙을 사용하므로, 실행 환경의 API와 기본값을 확인한 뒤 결과를 기록해야 합니다. summary는 표 형태의 결과 객체이며, 이것만으로 분포의 모든 특징이 표현되지는 않습니다.

결과를 읽는 방법

실행 결과에서 먼저 조건별 평균과 중앙값의 관계를 확인합니다. 두 값이 다르면 분포의 비대칭 또는 일부 값의 영향 가능성을 살펴볼 수 있습니다. 다음으로 SD와 IQR의 크기를 비교합니다. 특정 요약량이 더 크거나 작다는 사실만으로 이상값을 삭제하거나 측정 오류라고 결정하지 않습니다.

이 데이터는 B에 두 개의 멀리 떨어진 값을 넣었으므로, B의 산포 요약이 A와 다르게 나타날 수 있습니다. 중요한 것은 이 차이가 합성 데이터 생성 규칙에서 생겼다는 점을 아는 것입니다. 이 출력으로 어떤 실제 생물학적 조건이 더 우수하다고 해석할 수는 없습니다.

결과를 분포와 함께 읽기

평균과 SD는 평균을 중심으로 한 위치와 퍼짐을 보여주는 한 가지 요약입니다. 중앙값과 IQR은 가운데 영역의 위치와 퍼짐을 보여주는 다른 요약입니다. 둘 중 하나를 고르는 규칙을 데이터의 표면적인 모양만 보고 자동화하지 않습니다.

최소한 다음 질문을 함께 기록합니다.

  • 한 행은 어떤 분석 단위인가?
  • outcome의 단위와 측정 시점은 무엇인가?
  • 결측값이 있는가?
  • 평균과 중앙값이 얼마나 다른가?
  • SD와 IQR이 얼마나 다른가?
  • 관측값이 하나의 그룹에 모여 있는가, 여러 봉우리나 꼬리가 있는가?

마지막 질문에는 표만으로 답하기 어렵습니다. 히스토그램, 점 그래프, 상자그림처럼 관측값의 위치를 드러내는 시각화를 함께 사용해야 합니다. 시각화에는 축과 단위, 관측단위의 의미를 적어야 합니다.

연구 질문으로 돌아가 해석하기

이 편에서 말할 수 있는 것은 “자체 합성 데이터에서 조건별 중심과 산포가 어떤 계산 규칙으로 요약되며, 요약량이 서로 다른 정보를 반영한다”는 정도입니다. 실제 연구의 처리 효과, 생물학적 중요성, 인과를 말하려면 연구설계와 측정 과정, 불확실성, 비교의 목적을 추가로 검토해야 합니다.

또한 표준편차나 IQR이 작다고 해서 생물학적 시스템이 안정적이라고 단정하지 않습니다. 측정 범위가 좁았거나, 특정 단위를 선택했거나, 반복 구조를 잘못 요약했을 가능성도 확인해야 합니다. 통계 요약은 질문을 더 선명하게 만드는 도구이지, 데이터의 의미를 대신 결정하는 장치가 아닙니다.

자주 생기는 실패와 점검법

평균±SD를 모든 데이터의 기본 표기로 사용하기

평균과 SD가 유용한 상황은 있지만, 모든 분포가 그 조합으로 충분히 설명되는 것은 아닙니다. 중앙값·IQR과 원자료의 분포를 함께 확인합니다.

이상값을 자동으로 삭제하기

멀리 떨어진 값은 입력 오류, 측정 문제, 실제 변동 중 하나일 수 있습니다. 값이 눈에 띈다는 이유만으로 제거하지 말고, 측정 기록과 연구 목적을 확인한 뒤 처리 이유를 기록합니다.

기술적 반복을 관측 수로 누적하기

앞 편에서 정의한 분석 단위와 반복 구조를 먼저 적용합니다. 요약 통계의 계산이 정확해도 독립 단위를 잘못 정의하면 해석은 달라집니다.

요약값을 분포 자체로 착각하기

평균, 중앙값, SD, IQR은 데이터의 일부 정보를 압축합니다. 서로 다른 분포가 비슷한 요약값을 가질 수 있으므로, 필요하면 원자료와 시각화를 함께 봅니다.

핵심 정리

  • 평균과 중앙값은 중심을 서로 다른 방식으로 요약합니다.
  • 표준편차와 IQR은 산포를 서로 다른 관점에서 표현합니다.
  • 요약 통계의 선택은 질문, 단위, 분포와 함께 설명해야 합니다.
  • 합성 데이터의 실행 결과는 계산 검증에 사용할 수 있지만 실제 생물학적 결론은 아닙니다.
  • 하나의 요약값은 분포 전체와 독립성 구조를 대신하지 못합니다.

다음 토픽으로

다음 편에서는 분포를 시각화하고 이상치를 점검합니다. 중심과 산포를 계산한 뒤, 데이터의 형태와 품질을 그래프로 확인하는 단계로 이어집니다.

참고 자료

본 편의 설명, 표, 합성 데이터 생성 규칙은 BioStatPy가 독립적으로 작성한 교육용 구성입니다. 외부 자료의 문장·표현·예제 배열을 재현하지 않습니다.

💬 질문과 댓글

0개의 댓글

로그인 없이 작성할 수 있습니다. 비로그인 댓글은 작성 후 직접 수정·삭제할 수 없습니다.

0/2000

로딩 중...