首页 > 解决方案 > 如何在python中找到卡方分布的临界值?

问题描述

我想计算总体标准差的区间估计,为此我需要下限和上限的卡方临界值。计算公式是这样的——

公式

为了计算它,我这样做了 -

# variance
var = halloween['Dollars Spent'].var()
# (n-1) degrees of freedom
deg_fred = (halloween.shape[0] - 1)
lower_bound = np.sqrt((deg_fred*var)/ 27.488)
upper_bound = np.sqrt((deg_fred*var)/ 6.262)
(lower_bound, upper_bound)
(17.37, 36.40)

下限和上限卡方分布的临界值为27.4886.262。我使用卡方分布表找到这些值。我如何在 python 中计算这些值,而不是从一个不会一直为我们提供精确值的表中计算它,如果我想编写一个函数来计算它,它是没有帮助的。

标签: pythonstatistics

解决方案


使用isf()方法

import scipy as sp
sp.stats.chi2.isf(0.1, 20, loc=0, scale=1) # P=10%, df=20
# donne 28.412... as in books table

推荐阅读