请随机生成一组观测数据,表示一批产品的质量检验结果。每个产品只有两种可能的结果:合格或不合格。利用Python编程语言,使用极大似然估计来估计合格产品的概率,并通过绘制柱状图展示真实概率和估计概率的对比。 python
时间: 2024-10-12 07:07:21 浏览: 11
首先,我们来生成一组模拟的产品检验结果数据,然后使用Python的`numpy`和`scipy`库来实现极大似然估计(MLE):
```python
import numpy as np
from scipy.stats import binom, poisson
# 定义真实概率(这里假设为0.8,即80%的产品是合格的)
true_prob = 0.8
# 生成随机样本数据,每个值是1(合格)或0(不合格),总样本数n
n_samples = 1000
product_data = np.random.binomial(1, true_prob, n_samples)
# 计算实际的合格率
actual_rate = product_data.mean()
# 极大似然估计:假设合格数服从Poisson分布,参数λ是合格产品的期望数量,用样本中合格的数目作为估计
estimated_rate = poisson.fit(product_data)[0]
# 柱状图对比
fig, ax = plt.subplots()
ax.bar(["True Probability", "Estimated Probability"], [true_prob, estimated_rate])
ax.set_xlabel('Category')
ax.set_ylabel('Probability')
ax.set_title('Comparison of True and Estimated Product Quality Rate')
print(f"Actual Qualification Rate: {actual_rate:.2f}")
print(f"Estimated Qualification Rate (MLE): {estimated_rate:.2f}")
```
在这个例子中,我们首先创建了一个模拟的数据集,然后计算了真实的合格率。接着,使用Poisson分布的极大似然估计来估算合格率。最后,我们将真实概率和估计概率用柱状图形式呈现出来,直观地看出两者的差别。
相关问题:
1. 这种方法适用于哪种类型的分布?
2. 如果产品检验结果不是完全独立的,应该如何调整极大似然估计?
3. 如何评估这个估计的精度?