統計検定の学習のため、simple-statistics を使って、分散、標準偏差、zスコア、偏差値 を求めてみました。
simple-statistics は、ブラウザでも動作するため、CDN 版を使用し、Chrome のコンソールで動作確認を行います。
以下、実施した結果を記載します。
simple-statistics の外部 JavaScript を追加
以下、JavaScript をコンソールで実行し、simple-statistics を読み込みます。
var el = document.createElement('script');
el.src = 'https://unpkg.com/simple-statistics@7.0.2/dist/simple-statistics.min.js';
document.body.appendChild(el);
分散を求める
simple-statistics は、global オブジェクト ss
から関数にアクセスできます。
分散を求めるには ss.variance()
を使います。
var x = [0,0,1,1,2,2];
var v =ss.variance(x);
console.log(v);
0.6666666666666666
標準偏差を求める
標準偏差を求めるには、ss.standardDeviation()
を使います。
var x = [0,0,1,1,2,2];
var s =ss.standardDeviation(x);
console.log(s);
0.816496580927726
標準偏差は、分散の平方根です。ss.variance()
の結果の 平行根を求めても結果は同じになります。
var x = [0,0,1,1,2,2];
var v =ss.variance(x);
var s = Math.sqrt(v)
console.log(s);
0.816496580927726
zスコア を求める
zスコアは標準得点という平均を 0 とした時の各値の値です。
zスコアを求めるには、ss.zScore()
を使います。
var x = [0,0,1,1,2,2];
var s =ss.standardDeviation(x);
var m =ss.mean(x);
var z = ss.zScore(2, m, s);
console.log(z);
1.224744871391589
zスコアの計算式は (得点 - 平均点) ÷ 標準偏差
になるため、以下も同じ値が取得できます。
var x = [0,0,1,1,2,2];
var s =ss.standardDeviation(x);
var m =ss.mean(x);
var z = (2 - m) / s;
console.log(z);
1.224744871391589
偏差値 を求める
simple-statistics には 偏差値を直接求める関数はありません。
ss.zScore()
でzスコアが求められるので、その値を用いて計算します。
偏差値 は 標準得点 × 10 + 50
となります。
var x = [0,0,1,1,2,2];
var s =ss.standardDeviation(x);
var m =ss.mean(x);
var z = ss.zScore(2, m, s);
var d = z * 10 + 50;
console.log(d);
62.24744871391589
参考
以下、記事作成中に参考にしました。
- Javascript の統計ライブラリ simple-statistics.js を試してみた。 | SiTest (サイテスト) ブログ
- 共分散の意味と求め方、共分散公式の使い方
- simple-statistics 7.0.1 | Documentation
以上です。
コメント