Python:卡方列联检验(如何解读)
Python: chi-squared contingency test (how to interpret)
我已经练习了如下的卡方应急检验,但我对如何解释结果有疑问。
以下测试的结果表明 p-val = 0。
那么这是否意味着两个变量不独立?
由于它是一个小数据,我认为很确定变量是独立的。
p-val 为 0 似乎很奇怪。
我是不是做错了什么??
import pandas as pd
df = pd.DataFrame({
"~60m2" : [54, 577, 143, 782],
"60~85m2" : [2, 735, 1437, 1],
"85m2~" : [0, 142, 44, 0],
})
df.index = ["A", "B", "C", "D"]
df.columns.names = ["size"]
df.index.names = ["city"]
from scipy import stats
stats.chi2_contingency(df)
输出
(2064.576731417199,
0.0,
6,
array([[ 22.24559612, 31.09522594, 2.65917794],
[577.59101353, 807.36533061, 69.04365586],
[645.12228746, 901.76155221, 77.11616033],
[311.04110288, 434.77789124, 37.18100587]]))
我认为是正确的。你们的城市非常不同。尝试按行归一化:
(df.T / df.sum(axis=1)).T
size ~60m2 60~85m2 85m2~
city
A 0.964286 0.035714 0.000000
B 0.396836 0.505502 0.097662
C 0.088054 0.884852 0.027094
D 0.998723 0.001277 0.000000
每一行都与其他行非常不同,所以是的,城市似乎不同,即从不同的人口中抽样。
我已经练习了如下的卡方应急检验,但我对如何解释结果有疑问。 以下测试的结果表明 p-val = 0。 那么这是否意味着两个变量不独立? 由于它是一个小数据,我认为很确定变量是独立的。 p-val 为 0 似乎很奇怪。 我是不是做错了什么??
import pandas as pd
df = pd.DataFrame({
"~60m2" : [54, 577, 143, 782],
"60~85m2" : [2, 735, 1437, 1],
"85m2~" : [0, 142, 44, 0],
})
df.index = ["A", "B", "C", "D"]
df.columns.names = ["size"]
df.index.names = ["city"]
from scipy import stats
stats.chi2_contingency(df)
输出
(2064.576731417199,
0.0,
6,
array([[ 22.24559612, 31.09522594, 2.65917794],
[577.59101353, 807.36533061, 69.04365586],
[645.12228746, 901.76155221, 77.11616033],
[311.04110288, 434.77789124, 37.18100587]]))
我认为是正确的。你们的城市非常不同。尝试按行归一化:
(df.T / df.sum(axis=1)).T
size ~60m2 60~85m2 85m2~
city
A 0.964286 0.035714 0.000000
B 0.396836 0.505502 0.097662
C 0.088054 0.884852 0.027094
D 0.998723 0.001277 0.000000
每一行都与其他行非常不同,所以是的,城市似乎不同,即从不同的人口中抽样。