一、什么是卡方分布?什么是卡方检验?卡方检验有什么作用?

n个独立同分布(标准正态分布N(0,1))变量的平方和服从自由度为n的卡方分布。

卡方检验的基本思想是:根据样本数据推断总体分布与期望分布是否有显著性差异,或者推断两个分类变量是否相关或者独立。 一般可以设原假设为 :观察频数与期望频数没有差异,或者两个变量相互独立不相关。 实际应用中,我们先假设原假设成立,计算出卡方值,卡方表示观察值与理论值间的偏离程度。

卡方值的计算公式:

  • A是观察值,即真实统计值;
  • E是理论值(期望频数),即假设两个变量不相关情况下的期望值。

卡方检验的主要步骤:卡方检验分四步,检验两个变量是否关联

  1. 计算卡方值
  2. 求自由度 (行数 – 1)*(列数 – 1)
  3. 设定显著性水平值(显著性水平是假设检验中的一个概念,是指当原假设为正确时人们却把它拒绝了的概率或风险。 它是公认的小概率事件的概率值,必须在每一次统计检验之前确定,通常取α=0.05或α=0.01。 这表明,当作出接受原假设的决定时,其正确的可能性(概率)为95%或99%。)
  4. 根据以上计算结果查表

卡方检验作用:主要用于分类变量之间的独立性检验,换言之,就是检验两个分类变量之间有没有关系,推断两个分类变量是否相关或相互独立。
例如,研究学历对收入的影响是否显著性;
男性或者女性对线上买生鲜食品有没有区别;

卡方检验python 实现:

 1 from scipy.stats import chi2_contingency
 2 from scipy.stats import chi2
 3 
 4 table = [[10,20,30],[6,9,17]]
 5 print(table)
 6 stat,p,dof,expected = chi2_contingency(table) # stat卡方统计值,p:P_value,dof 自由度,expected理论频率分布
 7 print("卡方统计值:",stat)
 8 print(\'dof=%d\'%dof)
 9 print("expected:\n",expected)
10 
11 prob = 0.95 # 选取95%置信度
12 critical = chi2.ppf(prob,dof)  # 计算临界阀值
13 print(\'probality=%.3f,critical=%.3f,stat=%.3f \'%(prob,critical,stat))
14 if abs(stat)>=critical:
15     print(\'reject H0:Dependent\')
16 else:
17     print(\'fail to reject H0:Independent\')
Python结果:[[10, 20, 30], [6, 9, 17]]
卡方统计值: 0.27157465150403504
dof=2
expected:
 [[10.43478261 18.91304348 30.65217391]
 [ 5.56521739 10.08695652 16.34782609]]
probality=0.950,critical=5.991,stat=0.272 
fail to reject H0:Independent

二、什么是p_value?有什么用?

p-value:拒绝原假设H0时犯错误的概率,即其值越小,越说明拒绝原假设H0 接受备择假设H1是正确的。
直观来说,就是犯错概率越低越好。

也可以解释为,假定“不靠谱”原假设为真时,得到与样本相同或者比样本更极端结果的概率。
例如,原假设“人们拇指平均长度是10cm”,根据样本数据得到p-value是0.03,这意味着如果人们拇指平均长度是10cm,得到样本或更极端结果的概率是0.03,小于0.05,这时我们就可以认为原假设不可能成立,即拒绝原假设。这里需要注意的是,P值不是给定样本结果时原假设为真的概率,而是给定原假设为真时样本结果出现的概率。

作用:p-value就是为了验证假设和实际之间一致性的统计学意义的值,即假设检验

版权声明:本文为mollyhappy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/mollyhappy/p/13453852.html