最大似然估计python代码
时间: 2023-11-08 20:01:35 浏览: 131
以下是一个使用Python实现最大似然估计的简单示例代码:
```python
import numpy as np
from scipy.stats import norm
# 假设观测到的数据服从正态分布 N(mu, sigma^2)
mu_true = 5.0
sigma_true = 2.0
data = np.random.normal(mu_true, sigma_true, size=100)
# 定义似然函数
def likelihood(mu, sigma, data):
return np.prod(norm.pdf(data, mu, sigma))
# 极大似然估计
def mle(data):
mu_hat = np.mean(data)
sigma_hat = np.std(data)
return mu_hat, sigma_hat
# 计算似然函数在 mu, sigma 的取值下的值
mu_vals = np.linspace(0, 10, num=100)
sigma_vals = np.linspace(0.1, 5, num=100)
likelihood_vals = np.zeros((100, 100))
for i, mu in enumerate(mu_vals):
for j, sigma in enumerate(sigma_vals):
likelihood_vals[i, j] = likelihood(mu, sigma, data)
# 找到最大似然估计的 mu, sigma 值
mu_mle, sigma_mle = mle(data)
# 输出结果
print('True Parameters: mu={:.2f}, sigma={:.2f}'.format(mu_true, sigma_true))
print('MLE Parameters: mu={:.2f}, sigma={:.2f}'.format(mu_mle, sigma_mle))
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)