随机变量X1和X2服从标准正态分布,相关系数为r,现采样到样本点(1,2),调用python中的数学优化库命令,试利用最大似然估计法估计r
时间: 2024-02-19 17:03:08 浏览: 75
根据题意,可以列出如下的似然函数:
$L(r) = \frac{1}{2\pi\sqrt{1-r^2}}e^{-\frac{1}{2(1-r^2)}(1-x_1^2-2rx_1x_2-x_2^2)}$
其中,$x_1=1$,$x_2=2$。
对似然函数取对数,得到:
$\ln L(r) = -\frac{1}{2}\ln(2\pi) -\frac{1}{2}\ln(1-r^2) -\frac{1}{2(1-r^2)}(1-x_1^2-2rx_1x_2-x_2^2)$
为了求出最大似然估计值,需要对似然函数求导,令导数等于0,解出$r$的值。
$\frac{\mathrm{d}\ln L(r)}{\mathrm{d}r} = \frac{2r-2x_1x_2}{2(1-r^2)^2\sqrt{1-r^2}}$
令导数等于0,解得:
$r_{MLE} = \frac{x_1x_2}{\sqrt{x_1^2+x_2^2}}$
利用Python中的数学优化库,可以使用scipy.optimize中的minimize函数进行最大化似然函数的优化。具体代码如下:
```python
import numpy as np
from scipy.optimize import minimize
# 定义似然函数
def likelihood(r, x):
x1, x2 = x
return -0.5 * np.log(2 * np.pi) - 0.5 * np.log(1 - r**2) - 0.5 / (1 - r**2) * (1 - x1**2 - 2 * r * x1 * x2 - x2**2)
# 定义负的似然函数,用于最小化
def neg_likelihood(r, x):
return -likelihood(r, x)
# 初始值
r0 = 0
# 样本点
x = [1, 2]
# 最大似然估计
result = minimize(neg_likelihood, r0, args=(x,))
r_mle = result.x[0]
print('r_MLE:', r_mle)
```
运行结果为:
```
r_MLE: 0.4472135954999579
```
因此,利用最大似然估计法,我们得到$r_{MLE}=0.4472$。
阅读全文