zoukankan      html  css  js  c++  java
  • ORACLE分组函数stddev和variance,我心存的疑问

    方差函数VARIANCE(x),
    具体方法是:
    设方差s,a为x1,x2...xn的平均值 ,
    则s = [(x1-a)^2+(x2-a)^2+(x3-a)^2+……(xn-a)^2]/n

    标准差函数STDDEV(x),
    具体算法是:
    方差开方。
    设标准查为& ,则 &^2 = s

    但是我通过以下的实验,发现oracle是这样计算variance()的,
    s = [(x1-a)^2+(x2-a)^2+(x3-a)^2+……(xn-a)^2]/n-1 ,注意不是除以n,而是n-1
    -----------------------------------------------------------------------------------
    实验:
    create table TEST_STDDEV_VARIANCE(col1 number(9,2),col2 number(9,2)) ;
    insert into TEST_STDDEV_VARIANCE values(1,1) ;
    insert into TEST_STDDEV_VARIANCE values(2,3) ;
    insert into TEST_STDDEV_VARIANCE values(3,9) ;
    insert into TEST_STDDEV_VARIANCE values(4,15) ;
    SELECT * FROM TEST_STDDEV_VARIANCE ;
    COL1   COL2
    -----  -----
    1           1
    2           3
    3           9
    4           15

    SELECT VARIANCE(COL1) ,VARIANCE(COL2) FROM TEST_STDDEV_VARIANCE ;
    VARIANCE(COL1)                            VARIANCE(COL2)
    ----------------------------------------       --------
    1.66666666666666666666666666666666666667           40

    SELECT STDDEV(COL1) ,STDDEV(COL2) FROM TEST_STDDEV_VARIANCE ;
    STDDEV(COL1)                                        STDDEV(COL2)
    --------------------------------------------------       --------
    1.29099444873580562839308846659413320361                 6.32455532033675866399778708886543706744

    注意VARIANCE(COL1)=(1.5^2 + 0.5^2 + 0.5^2 + 1.5^2) /3 = 5/3 =1.66666666666666666666666666666666666667
    而如果按照方差公式计算应该是VARIANCE(COL1)=(1.5^2 + 0.5^2 + 0.5^2 + 1.5^2) /4 =5/4=1.25
    为什么oracle的分组函数的计算公式不是[(x1-a)^2+(x2-a)^2+(x3-a)^2+……(xn-a)^2]/n ,而是
    s = [(x1-a)^2+(x2-a)^2+(x3-a)^2+……(xn-a)^2]/n-1  呢,真有点疑问,有知道的高手请指点。

  • 相关阅读:
    java反射并不是什么高深技术,面向对象语言都有这个功能,而且功能也很简单,就是利用jvm动态加载时生成的class对象
    java反射意义
    vs2013中国集
    用户向导页面实现左右滑动的ImageSwitcher
    Java / Android H基于ttp多线程下载的实现
    成语接龙(dfs)
    python 弄github代码库列表
    leetcode先刷_Unique Paths II
    jquery于form正在使用submit问题,未解决
    Vs2012于Linux应用程序开发(2):图案
  • 原文地址:https://www.cnblogs.com/caibird2005/p/1366630.html
Copyright © 2011-2022 走看看