見出し画像

高校数学をプログラミングで解く(数学B編)「4-2 確率変数の期待値と分散」

マガジンリスト > 数学B編 4.確率分布と統計的な推測 > 4-2 確率変数の期待値と分散


はじめに

今回は、数学Bで学ぶ「確率変数の期待値と分散」について、確率変数$${X}$$に対する確率分布から期待値、分散、標準偏差を求めるプログラムを作成します。

期待値、分散、標準偏差

まず、期待値と分散について復習しておきます。

確率変数$${X}$$が次の確率分布に従うとする。

$$
\begin{array}{c||cccc|c}
\hline
X & x_1 & x_2 & \cdots & x_n & \mathrm{計} \\
\hline
P & p_1 & p_2 & \cdots & p_n & 1 \\
\hline
\end{array}
$$

ただし、$${p_1 \geq 0, p_2 \geq 0, \cdots, p_n \geq 0 \ : \ p_1+p_2+\cdots+p_n =1}$$。

期待値(平均)

$$
m = E(X) = x_1p_1+x_2p_2+\cdots+x_np_n = \sum_{k=1}^n x_kp_k
$$

分散

$$
\begin{array}{rl}
V(X) &= E( (X-m)^2 ) = E(X^2)-\{E(X)\}^2 \\
&= (x_1-m)^2p_1+(x_2-m)^2p_2+\cdots+(x_n-m)^2p_n \\
&= \sum_{k=1}^n (x_k-m)^2p_k 
\end{array}
$$

標準偏差

$$
\sigma (X) = \sqrt{V(X)} = \sqrt{ E(X^2)-\{ E(X) \}^2 }
$$

期待値、分散、標準偏差を計算する

期待値、分散、標準偏差を計算するプログラムを作成するにあたり、今回は次のような問題を考えてみます。

問題
下の確率分布に従う変数$${X}$$について、期待値、分散、標準偏差を求めよ。

$$
\begin{array}{c||cccc|c}
\hline
X & 1 & 2 & 3 & 4 & \mathrm{計} \\
\hline
P & \frac{1}{3} & \frac{1}{4} & \frac{1}{3} & \frac{1}{12} & 1 \\
\hline
\end{array}
$$

アルゴリズム設計 

今回の問題は、上記で説明した期待値、分散、標準偏差の式をそのまま利用してプログラムを作成することができます。

プログラム

では、期待値、分散、標準偏差を計算するプログラムを作成していきます。

// 期待値、分散、標準偏差の計算
void setup(){

  // 確率変数の値
  int[] x = {1,2,3,4}; 
  // 確率分布P
  float[] p = {1.0/3.0, 1.0/4.0, 1.0/3.0, 1.0/12.0};

  // 期待値の計算
  float m = 0;
  for(int i=0;i<4;i++){
    m = m + x[i]*p[i];
  }
  
  // 分散の計算
  float v = 0;
  for(int i=0;i<4;i++){
    v = v + (x[i]-m)*(x[i]-m)*p[i];
  }
  
  // 標準偏差の計算
  float sigma = sqrt(v);
  
  // 期待値、分散、標準偏差の値をコンソールに出力
  println("期待値 :", m);
  println("分散  :", v);
  println("標準偏差:", sigma);
  
}

ソースコード1 期待値、分散、標準偏差を計算するプログラム

このソースコードを、Processingの開発環境ウィンドウを開いて(スケッチ名を「ExpectedValue_Variance」としています)、テキストエディタ部分に書いて実行します。

図1 スケッチ「ExpectedValue_Variance」の実行結果

図1のように、期待値、分散、標準偏差を

期待値 : 2.1666667
分散  : 0.9722222
標準偏差: 0.9860133

のようにコンソールに出力します。なお、これらの値は分数で表すと順に

$$
\frac{13}{6}, \frac{35}{36}, \frac{\sqrt{35}}{6}
$$

となっています。

練習問題

1個のさいころを3回投げるとき、3の倍数の目が出た回数$${X}$$の期待値、分散、標準偏差を求めよ。

まとめ

今回は、数学Bで学ぶ「確率変数の期待値と分散」について、確率変数$${X}$$に対する確率分布から期待値、分散、標準偏差を求めるプログラムを作成しました。
プログラム自体は簡単です。期待値、分散、標準偏差の定義通りに計算するだけです。ただ、これらの値はデータ解析において重要な役割を果たすものですので、計算方法については把握しておいた方がよいでしょう。

参考文献

改訂版 教科書傍用 スタンダード 数学B(数研出版、ISBN9784410209468)


この記事が気に入ったらサポートをしてみませんか?