python计算期望值_Python 计算期望值

Python 计算期望值并显示列联表,预期的缺陷产出是一个组合概率。下面将计算轮换缺陷与缺陷类型概率的乘积,为此需要计算轮换和缺陷类型组合的所有12种概率。可以对观测到的数字进行加权,并计算缺陷的详细预期。

计算期望值的代码如下所示:

我们会创建一个与defectsCounter对象相似的字典。该字典会有一个带有键值的二元组序列,其中键是轮换和缺陷类型的二元组。字典是通过一个生成器表达式构建而来的,它显式枚举了P_shift和P_type字典中所有键的组合。

字典expected的值如下所示:

映射的每一项都以轮换和缺陷类型作为键,且它与一个Fraction值相关联,这个值基于轮换次数的缺陷概率,以及缺陷类型乘以总缺陷次数的缺陷概率。一些分数约分了,例如值6624/309可以简化为2208/103。

大的数不适合用分数表示,将其呈现为float值通常更容易。小数值(如概率)有时用分数表示则更易于理解。

然后将成对输出观测到的次数和预期的次数,这有助于可视化数据。我们将创建如下内容来汇总观测到的值和预期的值:

这里显示了12个单元格。每个单元格的值都包含观测到的缺陷数量和预期的缺陷数量。每一行的最后是轮换总数,每一列的最下面是缺陷总数。

在某些情况下,可以将这种数据导出为CSV格式并构建一个电子表格。在其他一些情况下,可以构建一个HTML版本的列联表,并将布局细节留给浏览器去处理。这里显示的是纯文本版本。

以下代码包含的一系列语句用于创建如前所示的列联表:

这样会将缺陷类型展开成一行。前面已经编写了足够多的obsexp列标题来涵盖所有缺陷类型。对于每个轮换,会生成一行观测值和实际值的配对,并在后面加上总的轮换数。底部将生成一行包含缺陷类型总数和总计数量的脚注。

这样的列联表有助于可视化对观测值和期望值的比较。可以计算这两组值的卡方值,以便于我们确定数据是随机的或是值得进一步研究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值