Rで学ぶ確率

演習問題1-1

6面体のサイコロにおいて、インチキでないサイコロでは、1の目がでる確率が1/6であることを示しなさい。また、サイコロを2回振って最初の出目をx, 二回目の出目をy としたとき、x+y=6となる確率を求めなさい。

:

通常のサイコロであれば1から6まで目が書いてある面があり、面の数は6個である。 そして、前提からその面はどれも同じ確率で現れると考えることができる。 (そうでなければ「インチキ」のサイコロとなる) ゆえに、1の目が出る確率は 1/6 である。

サイコロを2回振った場合、最初の出目と2回目の出目の間には関係がない、 つまり最初の出目がどの数であっても、次に1から6の目は等しく 1/6 の 確率で現れる。

さて、x+y=6となる組み合わせは、

  1. x=1, y=5
  2. x=2, y=4
  3. x=3, y=3
  4. x=4, y=2
  5. x=5, y=1
の5通りある。また、2回振ったときの出目の組み合わせは 6×6=36通りある。 これらは等しい確率で現れることから、 5/36 が求める答えである。

演習問題1-2

乱数を用いて、通常の6面体のサイコロにおいて、1の目がでる確率が1/6となるかどうか、確かめてみよう。 サイコロを600回、6000回、60000回、600000回ふったときに1の目がでる回数を乱数を用いてシミュレーションし、それぞれで1の目がでる確率が1/6に近いかどうかを調べてみよう。

ヒントにあるように、
x <- floor(runif(600,1,7))
length(x[x==1])/600
とすれば、600回サイコロを振り(1から6までの数が合計600個、 乱数により生成される)、そこから1の出現数の割合を求めることができる。 そこで次のようなコードを実行してみればよい:
dice.simulation <- function(num) {
    x <- floor(runif(num,1,7))
    paste(num,"回中1の目の出現割合は",length(x[x==1])/num)
}

for(i in c(600, 6000, 60000, 600000))  {
  cat(dice.simulation(i),"\n")
}
私のところで実行した結果は以下の通りである。
  600 回中1の目の出現割合は 0.153333333333333
  6000 回中1の目の出現割合は 0.1675
  60000 回中1の目の出現割合は 0.166583333333333
  6e+05 回中1の目の出現割合は 0.167015
このように試行回数が増えれば 1/6 にかなり近くなることが分かる。

演習問題1-3

事象AとBに対し、次の式が成り立つことを示せ: P(B | A) = P(B) P(A|B) / P(A)

:

ヒントにのべたように、事象AとBの積事象が成り立つ確率について述べた次の式を使う:

P(A∩B) = P(A)P(B | A) = P(B) P(A|B)
色を付けた式において、P(A)で割れば、与式が得られる。

演習問題1-4

形状も重さも同じである赤球と白玉がそれぞれ50個ずつある箱から目をつぶって一個取り出してそれが赤球である確率はいくらか。

:

1/2 = 0.50

次に、赤球を10個だけ入れた箱を3箱、赤球10個と白球10個を入れた箱を1箱、赤球10個と白球40個を入れた箱を1箱、合計5箱用意したとする。 そして、まず目をつぶって箱を選び、そこから目をつぶって玉を一個取り出し、それが赤球であった場合の確率を求めよ。そして、先の操作での答と値が違うことを確認せよ。

最初の操作と次の操作では共に赤球と白玉は50個ずつであったが、どうして2回の操作で確率が異なるのか、説明せよ。

:

3/5*1 + 1/5*1/2 + 1/5*1/5 = (60+10+4)/100 = 74/100 = 0.74

今度の場合は赤と白が50個ずつあるところから1個取るのではなく、まず箱を選び 次に箱の中から玉を取り出すという2段階方式であるところが違う。 そして、もしも赤球だけ入った箱を選んだとすれば(その確率は3/5=0.6)、 取り出される球は絶対に赤である。このような球の取り出し方の違い (玉を取り出す状況/条件の違い)が、 確率の違いとなって現れたのである。


演習問題2-1

ある病気であるかどうかの検査で陽性反応が出るという事象をAとし、その病気を実際に発病する事象をEとする。そして、確率が次のように与えられているとする: P(A|E)=0.56, P(A|¬E) = 0.04, P(E)=0.035 この時、検査で陽性反応である確率と、陽性反応が出た時に実際に病気を発病する確率をそれぞれ求めよ。

:

求める確率は、P(A) と P(E|A)である。
仮定から、P(¬A|E) = 1- P(A|E)= 0.44, P(¬A|¬E)=1 - P(A|¬E) =0.96, P(¬E)=1- P(E)=0.965 である。

全確率の定理から

   P(A) = P(A|E)P(E) + P(A|¬E)P(¬E)
        = 0.56 * 0.035 + 0.04*0.965 = 0.0582
ゆえに有効数字の桁数を考慮すると 0.058

ベイズの定理から、

   P(E|A)= P(A|E) P(E) / P(A)
         = 0.56 * 0.035 / 0.0582 = 0.33676975945017185
ゆえに有効数字の桁数を考慮すると 0.34

演習問題2-2

ある適性検査で、適性と判定される事象をTとし、実際に適正があるという事象をEとする。P(E)=0.6, P(T|E)=0.8, P(T|¬E)=0.04のとき、適性と判定されかつ実際に適性である事象の確率を求めよ。

:

求めたいのは、「適性と判定される」事象と、「実際に適性である」事象の積事象である。つまりP(T∩E)を求める。
P(T∩E) = P(T|E) P(E) = 0.80 * 0.60 = 0.48

演習問題2-3

三種類の物体(仮にA,B,C とする) の認識ができるカメラ機構を備えているロボットがある。ロボットは、Aの物体を認識した場合には赤色のLEDを、Bの物体を認識した場合は緑色のLED を、C の物体を認識したら青のLED を点滅させる。ただし、ロボットのカメラ機構は故障することがあり、その場合、ロボットは赤色のLEDを点滅させるものとする。また故障する事前確率はp = 0.01 であることがわかっているとする。 ここで3 種類の物体の中からN 個をランダムに選び、次々にロボットに提示した。すると、すべてロボットは赤色のLED を点滅させた。N = 1の場合、N=2の場合、… N=10の場合、それぞれの場合に対し、ロボットのカメラ機構が壊れている確率を求めよ。

:

ヒントに述べたように考える。

ロボットのセンサーが壊れているという事象をR, i個目の物体を提示したときに赤色のLEDが点滅する事象をLiとする。 すると、問題文から、(その他に情報がない場合の確率は「事前」確率): P(R)=0.01 これにより、ロボットのセンサーが壊れていない(事前)確率P(¬R)は1-P(R)=0.99となる。

ここで、P(Li|R)の意味を考えると、 「ロボットのセンサーが壊れている」という状況のもとで「i番目の赤色LEDが 点滅するという(事後)確率であり、これは常に1である。また P(Li|¬R)の意味を考えると、 「ロボットのセンサーが壊れていない」という状況のもとで 「i番目の赤色LEDが点滅するという(事後)確率であり、 これは各Liが独立事象なら、その値は1/3である。 これらを前提として問題を解く。

N=1 の場合: このとき赤色のLEDが点滅した(という情報がある)のだから、 P(R|L1)が求めるべき(「赤色のLEDが点滅した」という情報が得られた後の確率なので、「事後」)確率である。 ベイズ則から, P(R|L1)=P(L1| R)P(R)/P(L1)、 また全確率の定理から、 P(L1) = P(L | R)P(R) +P(L1|¬R)P(¬R) である。よって、
P(R|L1)=P(L1| R)P(R)/P(L1) = 1*0.01/(1*0.01 + 1/3 * 0.99) = 0.01/0.34 = 0.029 (有効数字2桁)となる。

N=2のときは、L1, L2という二つの事象を考えると、 求めるべきものはP(R|L1∩L2)である。 ベイズ則より、 P(R|L1∩L2)=P(L1∩L2|R)P(R)/P(L1∩L2) ここで、P(L1∩L2)の値は また全確率の定理を用いてP(L1∩L2|R)P(R) + P(L1∩L2|¬R)P(¬R)により求められる。 P(R|L1∩L2)=P(L1∩L2|R)P(R)/P(L1∩L2)= 1*0.01/(1*0.01 + (1/3)^2*0.99) = 0.01/0.12 = 0.083 (有効数字2桁)となる。

N=1とN=2から推測できるように、N=nの場合の故障の確率は 1*0.01/(1*0.01 + (1/3)^n*0.99)で与えられる(証明は略す)。 よって、N=3のときは 0.21、... N=10のときは 0.998 ≒ 1.00 となる。


演習問題3-1

裏表のあるコイン2枚を投げたときに、表の出る枚数の確率関数と分布関数を求めよ。ただし表か裏のどちらかになるものとする。

:

ヒントに従い、 裏表のあるコイン2枚を投げたとき、表が出る枚数を確率変数Xとする。

Xの実現値は0, 1, 2 の3通りであり、離散型の確率変数である。 確率関数は P(X=x)=0 (x≠0,1,2の場合)は明らかなので、P(X=0), P(X=1), P(X=2)の値を求めれば良い。

P(X=0) = 1/22 = 0.25
P(X=1) = 2 * (1/22) = 0.50
P(X=2) = 1/22 = 0.25
分布関数は、 P(X < 0)、P(X ≦ 0)、P(X < 1)、P(X ≦ 1), P(X < 2)、P(X ≦ 2), P(X < ∞) を求めれば良い。
P(X < 0) = 0
P(X ≦ 0) = 0.25
P(X < 1) = 0.25
P(X ≦ 1) = 0.75
P(X < 2) = 0.75
P(X ≦ 2) = 1.0
P(X < ∞) = 1.0
表の形で確率関数と分布関数を表すと以下のようになる:
                  x<0     0    0<x<1      1      1<x<2      2     2<x
------------------------------------------------------------------------
確率関数P(X=x)          0.25             0.50             0.25
分布関数P(X≦x)    0    0.25    0.25     0.75    0.75     1.0     1.0

演習問題3-2

関数f(x )を、 0 < x または π < x のときf(x) = 0
0 ≦ x ≦ π のとき f(x) = (1/2)*sin(x) とする。

問1. f(x )が確率関数の性質(1)と(2)を満たすことを示せ。
問2. f(x)を確率関数としたときの分布関数を表示せよ。
:
問1.
   0 ≦ x ≦ π のとき  0≦ sin(x) であるから性質(1) を満たす
   また、区間[0,π]での(1/2)*sin(x) の積分の値は1であるので、性質(2)を満たす

問2. 
   区間[0,x]での(1/2)*sin(x) の積分の値は (1/2)*(1-cos(x))
   そのグラフはヒントの中に示した

演習問題4-1

期待値の性質の式 E(aX + b) = aE(X)+b が成り立つことを示せ。

:

確率変数が連続型の場合 (∫-∞ とは、‐∞から+∞までの範囲 での積分記号を表すとする)

  E(aX + b) = ∫-∞ x(a*f(x)+b) dx  

  ここで、E(X)=  ∫-∞ x*f(x) dx    かつ ∫-∞ x dx = 1 であるから、

  E(aX + b) = a ∫-∞ x*f(x) dx  + b∫-∞ x dx  
            = a E(X) + b
 確率変数が離散型の場合 Σi=1n は、i=1からnまでの「和」の記号を表すとする
     E(aX + b) = Σi=1n x(a*f(x)+b) 
               = a* Σi=1n x*f(x) + b* Σi=1n x
ここで E(X)=  Σi=1n x*f(x)  かつ  Σi=1n x = 1 であるから
     E(aX + b) = a E(X) + b
以上から証明終了。

演習問題4-2

分散の性質の式 V(X) = E(X2) - {E(X)}2、および V(aX + b) = a2 V(X) が成り立つことを示せ。

:
  V(X) = E((X - E(X))2) 
ここで E(X)はある一定値なのでμで表すと
       = E((X - μ)2) 
       = E(X2 - 2μX + μ2)
       = E(X2) - 2μE(X)+μ2      ここで、Eの性質を用いた
       = E(X2) - 2μ22
       = E(X2) - μ2 = E(X2) - {E(X)}2

   V(aX+b) = E(((aX+b) - E(aX+b))2)
   ここで  E(aX+b) = a E(X) + bであるから
   V(aX+b) = E(((aX+b) - a E(X)- b)2)
           = E((a (X- E(X))2)
	   = a2 E( (X - E(X))2 )
  ここでそもそも V(X)=E( (X-E(X))2 ) なので
   V(aX + b) = a2 V(X)

演習問題4-3

ここにロボットがある。このロボットは、1.0mの前進命令によって移動させると、 その位置がN(1.0, 0.01)に従うことがわかっている。 ここで、そのロボットが原点(x=0)の位置から2.0m前進させる指令を出した(1.0mの移動命令を2回出したものと考えよ)。移動後のロボットの位置の確率分布はどのように表されるか。また、原点から2.0±0.0141 mの範囲にいる確率を求めよ。

:

1.0mの前進命令で移動する距離を確率変数Xで表すと、Xは連続型の確率変数であり、前提から X~N(1.0, 0.01)。 ここで2.0m前進させる指令によって移動した距離は それぞれの指令によって移動する距離は互いに独立である。 このことと正規分布の性質から、平均は1.0×2=2.0 m、 標準偏差は 0.01 ×21/2 = 0.0141 である。 よって、正規分布の性質から、2.0±0.0141の位置にロボットがある確率は 0.68と求まる。

演習5.

ここの説明に従って、いろいろな確率分布の密度関数を描画させてみよう。

解答は省略する