Python 计算卡方值

Python 计算卡方值,值 x^2 基于

Python 计算卡方值

其中 e 是预期值,O 是观测到的值。示例中有两个维度:轮换 s 和缺陷类型 t ,因此最终可以表示为:

Python 计算卡方值

可以如下所示计算该特定公式的值:

diff = lambda e, o: (e-o)**2/e

chi2 = sum(
    diff(expected[s, t], defects[s, t])
    for s in shift_totals
    for t in type_totals
)

这样就定义了一个小型匿名函数来优化计算。这使得只需执行一次expected[s,t]defects[s,t]属性的计算,即便两处用到了期望值。对于这个数据集,最终的 x^2 值为19.18。

由于有3个轮换和4种缺陷类型,因此自由度一共为6。由于我们认为它们是彼此独立的,所以会得到(3-1)×(4-1) = 6。根据卡方表显示,任何低于12.5916的数据都有1/20的概率是完全随机的。由于结果是19.18,因此数据不太可能是随机的。

累积分布函数表明值19.18的概率值为0.00387,相当于有4/1000的概率是随机的。完整分析的下一步是设计一个后续研究,用于发现不同缺陷类型和轮换的详细特性。需要找到与缺陷相关性最大的自变量,进而继续分析。这项工作的合理性在于 x^2 的值表明结果并不是简单的随机变化。

一个补充问题是关于阈值12.5916的。可以在统计表中找到这个值,也可以直接计算这个阈值。这会引出许多函数式编程的有趣示例。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程