連続型確率変数の擬似乱数(cont17) - 課題p071

Time-stamp: "2019-01-04 Fri 08:58 JST hig"

情報

  • 出題:2018-06-01
  • 実行/提出期限:2018-06-01
  • 提出
    • cont17.c プログラム
    • cont17.docx RStudioのreport

学習目標

  • (区分的)一様分布の確率密度関数$f(r)$が与えられたとき, それに従う連続値擬似乱数をCのプログラムで生成できる.

課題

状況の説明

次の確率密度関数 \(f(r)\) を持つ連続値確率変数$R$を考える(サブチーム別ミッション番号指定).

  1. \[f_1(r)=\begin{cases} 0.25 & (0\leq r < 1)\\ 0.75 & (2\leq r < 3)\\ 0 & (\text{他}) \end{cases}\]
  2. \[f_2(r)=\begin{cases} 0.25 & (-2\leq r < -1)\\ 0.75 & (1\leq r < 2)\\ 0 & (\text{他}) \end{cases}\]
  3. \[f_3(r)=\begin{cases} 0.25 & (1\leq r < 4)\\ 0.125 & (5\leq r < 7)\\ 0 & (\text{他}) \end{cases}\]
  4. \[f_4(r)=\begin{cases} 0.25 & (1\leq r < 2)\\ 1.5 & (3\leq r < 3.5)\\ 0 & (\text{他}) \end{cases}\]
  5. \[f_5(r)=\begin{cases} 0.2 & (0\leq r < 1)\\ 1.6 & (4.5\leq r < 5)\\ 0 & (\text{他}) \end{cases}\]
  6. \[f_6(r)=\begin{cases} 0.8 & (1\leq r < 2)\\ 2 & (3\leq r < 3.1)\\ 0 & (\text{他}) \end{cases}\]
  7. \[f_7(r)=\begin{cases} 0.2 & (-1\leq r < 1)\\ 1.2 & (4\leq r < 4.5)\\ 0 & (\text{他}) \end{cases}\]

課題のタスク

  • 与えられた確率密度関数に従う連続値擬似乱数を作るための単調増加な $g(y)$, すなわち double getrandom(double y)を考えよう. $g(y)$を使って連続値疑似乱数を出力する, 下の仕様に従ったプログラムcont17.cを作ろう.
  • サンプルサイズ$N=1000$で実行しよう. しばらく前から使っている方法で結果を CSV ファイルに保存しよう.
  • 課題stat01のサンプル R Script や ガイド, 配布資料, を参考にして cont17.R を完成させ, \(R\)のヒストグラム, 標本平均値, 不偏標本標準偏差, \(R^4\)の標本期待値, \(R^4<3\)の標本比率, \(R\)の四分位値を求めよう.

プログラムの入力

この順で1行に1個ずつ
  • 乱数のシードd(0以上の整数)
  • 標本のサイズN(2以上の整数)

プログラムの入力例

XYZ 自分で決めるシード
1000

プログラムの出力

  • 1行目に"y,r"(これはRStudioが見出しとして使用する)
  • 2行目に# a=に続いて 確率密度関数番号
  • 3行目に# d=に続いて シード
  • 4行目に# N=に続いて 標本のサイズ
  • 以下, コンマで区切って, 0から始まる通し番号と, 確率密度関数にしたがう疑似乱数を(小数点以下7桁まで), 1行に1組ずつN行.

プログラムの出力例

r
# a=A 確率密度関数番号
# d=XYZ シード
# N=1000
0.109329,-1.1229186
0.309374,0.6899448
…中略.データはでたらめです.
0.120308,2.8233919

アドバイス

自分でチェック!

  • 連続値擬似乱数の範囲はあってる?
  • すべてのガイド
  • このサイトのコンテンツ

    QRcode to hig3.net

    http://hig3.net