見出し画像

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

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

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

課題の変換された確率変数$${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[] y = new int[4];
  for(int i=0; i<x.length; i++){
    y[i] = 5*x[i]-6;
  }

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

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

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

期待値 : 1.5
分散  : 18.75

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

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


本日は以上です。
明日も、確率変数の変換について考えていきます。

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


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

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


MK’s papa


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