scipy.stats.chi2_contingency 生成的用于独立性测试的 p 值
p value generated by scipy.stats.chi2_contingency for independence testing
为了测试两个特征是否独立,
H0:A和B是独立的
H1:A 和 B 是相关的
p < 0.05,则 A 和 B 是相关的
尝试以下代码后,很明显这两个数组是相关的(它们是相同的数组)
obs = np.array([[10, 10, 10], [10, 10, 10]])
scipy.stats.chi2_contingency(obs)
我得到以下结果:
(0.0, 1.0, 2, array([[10., 10., 10.],
[10., 10., 10.]]))
即p值是1.0 > 0.05,所以我们接受两个数组相互独立的原假设。
我的假设是错误的还是它生成了 1-p 值?
你得到的计算是正确的。这仅意味着您拥有的变量是独立的,并且彼此之间没有关联或连接。事件的独立性是指不会影响或影响另一事件的发生。
在您的示例中,所有概率值都相同,因此就概率而言,获得事件 A 的事件不依赖于另一个事件 B。
P(A|B) = P(A) or P(B|A) = P(B)
在给定事件 B 的情况下读取事件 A 的概率与 A 的概率相同,因为 A 和 B 是独立的。因此,P(A)、P(B)、P(A|B) 和 P(B|A) 是相同的,因为 A 和 B 基于 chisq 统计是独立的。
我的意见...
"indenpedence test" 得到了一个 "wrong name"。实际上测试应该命名为 "dependence test",其中:
H0:无依赖性 --> 如果 p_value < 阈值
成立
H1:依赖性 --> 如果 p_value > 阈值
成立
其中阈值为 "level of significance",通常 alpha = 0.05
因此 [[1, 50], [50, 50]] 给出接近 1 的 p 值,而随机矩阵给出接近 0 的 p 值。
为了测试两个特征是否独立, H0:A和B是独立的 H1:A 和 B 是相关的
p < 0.05,则 A 和 B 是相关的
尝试以下代码后,很明显这两个数组是相关的(它们是相同的数组)
obs = np.array([[10, 10, 10], [10, 10, 10]])
scipy.stats.chi2_contingency(obs)
我得到以下结果:
(0.0, 1.0, 2, array([[10., 10., 10.],
[10., 10., 10.]]))
即p值是1.0 > 0.05,所以我们接受两个数组相互独立的原假设。
我的假设是错误的还是它生成了 1-p 值?
你得到的计算是正确的。这仅意味着您拥有的变量是独立的,并且彼此之间没有关联或连接。事件的独立性是指不会影响或影响另一事件的发生。
在您的示例中,所有概率值都相同,因此就概率而言,获得事件 A 的事件不依赖于另一个事件 B。
P(A|B) = P(A) or P(B|A) = P(B)
在给定事件 B 的情况下读取事件 A 的概率与 A 的概率相同,因为 A 和 B 是独立的。因此,P(A)、P(B)、P(A|B) 和 P(B|A) 是相同的,因为 A 和 B 基于 chisq 统计是独立的。
我的意见...
"indenpedence test" 得到了一个 "wrong name"。实际上测试应该命名为 "dependence test",其中:
H0:无依赖性 --> 如果 p_value < 阈值
成立H1:依赖性 --> 如果 p_value > 阈值
成立其中阈值为 "level of significance",通常 alpha = 0.05
因此 [[1, 50], [50, 50]] 给出接近 1 的 p 值,而随机矩阵给出接近 0 的 p 值。