美文网首页
SAS编程-Efficacy:配对设计卡方检验的校正形式

SAS编程-Efficacy:配对设计卡方检验的校正形式

作者: 野藤_ | 来源:发表于2022-07-24 12:20 被阅读0次

之前的文章(SAS编程-Efficacy:如何进行样本率的比较?(卡方检验) )介绍了几类样本率的比较,并进行了SAS程序演示。

关于配对卡方检验(McNemar's 配对卡方检验),介绍了3种情况:

配对设计
  • 当b+c≥40时,使用配对卡方检验(公式7.12)
  • 当20≤b+c<40时,使用校正配对卡方检验(公式7.13)
  • 当b+c<20时,使用确切概率法计算配对四个表的确切概率
配对卡方检验

1. 配对卡方检验与确切概率法的代码实现

由于SAS无法直接输出第2种情况的结果,当时文章以1、3情况进行演示。

教材例题:

例5

两种方法进行沙门氏菌检验,比较两种方法的阳性结果是否有差别。目前 b + c = 31,大于20小于40,应该使用校正的配对卡方检验。先用配对卡方检验做演示,SAS代码演示如下:

data tmp5;
   grp1 = 1; grp2 = 1; count = 160; output;
   grp1 = 1; grp2 = 2; count = 26; output;
   grp1 = 2; grp2 = 1; count = 5; output;
   grp1 = 2; grp2 = 2; count = 48; output;
run;

proc freq data = tmp5;
  tables grp1*grp2/ agree;
  weight count;
  exact mcnem;
run;
Output 5

配对卡方检验的p值以及确切概率法的p值,如方框中展示。

2. 校正配对卡方检验

由于SAS没有自带选项输出校正的配对卡方检验的结果,这就需要自己通过编程实现对应算法,输出卡方值以及对应的p值。实现过程主要为2步:

  1. 校正卡方值的计算
  2. 卡方值作为上分位点,计算其尾部概率(拒绝域)

校正的卡方值通过公式7.13进行实现:

尾部概率的计算,可以通过1减去卡方值对应的分布函数值F(x)进行实现,而分布函数值可以通过函数probchi(chi, df)进行获取。具体可以参考文章医学统计:随机变量的概率分布、概率计算的SAS实现 , 文章有对分布函数以及分位点概念的介绍。

具体实现代码如下:

data tmp;
  b = 26;
  c = 5;
  chi = (abs(b-c)-1)**2/(b+c);
  Fx = probchi(chi, 1);
  p = 1 - Fx;
run;

输出数据如下:

卡方 = 12.90,p = 0.0003 < 0.05,在α = 0.05的检验水准上拒绝H0,接受H1,差异有统计学意义,故可以认为两种检验方法的阳性率不同。

总结

文章介绍了配对卡方检验的3类情况的SAS实现。对于校正的卡方检验,SAS没有直接输出结果的选项,需要自己进行编程实现对应的算法。

卡方值是,对实际频数与理论频数差值的度量。在零假设的成立的情况下,实际频数与理论频数的差异应该不会不大,即,由抽样误差造成。

当卡方值很大时,甚至大到取得该值以及更极端值的概率<0.05时,这已经是一个小概率事件。根据小概率原理,在一次抽样中,小概率事件不可能发生。不可能发生的事件发生了,有理由认为零假设不成立。

感谢阅读, 欢迎关注!
若有疑问,欢迎评论交流!

相关文章

网友评论

      本文标题:SAS编程-Efficacy:配对设计卡方检验的校正形式

      本文链接:https://www.haomeiwen.com/subject/wokgirtx.html