如何理解卡方列联表

时间:2018-10-07 19:54:41

标签: python scipy statistics chi-squared

我的分类功能很少:

['Gender',
 'Married',
 'Dependents',
 'Education',
 'Self_Employed',
 'Property_Area']

from scipy.stats import chi2_contingency
chi2, p, dof, expected = chi2_contingency((pd.crosstab(df.Gender, df.Married).values))
print (f'Chi-square Statistic : {chi2} ,p-value: {p}')

输出:

Chi-square Statistic : 79.63562874824729 ,p-value: 4.502328957824834e-19

如何从这些统计信息中得知这些功能是否彼此独立?

我正在尝试建立分类模型,所以我只想知道这些分类列对预测目标变量有用吗?

1 个答案:

答案 0 :(得分:2)

列联表用于统计信息,以总结几个类别变量之间的关系。

在您的示例中,两个变量GenderMarried之间的Contingency表是同时显示这些变量的 Ferequency 表。

在列联表上进行的卡方检验可以检验变量之间是否存在 关系 。这些效果定义为行与列之间的关系。


scipy.stats.chi2_contingency默认计算- -Pearson’s chi-squared statistic

此外,我们对您示例中的p值Sig(2-Tailed)感兴趣。

p值 e是针对无效假设的证据。 p值较小 strong 证据表明您应拒绝原假设。

您的情况下的零假设是列联表中观察到的频率的依赖性


选择重要级别- alpha 5%;您的 p值4.502328957824834e-19远小于.05,表明列联表的行和列是 独立 。通常,这意味着值得解释列联表中的单元格。

在这种情况下,这意味着男性女性(即性别) 不是 婚姻状况(即已婚,未婚)的不同级别。

因此,结婚可能是一种性别的地位!


更新

根据您的评论,我发现您对此测试有疑问。

该测试基本上可以告诉您变量之间的关系是重要(即可以代表总体)还是机会

因此,如果您具有较高的显着性(高p值),则意味着变量之间存在显着的依存关系!

现在,如果GenderMarried都是模型中的特征,则可能导致过度拟合和特征冗余。然后,您可能要选择其中之一。

但是,如果GenderMarried是因变量(如y),那么它们之间具有显着的关系就很好。

额外奖金: 有时,其中一个功能会在Data Imputation期间(当您缺少值时)临时 一个因变量。