Python 计算卡方阈值

Python 计算卡方阈值x^2删除 测试的本质是一个阈值,它基于自由度个数和我们愿意接受或拒绝零假设的不确定性。通常建议使用0.05(1/20)左右的阈值来拒绝零假设。我们希望数据只有1/20的概率是随机而有意义的。换言之,我们希望数据有19/20的概率属于简单的随机变化。

由于卡方值的计算涉及许多超越函数,因此通常呈现为表格形式。在某些情况下,软件库会提供 x^2 累积分布函数的实现,这使得我们可以计算该值而不用在表格中查找它。

对于一个 x^2x 和自由度 f ,其累积分布函数定义如下:

Python 计算卡方阈值

通常用

Python 计算卡方阈值

表示随机概率,即:如果 p>0.05,则数据可以理解为随机的,此时零假设成立,否则数据不太可能是随机的,有必要进一步研究。

累积分布为不完全伽马函数 \gamma 和完全伽马函数 \tau(x) 之比。计算这些函数值的通用方法可能涉及一些相当复杂的数学计算。我们取捷径巧妙地实现了两个非常好的近似,从而可以重点关注这个问题本身。这两个函数有助于研究函数式设计中的一些额外问题。

这两个函数都需要进行阶乘计算 n!。前面介绍过过许多阶乘计算形式了,这里使用如下版本:

@lru_cache(128)
def fact(k: int) -> int:
    if k < 2:
        return 1
    return reduce(operator.mul, range(2, int(k)+1))

这便是

Python 计算卡方阈值

它代表2到 k (含 k )的乘积。该实现不涉及递归。由于Python中的整型值可能非常大,因此这个值的计算并没有实际上限。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程