基礎統計

Julia の StatsBase パッケージは、統計解析を行う上でよく利用している平均、分散を始めとしてモーメント、相関係数などを求めるための関数を提供している。このパッケージには謎な関数がたくさん含まれているが、これらの紹介を省略する。

using StatsBase

平均

平均は算術平均、幾何平均および調和平均がある。Julia で計算する場合はそれぞれ mean, geomean, harmmean 関数を利用する。

x = [1, 2, 3, 4, 5]

mean(x)
## 3.0

geomean(x)
## 2.6051710846973517

harmmean(x)
## 2.18978102189781

モーメント

分散標準偏差歪度尖度モーメントなどは以下の関数を利用して求める。

y = [11.0, 9.3, 8.3, 13.2, 10.2, 9.8, 11.2]

var(y)
## 2.475714285714284

std(y)
## 1.5734402707806496

skewness(y)
## 0.48943207539069256

kurtosis(y)
## -0.40604533896005357

moment(y, 2)          # 平均の回りの 2 次のモーメント
# 2.122040816326529

moment(y, 2, 0)       # 原点の回りの 2 次のモーメント
# 110.87714285714286

その他の量

中央値最頻値や統計要約量などの量の計算。

z = [2.1, 4.5, 3.1, 5.0, 5.0, 3.1, 1.1, 5.0, 1.0, 2.2, 1.3]

median(z)
## 3.1

percentile(z, .25)
## 1.0025

quantile(z)
## 5-element Array{Float64,1}:
##  1.0
##  1.7
##  3.1
##  4.75
##  5.0

nquantile(z, 4)
## 5-element Array{Float64,1}:
##  1.0
##  1.7
##  3.1
##  4.75
##  5.0

mode(z)
## 5.0

summarystats(z)
## Summary Stats:
## Mean:         3.036364
## Minimum:      1.000000
## 1st Quartile: 1.700000
## Median:       3.100000
## 3rd Quartile: 4.750000
## Maximum:      5.000000

相関係数の計算

Julia でピアソンの積率相関係数スピアマンの順位相関係数ケンドールの順位相関係数を計算する例。

x = [1.32, 2.32, 1.11, 2.42, 4.32, 2.01]
y = [4.61, 9.01, 3.92, 9.20, 9.86, 7.14]

cor(x, y)
## 0.8417846947724287

corspearman(x, y)
## 1.0

corkendall(x, y)
## 0.9999999999999999

References

  • Welcome to StatsBase.jl’s Documentation! Website
  • Julia - The Standard Library. Website