背景
方法矩估计(Method of Moments Estimation)和最大似然估计(Maximum Likelihood Estimation, MLE)是两种常用的参数估计方法。方法矩估计基于样本矩与总体矩的关系,通过样本数据计算样本矩来估计总体参数。最大似然估计基于最大化样本数据的联合概率密度函数,通过寻找参数值使得样本数据出现的概率最大来估计参数。
公式
方法矩估计
方法矩估计基于以下公式:
- 样本矩: M k = 1 n ∑ i = 1 n X i k M_k = \frac{1}{n} \sum_{i=1}^{n} X_i^k Mk=n1∑i=1nXik
- 总体矩: E ( X k ) = μ k E(X^k) = \mu_k E(Xk)=μk
通过设定样本矩等于总体矩,可以解出参数估计值。
最大似然估计
最大似然估计基于以下公式:
- 似然函数: L ( θ ) = ∏ i = 1 n f ( X i ; θ ) L(\theta) = \prod_{i=1}^{n} f(X_i; \theta) L(θ)=∏i=1nf(Xi;θ)
- 对数似然函数: ln L ( θ ) = ∑ i = 1 n ln f ( X i ; θ ) \ln L(\theta) = \sum_{i=1}^{n} \ln f(X_i; \theta) lnL(θ)=∑i=1nlnf(Xi;θ)
通过最大化对数似然函数来求解参数估计值。
示例题目
示例 1:正态分布参数估计
假设样本数据来自一个均值为 μ \mu μ,方差为 σ 2 \sigma^2 σ2的正态分布 N ( μ , σ 2 ) N(\mu, \sigma^2) N(μ,σ2),我们要估计 μ \mu μ和 σ 2 \sigma^2 σ2。
详细讲解
方法矩估计
-
样本矩计算:
- 一阶样本矩: M 1 = 1 n ∑ i = 1 n X i M_1 = \frac{1}{n} \sum_{i=1}^{n} X_i M1=n1∑i=1nXi
- 二阶样本矩: M 2 = 1 n ∑ i = 1 n X i 2 M_2 = \frac{1}{n} \sum_{i=1}^{n} X_i^2 M2=n1∑i=1nXi2
-
总体矩关系:
- 一阶总体矩: E ( X ) = μ E(X) = \mu E(X)=μ
- 二阶总体矩: E ( X 2 ) = μ 2 + σ 2 E(X^2) = \mu^2 + \sigma^2 E(X2)=μ2+σ2
-
通过样本矩等于总体矩,得到:
μ ^ = M 1 = 1 n ∑ i = 1 n X i \hat{\mu} = M_1 = \frac{1}{n} \sum_{i=1}^{n} X_i μ^=M1=n1i=1∑nXi
σ ^ 2 = M 2 − μ ^ 2 \hat{\sigma}^2 = M_2 - \hat{\mu}^2 σ^2=M2−μ^2
最大似然估计
-
似然函数:
L ( μ , σ 2 ) = ∏ i = 1 n 1 2 π σ 2 exp ( − ( X i − μ ) 2 2 σ 2 ) L(\mu, \sigma^2) = \prod_{i=1}^{n} \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left( -\frac{(X_i - \mu)^2}{2\sigma^2} \right) L(μ,σ2)=i=1∏n2πσ2 1exp(−2σ2(Xi−μ)2) -
对数似然函数:
ln L ( μ , σ 2 ) = − n 2 ln ( 2 π σ 2 ) − 1 2 σ 2 ∑ i = 1 n ( X i − μ ) 2 \ln L(\mu, \sigma^2) = -\frac{n}{2} \ln(2\pi\sigma^2) - \frac{1}{2\sigma^2} \sum_{i=1}^{n} (X_i - \mu)^2 lnL(μ,σ2)=−2nln(2πσ2)−2σ21i=1∑n(Xi−μ)2 -
对 μ \mu μ和 σ 2 \sigma^2 σ2求导并设为0,解得:
μ ^ = 1 n ∑ i = 1 n X i \hat{\mu} = \frac{1}{n} \sum_{i=1}^{n} X_i μ^=n1i=1∑nXi
σ ^ 2 = 1 n ∑ i = 1 n ( X i − μ ^ ) 2 \hat{\sigma}^2 = \frac{1}{n} \sum_{i=1}^{n} (X_i - \hat{\mu})^2 σ^2=n1i=1∑n(Xi−μ^)2
Python代码求解
python
import numpy as np
# 生成样本数据
np.random.seed(0)
data = np.random.normal(loc=5, scale=2, size=100)
# 方法矩估计
mu_mom = np.mean(data)
sigma2_mom = np.mean(data**2) - mu_mom**2
# 最大似然估计
mu_mle = np.mean(data)
sigma2_mle = np.var(data, ddof=0)
print("方法矩估计:")
print(f"mu = {mu_mom}, sigma^2 = {sigma2_mom}")
print("最大似然估计:")
print(f"mu = {mu_mle}, sigma^2 = {sigma2_mle}")
实际生活中的例子
在金融领域中,投资组合的收益通常被假设为正态分布。为了估计未来收益的均值和波动率,金融分析师可以使用历史收益数据来进行参数估计。通过方法矩估计或最大似然估计,可以得出投资组合的均值收益和方差,从而指导投资决策。
方法矩估计与最大似然估计的关系与优缺点
两种方法各有优缺点:
- 方法矩估计通常计算简单,易于理解,但在有限样本量下估计量的效率较低。
- 最大似然估计在大样本量下具有一致性和渐近正态性,估计量更有效,但计算复杂,尤其是对于复杂模型。
选择哪种方法更好取决于具体问题和数据特点。一般情况下,最大似然估计更受欢迎,因为它在大样本下具有良好的统计性质。