来自Python,R和SQL开发人员的不同结果(二项式测试)

时间:2019-05-20 07:45:45

标签: python r oracle-sqldeveloper

我在Python,R和SQL Developer中以单边概率运行(更强)的二项式测试。而且,SQL Developer的 p值与Python和R不同。

       Python
            import scipy.stats as sc 
            sc.binom_test(x=12, n=20, p=0.4, alternative='greater')

       R
            aaa=binom.test (12, 20, 0.4, alternative = "greater")
            print(aaa$p.value,digits = 15)

       SQL Developer  
            with data1 as (select 1 as flag from dual
            union all   select 1 from dual
            union all   select 1 from dual
            union all   select 1 from dual
            union all   select 1 from dual
            union all   select 1 from dual
            union all   select 0 from dual
            union all   select 0 from dual
            union all   select 0 from dual
            union all   select 0 from dual
            union all   select 1 from dual
            union all   select 1 from dual
            union all   select 1 from dual
            union all   select 1 from dual
            union all   select 1 from dual
            union all   select 1 from dual
            union all   select 0 from dual
            union all   select 0 from dual
            union all   select 0 from dual
            union all   select 0 from dual )
STATS_BINOMIAL_TEST(flag, '1', 0.4, 'ONE_SIDED_PROB_OR_MORE') prob_or_less   FROM data1;

结果如下

Software   P-value             Difference from Python
Python     0.056526367034253   0
R          0.056526367034253   0.000000000000000
SQL        0.056526367018566   0.000000000015687

数字较小时差异很小,但是在输入数字较大的情况下影响很大。您能给我个建议吗,SQL Developer中的问题在哪里?谢谢。

0 个答案:

没有答案