测试正常性

时间:2016-01-04 17:56:30

标签: sql plsql statistics poisson

在下面的数据集中,为每个独特的方法拟合测试/测试常态的最佳方法是什么?感谢

dbtbl

1 个答案:

答案 0 :(得分:1)

如您所知(在编辑历史记录中可见)Oracle提供了Shapiro-Wilk 正常性测试(我使用 [R]的链接,因为你会找到更多关于这个实现的参考资料。)

重要的是要知道OUT参数sig对应于统计信息所称的p-value

实施例

DECLARE
   sig     NUMBER;
   mean    NUMBER := 0;
   stdev   NUMBER := 1;
BEGIN
   DBMS_STAT_FUNCS.normal_dist_fit (USER,
                                    'DIST',
                                    'DIST1',
                                    'SHAPIRO_WILKS',
                                    mean,
                                    stdev,
                                    sig);
   DBMS_OUTPUT.put_line (sig);
END;
/

你得到以下输出

W value : ,9997023261540432791888281834378157820514
,7136528702727722659486194469256296703232

用于比较r中具有相同数据的测试

> shapiro.test(df$DIST1)

        Shapiro-Wilk normality test

data:  df$DIST1
W = 0.9997, p-value = 0.7137

其余的是statistics:)

我的解释 - 如果你需要丢弃与正态分布最粗略的偏差

,这个测试很有用

如果sig< .05你可能会把数据丢弃,因为不是正态分布,但是高的sig值并不意味着相反。您只知道您不能将其作为非正常情况丢弃..

无论如何,分布图可以提供更好的洞察力,即简单的真/假测试。这是一个很好的资源well

对此discussions的其他一些有用的topic