[英]SQL - STDEVP or STDEV and how to use it?
我有一張桌子:
LocationId OriginalValue Mean
1 0.45 3.99
2 0.33 3.99
3 16.74 3.99
4 3.31 3.99
等等……
我將如何使用此表計算Standard Deviation
以及您會推薦什么 - STDEVP
或STDEV
?
要使用它,只需:
SELECT STDEVP(OriginalValue)
FROM yourTable
從下面,你可能想要STDEVP
。
從這里 :
當被評估的數字組僅是整個總體的部分采樣時,使用STDEV 。 除以平方偏差之和的分母是N-1,其中N是觀測數(數據集中的項目數)。 從技術上講,減去1被稱為“無偏差”。
當被評估的數字組完成時使用STDEVP - 它是整個值的總和。 在這種情況下,1不被減去,並且用於除以平方偏差之和的分母簡單地是N本身,即觀察的數量(數據集中的項目的數量)。 從技術上講,這被稱為“有偏見”。 記住,STDEVP中的P代表“人口”可能會有所幫助。 由於數據集不僅僅是樣本,而是由所有實際值構成,因此該標准偏差函數可以返回更精確的結果。
通常,在必須根據樣本估算標准偏差時,應使用STDEV
。 但是如果你將整個列數據作為參數給出,那么使用STDEVP
。
通常,如果您的數據代表整個人口,請使用
STDEVP
; 否則,使用STDEV
。
請注意,對於大樣本,函數返回的值幾乎相同,因此在這種情況下最好使用STDEV
。
在統計中,有兩種類型的標准偏差:一種用於樣本,一種用於人口。 通常用字母s表示的樣本標准偏差用作總體標准差的估計值。 當數據構成完整人口時,使用通常由希臘字母小寫西格瑪表示的人口標准偏差。 很難直接回答您的問題 - 樣本或人口 - 因為很難說出您正在使用的是什么:樣本或人口。 它通常取決於背景。 請考慮以下示例。 如果我想知道班上學生年齡的標准差,那么我會使用STDEVP,因為班級是我的人口。 但是,如果我想讓我的班級作為學校所有學生的人口樣本(這將是所謂的便利樣本,並且可能有偏見,但我離題),那么我會使用STDEV因為我的class是一個樣本。 得到的值將是我對STDEVP的最佳估計。 如上所述(1)對於大樣本量(例如,超過30個),兩者之間的差異變得微不足道,(2)通常你應該使用STDEV,而不是STDEVP,因為在實踐中我們通常無法訪問人口。 實際上,人們可以爭辯說,如果我們總是能夠接觸到人口,那么我們就不需要統計數據了。 推論統計的整個要點是能夠根據樣本推斷人口。
希望這可以幫助:
select stddevp(case when...condition then...column_name end) from...table_name where...condition
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.