「統計」是一門龐大又複雜的學問,涵蓋許多面向。
其中有些面向在 Randomness 概念中稍微提過,那是個獨立但相關的主題。
最簡單來說,統計可以是用來把一組可疊代的資料彙總成單一值的方法。 剛接觸 Julia 的人可能會訝異,這個語言預設內建的函式竟然這麼少:
sum:把數字加總。min 和 max:取得所給參數的極端值。extrema:取得可疊代物件的 (min, max) 元組。length:計算所有值的數量。count:只計算符合某項條件的值。julia> v = collect(1:0.2:3)
11-element Vector{Float64}:
1.0
1.2
... # display truncated
3.0
julia> mean(v)
2.0
julia> extrema(v)
(1.0, 3.0)
julia> length(v)
11
julia> min('g', 'a', 'c')
'a': ASCII/Unicode U+0061 (category Ll: Letter, lowercase)
julia> count(isodd, 1:5) # 1, 3, and 5 are odd
3
這組有限的函式是刻意的決定,目的是把其他函式移往一連串的模組與套件,以盡量減少 Julia 基礎的臃腫。
Statistics 模組Statistics屬於標準函式庫的一部分,通常已經預先安裝好,只要在程式開頭加上 using Statistics,就能把它帶進命名空間。
這個模組包含下一層常見函式,它們很可能會被一部分程式設計師廣泛使用。
Statistics裡的許多函式都預設你對這個主題有一些背景知識。
最簡單的例子包括:
mean:許多人會稱之為平均數(結果等同於 sum / length)。median:排序後位於中間的值。std,即標準差:衡量數值分散程度的指標。var,即變異數:std 的平方,通常計算起來比較快。每個函式往往有各種選項,而且還有_更多_函式;如果有興趣,可以查閱文件。
正如你可能預期的,統計是 Julia 的一大應用場景,也有許多現成的套件可以支援更專門的工作。
JuliaStats 團隊很熱心地維護了一份線上清單。