分散とは,データの散らばり具合を示す統計量であり,各データと平均値との差の2乗の平均値として計算される.Juliaで分散を計算するためには,StatsBaseパッケージの var$()$ 関数を使用する.
using StatsBase
data = [2, 5, 7, 3, 8, 9, 1, 6, 4]
variance = var(data)
println("分散は $variance です.")
このコードでは,配列 data に格納された数値データの分散を求めている..var$()$ 関数は,引数に渡された配列の分散を計算し,その値を返す.そして, println$()$ 関数を使って,分散を表示している.
分散は 7.283333333333334 です.
この例においては, data配列の分散が 7.2833 であるため, この値が表示されている.
この計算を自分で定義することもできる.以下は, Julia で分散を計算するための関数の定義例である.
function myvar(data)
mean_val = mean(data)
sum_val = 0.0
for val in data
sum_val += (val - mean_val)^2
end
variance = sum_val / length(data)
return variance
end
# 使用例
data = [2, 5, 7, 3, 8, 9, 1, 6, 4]
variance = myvar(data)
println("分散は $variance です.")
このコードでは, myvar$()$ という関数を定義して,分散の計算を行っている.myvar$()$ 関数は, 数値データを引数として受け取り,分散を計算してその値を返す.
関数の中では,まずmean$()$ 関数を使ってデータの平均値を計算し,それを mean_val変数に代入している.
そして, forループを使って各データと平均値の差の2乗を計算し,それらの値を sum_val変数に足していく.最後に, sum_val をデータ数で割ることによって分散を求める.
使用例として, data配列に格納された数値データの分散を求めている.myvar$()$ 関数を呼び出し,分散を計算し, println$()$ 関数で分散を表示している.このコードを実行すると,以下のような出力が得られる.
分散は 7.283333333333334 です.
この結果は StatsBaseパッケージ の var$()$ 関数と同じである.