全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1234 2
2013-06-01
悬赏 200 个论坛币 已解决
请问高手,我的程序如下(有20000个(2万)记录),为什么当使用参数Fisher,会大大增加运算时间(第一程序步仅需零点几秒,而后一个程序步需要很长时间,我现在都没有耐心等它把结果运行出来,所以不知道第二程序步具体运行时间),该如何解决,谢谢高手指点!!
data aaa;
input  a  b  c;
cards;
1    0     1
1   1      1
..............
2   0     1
2   1      1
...............
3   0     1
3   1      1
...............
4   0     1
4   1      1
...............
5   0     1
5   1      1
...............
6   0     1
6   1      1
...............
7   0     1
7   1      1
...............
8   0     1
8   1      1
...............
;
run;
proc freq data=aaa;
weight c;
tables a*b
/chisq;
run;


proc freq data=aaa;
weight c;
tables a*b
/chisq fisher;
run;




最佳答案

可~乐 查看完整内容

因为fisher检验的原理,是利用超几何分布来计算每一种可能结果出现的概率,对于2X2表格的计算形式如下 ,因此fisher检验适用于观测频数不大的情况。当观测总数n较大,或者对于一般的rXc列表,fisher检验的计算量非常大,以至于无法承受。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-6-1 00:38:03
因为fisher检验的原理,是利用超几何分布来计算每一种可能结果出现的概率,对于2X2表格的计算形式如下 fisher.jpg
,因此fisher检验适用于观测频数不大的情况。当观测总数n较大,或者对于一般的rXc列表,fisher检验的计算量非常大,以至于无法承受。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-6-8 06:52:07
当数据量很大的时候,可以直接采用卡方检验。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群