MM(Method of Moment) 추정법은 샘플자료에 대한 샘플 모멘트가 확률 변수의 이론적인 모멘트와 같다고 가정하고 모수를 구하는 방법이다.
1차 모멘트(기댓값, 평균)의 경우, 다음과 같은 식이 성립한다고 가정한다.
2차 모멘트(분산)의 경우에는 다음과 같다.
[[school_notebook:5e2ee247518f47a6ba2d0894b33c73a3]]
MM 방법으로 베르누이 분포의 모수 $\theta$를 구하면 다음과 같다.
$$ \text{E}[X] = \theta = \dfrac{1}{N} \sum_{i=1}^N x_i = \dfrac{N1}{N} $$[[school_notebook:76acc92d28354e86940001f9fe85c50f]]
MM 방법으로 정규 분포의 모수 $\mu$, $\sigma^2$를 구하면 다음과 같다.
$$ \text{E}[X] = \mu = \dfrac{1}{N} \sum_{i=1}^N x_i = \bar{x} $$$$ \text{E}[(X-\mu)^2] = \sigma^2 = \dfrac{1}{N} \sum_{i=1}^N (x_i - \mu)^2 = s^2 $$[[school_notebook:70a372b9c14a4e8d9d49737f0b5a3c97]]
MM 방법으로 베타 분포의 모수 $a$, $b$를 구하면 다음과 같다.
$$ \text{E}[X] = \dfrac{a}{a+b} = \bar{x} $$$$ \text{E}[(X-\mu)^2] = \dfrac{ab}{(a+b)^2(a+b+1)} = s^2 $$이를 풀면 다음과 같다.
$$ a = \bar{x} \left( \frac{\bar{x} (1 - \bar{x})}{s^2} - 1 \right) $$$$ b = (1 - \bar{x}) \left( \frac{\bar{x} (1 - \bar{x})}{s^2} - 1 \right) $$
In [2]:
np.random.seed(0)
x = sp.stats.beta(15,12).rvs(1000)
def estimate_beta(x):
x_bar = x.mean()
s2 = x.var()
a = x_bar * (x_bar * (1 - x_bar) / s2 - 1)
b = (1 - x_bar) * (x_bar * (1 - x_bar) / s2 - 1)
return a, b
print(estimate_beta(x))