見出し画像

高校数学10分プログラミング(数学B編 4.確率分布と統計的な推測)4日目「確率変数の変換を考える2」解説

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

本日の課題、おつかれさまでした。

課題の変換された確率変数$${Y}$$に対する期待値と分散を関係式を利用して求めるプログラムを作成することができたでしょうか。


解答例

今回の課題の$${Y}$$の期待値と分散を関係式を利用して求めるプログラムの例を示します。

// 関係式を用いた、変換された確率変数の期待値と分散の計算
void setup(){

  // 硬貨を3回投げた時の表が出る回数(確率変数)
  int[] x = {0,1,2,3}; 
  // 確率分布P
  float[] p = {1.0/8.0, 3.0/8.0, 3.0/8.0, 1.0/8.0};

  // 確率変数を変換するときの係数
  int a = 5;
  int b = -6;

  // 確率変数Xの期待値の計算
  float m_x = 0;
  for(int i=0;i<x.length;i++){
    m_x = m_x + x[i]*p[i];
  }
  
  // 確率変数Xの分散の計算
  float v_x = 0;
  for(int i=0;i<x.length;i++){
    v_x = v_x + (x[i]-m_x)*(x[i]-m_x)*p[i];
  }
  
  // 変換された確率変数Yの期待値と分散の計算
  float m_y = a * m_x + b;
  float v_y = a * a * v_x;
  
  // 変換された確率変数の期待値と分散の値をコンソールに出力
  println("期待値 :", m_y);
  println("分散  :", v_y);
  
}

ソースコード2 $${Y}$$の期待値と分散を関係式を利用して求めるプログラム(完成版)

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

期待値 : 1.5
分散  : 18.75

と出力されます(図1)。

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

この結果は、前回(3日目)の結果と一致していることがわかります。


本日は以上です。
明日は、同時分布について考えていきます。

明日もよろしくお願いします。


読んだ感想などをお寄せください

本記事を読んだ感想や質問などを以下のお問い合せフォームからお寄せください。(お問合せフォームの本文に、本記事のタイトルを入れてください。)


MK’s papa


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