如何理解卡方偶然性 table

how to understand the chi square contingency table

我几乎没有分类特征:

['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

我如何从这些统计信息中知道特征是否相互独立?

我正在尝试构建分类模型,所以我只想知道这些分类列对预测我的目标变量是否有用。

Contingency tables在统计中用于总结几个分类变量之间的关系。

在您的示例中,两个变量 GenderMarried 之间的偶然性 table 是 频率 table这些变量同时呈现。

对偶然事件table进行的卡方检验可以检验关系是否存在变量之间。这些影响被定义为行和列之间的关系。


scipy.stats.chi2_contingency computes -by default- Pearson’s chi-squared statistic

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

p-valuee 是反对 零假设 的证据。 更小 p 值, 证据表明你应该拒绝 原假设。

你的情况下的零假设是 对偶然事件中观察到的频率的依赖性 table。


选择显着性水平 -alpha5%;您的 p 值4.502328957824834e-19 远小于 .05 表明意外事件 table 的行和列是 独立。通常这意味着解释意外事件 table 中的单元格是值得的。

在这种特殊情况下,这意味着男性女性(即性别)是not婚姻状况(即已婚、未婚)的不同级别上分布相似。

所以,结婚可能是一种性别比另一种性别更重要的状态!


更新

根据你的评论,我看出你对这个测试有些疑惑。

这个测试基本上告诉你变量之间的关系是显着(即可能代表人口)还是偶然

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

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

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

额外奖励: 有时,其中一个特征在 Data Imputation 期间 暂时 成为因变量(当您有缺失值时)。