표준편차와 표준오차(standard deviation & standard error)
자료의 특성을 나타내는 기본적인 통계량은 평균과 분산이 있습니다. 평균은 자료의 중심을 나타내고 퍼짐 정도는 분산으로 표시합니다. 분산의 제곱근이 표준편차이므로 이 통계량의 단위는 자료와 같기 때문에 분산보다는 표준편차를 더 유용하게 사용합니다. 표 1에서 소개한 것과 같이 모집단과 표본에서의 표기방법은 차이가 있습니다.
Item | Population | Sample |
---|---|---|
Mean | $\mu=\frac{\sum^N_{i=1} x_i}{N}$ | $\bar{x}=\frac{\sum^n_{i=1} x_i}{n-1}$ |
Variance | $\sigma^2=\frac{\sum^N_{i=1} (x_i-\mu)^2}{N}$ | $s^2=\frac{\sum^n_{i=1} (x_i-\bar{x})^2}{n-1}$ |
Standard Deviation | σ | s |
표준편차는 자료의 퍼짐성을 나타내는 자료로서 모집단의 표준편차(σ)를 알 수 없는 경우 식 1과 같이 계산된 표본표준편차(s)를 사용합니다.
\begin{align}\text{s}&=\sqrt{\frac{\sum^n_{i=1}(x_i - \overline{x})^2}{n-1}}\\ &\text{s}: \text{표본표준편차}\\&n: \text{표본수}\end{align} | (식 1) |
식 1의 분모는 자유도(degree of freedom) 입니다. 이 식은 표본의 평균을 사용하므로 표본의 요소 1개는 고정된 것으로 고려할 수 있습니다. 그러므로 확률변수(랜덤수)로 고려되는 갯수는 표본 전체에서 1을 제외한 수가 됩니다. 즉, 자유도는 1만큼 감소됩니다. 표준편차는 평균을 기준으로 각 자료의 퍼짐의 정도를 나타내는 것으로서 표본 수가 아니라 표본의 자유도를 고려해야 합니다. 이렇게 계산된 표준편차는 표본의 각 값과 평균과의 편차를 나타냅니다. 표본을 통해 최종적으로 확인하고자 하는 것은 모평균입니다. 그러나 표본평균과 모평균 사이에 오차가 존재할 수 있으며 이로 인해 모평균을 대신하여 표본평균을 적용할 경우 불확실성이 존재합니다. 불확실성 정도 즉, 오차를 나타내는 통계량은 식 2와 같이 정의하며 표준오차(standard error)라고 합니다. 다시말하면 표준오차는 표본평균과 모평균의 차이에 대한 표준편차를 말합니다. 전체 표본의 크기 n에 대한 표본평균($\bar{x}$)을 고려하고 분산의 선형결합 방식을 적용하면 표준오차는 식 2와 같이 유도됩니다.
\begin{align}se(\bar{x})&=\sqrt{\text{Var}(\bar{x}-\mu)} \\&=\sqrt{\text{Var}\left(\frac{\sum^n_{i=1}\bar{x_i}}{n}-\mu\right)} \\&=\sqrt{\frac{1}{n}\text{Var}\left(\sum^n_{i=1}\bar{x_i}\right)}\\&=\sqrt{\frac{1}{n}\text{Var}\left(\bar{x_1}+\bar{x_2}+\cdots+\bar{x_n}\right)}\\&=\frac{\sigma}{\sqrt{n}} \end{align} | (식 2) |
식 2에서 σ는 모표준편차입니다. 이 식에서 모든 표본들은 독립이고 모집단과 동일한 분포의 통계량을 가진다는 가정하에 성립됩니다. 이 가정으로 모표준편차를 모르는 경우 표본분포의 표준편차를 사용하여 계산할 수 있습니다 (식 3)
$$se(\bar{x})=\begin{cases}\frac{\sigma}{\sqrt{n}}& \sigma:\; \text{known} \\\frac{s}{\sqrt{n}}& \sigma:\; \text{unknown} \end{cases}$$ | (식 3) |
σ: 모표준편차 | |
s: 샘플표준편차 |
표준편차 | 평균과 자료의 각 값들의 산포 정도를 나타내는 통계량 |
---|---|
표준오차 | 모평균을 기준으로 표본평균 산포 정도를 나타내는 통계량 |
식 1과 2의 경우 numpy, pandas 등 파이썬의 여러 패키지에서 제공하는 함수나 메소드들을 사용할 수 있습니다. 다음 코드는 pnadas모듈의 std()와 sem() 메소드를 사용하여 각각 표준편차와 표준오차를 계산한 것입니다.
import numpy as np import pandas as pd from scipy import stats from sympy import * import matplotlib.pyplot as plt
x=pd.DataFrame([2., 3., 9., 6., 7., 8.]) xBar=x.mean() sd=x.std(ddof=1) se=x.sem(ddof=1) print("평균: %.3f, 표준편차: %.3f, 표준오차: %.3f"%(xBar, sd, se))
평균: 5.833, 표준편차: 2.787, 표준오차: 1.138
표준오차인 se는 다음과 같이 표준편차를 표본 크기의 제곱근으로 나눈 값과 같습니다.
se2=sd/np.sqrt(len(x)); se2
0 1.137737 dtype: float64
이 통계량들에 의해 표본으로부터 모집단을 추론할 수 있습니다.
표본분포는 다음과 같은 특성을 가집니다.
- 모집단의 분포에 관계없이 표본평균의 분포는 정규분포에 근사하게 됩니다. (중심극한 정리 참조)
- 표본분포의 평균(표본평균)은 모평균에 근사합니다.
- 표본분포의 표준편차는 모집단 표준편차의 추정치(estimator)로 사용됩니다.
- 모평균과 표본평균의 편차의 정도는 표준오차(standard error of the mean, se)로 나타낼 수 있으며 모집단 또는 표본분포의 표준편차와 샘플수에 의해 계산됩니다.
이 모집단과 표본평균들의 분포는 표 3과 같이 정리할 수 있습니다.
분포 | 설명 |
---|---|
모분포 | 모집단의 분포 |
일반적으로 모집단에 대한 정보는 부족 | |
표본분포 | 많은 표본평균들의 분포 |
모집단이 알려진 경우 반복적인 표집에 의해 구성 | |
모집단을 모르는 경우 표본에 대해 반복적인 표집으로 구성할 수 있음 | |
이 정보는 항상 알 수 있음 |
댓글
댓글 쓰기