Juliaにおける統計操作
基礎統計
skipmissing(itr)のようにフィルターすると欠損値を無視できる
欠損値を含むデータセットを扱うときに便利
配列itrの平均
mean(itr; dims)
mean(f, itr; dims)とするとfの計算を適用してから計算できる
mean(√, [1, 2, 3])
mean(x -> x*2, [1, 2, 3])
無名関数も入れられる
配列itrの中央値
median(itr; dims)
配列itrの標準偏差
std(itr; corrected::Bool = true [, dims::Int])
corrected=true
標本標準偏差
合計がn-1でスケーリングされる
corrected=false
合計がnでスケーリングされる
多次元配列の場合、dims=1で行を束ねる方向、dims=2で列を束ねる方向に指定できる
stdm(itr, mean; corrected::Bool = true [, dims])
既知の平均値を持つ配列itrの標準偏差
データが大規模であるときや、データセットが従う確率分布が既知であるときに使える
配列itrの標本分散
var(itr; corrected::Bool = true, mean= nothing [, dims])
各エントリが同じ未知の分布から抽出されたサンプルであると仮定する
回帰
glm(formula, data, family, link)
code:glm.jl
using GLM, DataFrames
x = 1:10
ε = randn(10).*2
df = DataFrame(col_1 = x, col_2 = 3x+ε)
# 線形回帰モデルを適用
model = fit(LinearModel, @formula(col_2 ~ col_1), df)
b, a = coef(model) # 切片, 傾きの順で返ってくる
y_pred = predict(model) # 予測値
resid = residuals(model) # 残差
scatter(df.col_1, df.col_2)
plot!(x, predict(model); color=:red)