見出し画像

高校数学10分プログラミング(数学B編 4.確率分布と統計的な推測)2日目「期待値や分散、標準偏差を考える」

マガジンリスト > 数学B編 4.確率分布と統計的な推測 > 2日目 課題

おはようございます。

本日は、高校数学10分プログラミング(数学B編 4.確率分布と統計的な推測)の2日目です。

本日の課題は、確率分布から期待値、分散、標準偏差を求めるプログラムを作成することです。


期待値、分散、標準偏差

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

確率変数$${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}{rll}
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};
  // 確率変数の取りうる値の数
  int n = x.length;

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

ソースコード1 期待値、分散、標準偏差を求めるプログラム(未完成)

ソースコード1では、確率変数の値を表す変数(配列)x とその確率分布を表す変数(配列)p を準備して、上記で説明した期待値、分散、標準偏差の式をそのまま利用して、期待値 m 、分散 v 、標準偏差 sigma を計算して最後にそれらの結果をコンソールに出力しています。
ただし、期待値 m 、分散 v 、標準偏差 sigma を計算する部分は未完成です。

  // 期待値の計算
  float m = 0;
  for(int i=0;i<n;i++){
    m = m + 
  }
  
  // 分散の計算
  float v = 0;
  for(int i=0;i<n;i++){
    v = v + 
  }
  
  // 標準偏差の計算
  float sigma = 

これらの計算の部分を追記してソースコード1を完成させてください。

なお、スケッチ名は「ExpectedValue_Variance」としてください。


それでは、よろしくお願いします。

MK's papa

いいなと思ったら応援しよう!