原創于2009年08月02日,2009年10月22日遷移至此。
Oracle 分析函數——統計分析函數
方差和標準差:
樣本中各數據與樣本平均數的差的平方和的平均數叫做樣本方差;樣本方差的算術平方根叫做樣本標準差。樣本方差和樣本標準差都是衡量一個樣本波動大小的量,樣本方差或樣本標準差越大,樣本數據的波動就越大。
數學上一般用 E{[X-E(X)]^2} 來度量隨機變量 X 與其均值 E(X) 即期望的偏離程度,稱為 X 的方差。
方差是標準差的平方
方差和標準差。方差和標準差是測算離散趨勢最重要、最常用的指標。方差是各變量值與其均值離差平方的平均數,它是測算數值型數據離散程度的最重要的方法。標準差為方差的平方根,用 S 表示。
StdDev 返回 expr 的樣本標準偏差。它可用作聚集和分析函數。它與 stddev_samp 的不同之處在于,當計算的輸入數據只有一行時, stddev 返回 0 ,而 stddev_samp 返回 null 。
Oracle 數據庫 中,標準偏差計算結果與 variance 用作集聚函數計算結果的平方根相等。該函數參數可取任何數字類型或是任何能隱式轉換成數字類型的非數字類型。
STDDEV
功能描述:計算當前行關于組的標準偏離。( Standard Deviation )
SAMPLE :
STDDEV_SAMP
功能描述: 該函數計算累積樣本標準偏離,并返回總體變量的平方根,其返回值與 VAR_POP 函數的平方根相同。( Standard Deviation - Sample )
SAMPLE :
它與 stddev_samp 的不同之處在于,當計算的輸入數據只有一行時, stddev 返回 0 ,而 stddev_samp 返回 null 。
SELECT
department_id,
first_name||' '||last_name employee_name,
hire_date,
salary,
STDDEV_SAMP(salary) OVER (PARTITION BY department_id ORDER BY hire_date) AS cum_sdev
FROM employees
WHERE department_id in (20,30,60);
STDDEV 和 STDDEV_SAMP 的區別
SELECT
first_name||' '||last_name employee_name,
hire_date,
salary,
STDDEV(salary) OVER (ORDER BY hire_date) "StdDev",
STDDEV_SAMP(salary) OVER (ORDER BY hire_date) AS cum_sdev
FROM employees
VAR_POP
功能描述:( Variance Population )該函數返回非空集合的總體變量(忽略 null ), VAR_POP 進行如下計算:
(SUM(expr2) - SUM(expr)2 / COUNT(expr)) / COUNT(expr)
VAR_SAMP
功能描述:( Variance Sample )該函數返回非空集合的樣本變量(忽略 null ), VAR_POP 進行如下計算:
(SUM(expr*expr)-SUM(expr)*SUM(expr)/COUNT(expr))/(COUNT(expr)-1)
SAMPLE :
VARIANCE
功能描述:該函數返回表達式的變量, Oracle 計算該變量如下:
如果表達式中行數為 1 ,則返回 0
如果表達式中行數大于 1 ,則返回 VAR_SAMP
SAMPLE :
SELECT
department_id,
first_name||' '||last_name employee_name,
hire_date,
salary,
STDDEV(salary) OVER (PARTITION BY department_id ORDER BY hire_date) AS "STDDEV",
STDDEV_SAMP(salary) OVER (PARTITION BY department_id ORDER BY hire_date) AS "STDDEV_SAMP",
VAR_POP(salary) OVER (PARTITION BY department_id ORDER BY hire_date) AS "VAR_POP",
VAR_SAMP(salary) OVER (PARTITION BY department_id ORDER BY hire_date) AS "VAR_SAMP",
VARIANCE(salary) OVER (PARTITION BY department_id ORDER BY hire_date) AS "VARIANCE"
FROM employees
協方差分析是建立在方差分析和回歸分析基礎之上的一種統計分析方法。
方差分析是從質量因子的角度探討因素不同水平對實驗指標影響的差異。一般說來,質量因子是可以人為控制的。
回歸分析是從數量因子的角度出發,通過建立回歸方程來研究實驗指標與一個 ( 或幾個 ) 因子之間的數量關系。但大多數情況下,數量因子是不可以人為加以控制的。
兩個不同參數之間的方差就是協方差
若兩個隨機變量 X 和 Y 相互獨立,則 E[(X-E(X))(Y-E(Y))]=0 ,因而若上述數學期望不為零,則 X 和 Y 必不是相互獨立的,亦即它們之間存在著一定的關系。
定義
E[(X-E(X))(Y-E(Y))] 稱為隨機變量 X 和 Y 的協方差,記作 COV(X , Y) ,即 COV(X , Y)=E[(X-E(X))(Y-E(Y))] 。
COVAR_POP
功能描述:返回一對表達式的總體協方差。
SAMPLE :
COVAR_SAMP
功能描述:返回一對表達式的樣本協方差
SAMPLE :
SELECT
a.department_id,
a.employee_id,
b.employee_id manager_id,
a.first_name||' '||a.last_name employee_name,
b.first_name||' '||b.last_name manager_name,
a.hire_date,
a.salary employee_salary,
b.salary manager_salary,
COVAR_POP(a.salary,b.salary) OVER (ORDER BY a.department_id,a.hire_date ) AS CUM_COVP,
COVAR_SAMP(a.salary,b.salary) OVER (ORDER BY a.department_id,a.hire_date ) AS CUM_SAMP
FROM employees a,employees b
WHERE a.manager_id=b.employee_id(+)
CORR
功能描述:返回一對表達式的相關系數,它是如下的縮寫:
COVAR_POP(expr1,expr2)/STDDEV_POP(expr1)*STDDEV_POP(expr2))
從統計上講,相關性是變量之間關聯的強度,變量之間的關聯意味著在某種程度
上一個變量的值可由其它的值進行預測。通過返回一個 -1~1 之間的一個數 , 相關
系數給出了關聯的強度, 0 表示不相關。
SELECT
a.department_id,
a.first_name||' '||a.last_name employee_name,
b.first_name||' '||b.last_name manager_name,
a.hire_date,
a.salary employee_salary,
b.salary manager_salary,
CORR(a.salary,b.salary) OVER (ORDER BY a.department_id,a.hire_date ) AS CORR
FROM employees a,employees b
WHERE a.manager_id=b.employee_id(+)
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
