scipy - 对于 Python 中给定的二项分布,binom.mean() 和 n*p 有什么区别?
问题描述
我使用 Scipy 模块创建了一个二项式分布
wend = stats.binom.pmf(np.arange(4),3,.868)
现在,当我使用均值函数计算此分布的平均值时,我得到以下结果
Mean = wend.mean()
0.25
但是,如果我们使用二项分布的均值公式,即 n*p,我们得到 0.86 * 3,即
2.604
为什么上面两个有区别?
解决方案
您将所有 4 个可能结果的概率相加并除以 4。这不是分布的平均值。那只是1/4。
分布的平均值是(wend * np.arange(4)).sum()
。将每个结果的概率乘以结果的值并将结果相加。
推荐阅读
- node.js - Node/Express/MongoDB 应用程序:使用 Multer 和 Cloudinary 上传多个图像
- javascript - Chrome Web 扩展,使用按钮在新标签页中打开网页
- python - 当第二个元素是向量/数组时,Numpy 矩阵乘法失败(“形状未对齐”)
- webpack - 错误:找不到模块“stylelint”Webpack
- php - Laravel,努力使用查询生成器重现查询
- mysql - 插入值 + 最大 ID
- python - 找不到 Behave 的配置文件
- java - SQL IN 或 NOT IN 取决于布尔参数
- javascript - unmute.roles.has(muterole) 失败
- json - 当json属性包含空格时如何将json字符串转换为对象