【Swiftで見る】標準偏差とは?データの計算ロジックと活用方法を解説!
この記事からわかること
- Swiftでみる標準偏差とは?
- データの計算ロジックと活用方法
index
[open]
\ アプリをリリースしました /
友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-
posted withアプリーチ
データの分析などで活用される「標準偏差」とはどのような指標でどのような計算方法なのかをSwiftのコードも交えながらまとめていきたいと思います。
標準偏差とは?
「標準偏差」とは複数あるデータの平均値からどれだけ離れているかを示す指標のことです。これによりデータのばらつきや分散具合などを把握することができます。標準偏差の値が大きいほどデータが平均値から離れているのでデータがばらついている傾向があり、標準偏差の値が小さいほどデータが平均値付近に集中している傾向であることがわかります。
例えば以下のような「0〜100の間に収まる10個のデータ」があったとします。このデータの平均値は「総和 ÷ 個数」で46
になります。標準偏差を理解するためにはこの平均値がまず重要になります。
private let list: [String: Int] = [
"Person1": 30,
"Person2": 100,
"Person3": 25,
"Person4": 10,
"Person5": 40,
"Person6": 20,
"Person7": 60,
"Person8": 40,
"Person9": 90,
]
let values = Array(list.values)
let sum = values.reduce(0, +)
let average = Double(sum) / Double(values.count) // 46.11111111111111
グラフにしてみるとわかりやすいですが、標準偏差では各データが平均値から離れている値(偏差)がポイントになります。
計算ロジック
実際に標準偏差を算出するには以下の手順で計算を実行していく必要があります。
- 平均値を計算
- 各要素の値と平均値の差を計算
- 各差の二乗を計算
- 二乗した差の平均を計算
- その平均の平方根
// ①平均値を計算
let values = Array(list.values)
let sum = values.reduce(0, +)
let average = Double(sum) / Double(values.count)
// ②③各要素と平均値の差の二乗を計算
let squaredDifferences = values.map { pow(Double($0) - average, 2) }
// ④二乗した差の平均を計算
let squaredDifferencesSum = squaredDifferences.reduce(0, +)
let meanSquaredDifference = squaredDifferencesSum / Double(values.count)
// ⑤標準偏差を計算
let standardDeviation = sqrt(meanSquaredDifference)
print("標準偏差は: \(standardDeviation)") // 標準偏差は: 29.41822732194161
標準偏差自体のことをもっと詳しく知りたい方は以下の記事が参考になりましたので参照ください。
標準偏差とは?初学者向けに意味から求め方までわかりやすく解説
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。