参数估计的python代码
时间: 2023-07-23 19:34:42 浏览: 83
参数估计是统计学中的一个重要概念,可以通过最大似然估计、贝叶斯估计等方法来实现。在Python中,可以使用不同的库来实现参数估计,这里以最大似然估计为例,介绍一个简单的代码实现:
```python
import numpy as np
from scipy.optimize import minimize
# 定义似然函数
def log_likelihood(theta, x):
mu = theta[0]
sigma = theta[1]
n = len(x)
ll = -n/2*np.log(2*np.pi*sigma**2) - np.sum((x-mu)**2)/(2*sigma**2)
return ll
# 生成一组数据
np.random.seed(1)
x = np.random.normal(loc=0, scale=1, size=100)
# 初始值
theta_init = [0, 1]
# 最大化似然函数
res = minimize(lambda theta: -log_likelihood(theta, x), theta_init, method='Nelder-Mead')
# 输出估计结果
print('mu:', res.x[0])
print('sigma:', res.x[1])
```
这段代码实现了对一组正态分布数据的最大似然估计,其中使用了`scipy`库中的`minimize`函数来最大化似然函数。在实际应用中,可能需要根据具体问题定义不同的似然函数,并且选择不同的优化算法来实现参数估计。
阅读全文