こんにちわ!yamuです!
今回は前回記事で説明した
確率分布の一つ
離散分布について解説していきます!
離散分布の
期待値と分散の公式と
意味を例題を使いながら
解説していきます。
- 離散分布の期待値と分散の公式を知りたい
- 離散分布の期待値と分散を本質的に理解したい
目次
期待値とは?
期待値(Expected Value)は
確率論や統計学などの数学的な概念で
ある事象が発生する確率と
その事象がもたらす変数を考慮して
変数の平均的な値もしくは
確率分布の重心を表す量です。
つまり期待値は観測データの平均値に
対応する概念であり理論的な確率分布の
平均であることが分かる。
簡単に言うと期待値とは
ある試行を行った時
理想的な一番出る確率の高い変数
のことなんですね!
次に離散分布の期待値の
公式を紹介していきます。
離散分布について詳細を
知りたい方は下記の記事を
参照してください
離散分布の期待値
xが離散型確率変数の時
\(\displaystyle E(x)=\sum_{i=1}^{∞} x_i f_i\)
xの関数g(x)の期待値は
\(\displaystyle E(x)=\sum_{i=1}^{∞} g(x)f_i\)
【例題】サイコロの出目の期待値
サイコロを1個投げたときに出る目をxと置き
出る目に応じて商品券を獲得できる。
商品券を賞金に換算したものを
下記の表にまとめるとする
出る目の期待値,商品券の金額の期待値を求めよ
出目\(x\) | 商品券(円)\(g(x)\) | 確率分布\(f_i) |
1 | 100 | \(\displaystyle \frac{1}{6}\) |
2 | 300 | \(\displaystyle \frac{1}{6}\) |
3 | 500 | \(\displaystyle \frac{1}{6}\) |
4 | 800 | \(\displaystyle \frac{1}{6}\) |
5 | 1000 | \(\displaystyle \frac{1}{6}\) |
6 | 800 | \(\displaystyle \frac{1}{6}\) |
出目xの期待値E(x)は
\(\displaystyle E(x)=1×\frac{1}{6}+2×\frac{1}{6}+3×\frac{1}{6}+4×\frac{1}{6}+5×\frac{1}{6}\)
\(\displaystyle +6×\frac{1}{6}\)
\(=3.5\)
商品券g(x)の期待値E(g(x))は
\(\displaystyle E(x)=100×\frac{1}{6}+300×\frac{1}{6}+500×\frac{1}{6}\)
\(\displaystyle +800×\frac{1}{6}+1000×\frac{1}{6}+800×\frac{1}{6}\)
\(=583(円)\)
出目の期待値は3.5,商品券の獲得金額の期待値は583円になる
サイコロを無限回投げて
平均を求めてみたら
理想的な出目は3.5
理想的な商品券の金額は
583円相当なんですね!果たして
そうなるんでしょうか?
pythonを使って確認
してみます。
出目と賞金の期待値の実験
サイコロを10回,50回,100回,1000回降って
出目の平均、商品券の賞金の平均を観測する
Pythonを利用してサイコロの確率モデル
を作成する
サイコロの出目の平均
商品券の獲得賞金の平均を
計算するコード作りました。
黄色い下線の変数を変えることで
試行回数を変更できます。
コードそのまま使えますよ!
結果だけ確認したい方は
コードは読み飛ばしちゃって
ください
実験に使ったコード
#サイコロを振る試行回数
import numpy as np
#平均の計算の関数
def expect(nn):
expected_value = sum(x for x in nn)/len(nn)
return expected_value
#試行回数
num1=10
num2=50
num3=100
num4=1000
#サイコロの出目
dice_data=np.array([1,2,3,4,5,6])
#サイコロモデル
dice_model=np.random.choice(dice_data,num1)
print("x=",dice_model)
#確率配列初期化
P=np.zeros(len(dice_model))
G=np.zeros(len(dice_model))
for i in range(len(dice_model)):
#一様な確率を配列に入れる
P[i]=1/6
#引換券の賞金を配列に入れる
if dice_model[i]==1:
G[i]=100
elif dice_model[i]==2:
G[i]=300
elif dice_model[i]==3:
G[i]=500
elif dice_model[i]==4:
G[i]=800
elif dice_model[i]==5:
G[i]=1000
elif dice_model[i]==6:
G[i]=800
print("g(x)=",G)
#出目の平均
X=expect(dice_model)
print("E[x]=",X)
#賞金の平均
gx=expect(G)
print("E[g(x)]=",gx)
計算結果はコードのprint関数を利用して下記のように確認できる
実験結果
コードの黄色い下線部
np.random.choice(dice_data,num1)
10回,50回,100回,1000回
と変更していきます。
結果を表にします
試行回数 | 10回 | 50回 | 100回 | 1000回 |
E[x] | 4.7 | 3.42 | 3.54 | 3.505 |
E[g(x)] | 810 | 578 | 583 | 581.4 |
以上の結果から期待値E[x]は計測値を
無限回得たときの平均であることが分かる。
母平均の定義
無限回観察すれば母集団の様子を完全に
理解することが出来るからE(x)は母集団の
中心を表していることが分かる。
母集団μはE(x)を表していることが分かる
\(μ=E[x]\)
期待値の性質
- \(xを確率変数,a,bを定数とする時\)
\(E[ax+b]=aE[x]+b\) - \(xとy2つの確率変数が存在する時\)
\(E[x+ y]=E[x]+E[y]\) - \(xとyが独立であれば)
\(E[xy]=E[x]E[y]\) - \(x_iを確率変数,a_iを定数とすれば\)
\(E[a_1x_1+a_2x_2…a_nx_n]\)
\(=a_1E[X_1]+a_2E[X_2]+…a_nE[X_n]\)
離散分布の分散
離散分布の分散(Variance)は
確率変数が取りうる値とその確率の組み合わせから計算されます。
分散は、各値が平均からどれだけ離れているかを示す尺度で
次のように計算されます。
\(σ^2=V[x]=E[(x-E[x])^2]= \displaystyle \sum_{i=1}^{n}(x_i-E[x])^2f_i\)
標準偏差\(D[x]\)は
\(D[x]=\sqrt{V[x]}\)
\(σ^2\)は母分散です。
分散の性質1
\(V[x]=E[x^2]-μ^2\)
\(V[ax+b]=a^2V(x)\)
最初の式を証明していきます!
\(V[x]=E[x^2]-μ^2\)の証明
\(V[x]=E[(x-E[x])^2]\)を展開すると
\(V[x]=E[x^2-2xE[x]+(E[x])^2]\)
\(μ=E[x]\)より\(E[x]\)に\(μ\)を代入すると
\(=E[x^2]-2μE[x]+μ^2\)
\(V[x]=E[x^2]-μ^2\)
【例題】サイコロの出目の分散
サイコロの分散と標準偏差を求めよ
分散は\(V[x]=E[x^2]-μ^2\)
\(μは例題1よりμ=3.5\)…(1)
\( \displaystyle E[x^2]=1^2・\frac{1}{6}+2^2・\frac{1}{6}+\)
\( \displaystyle 3^2・\frac{1}{6}+4^2・\frac{1}{6}+5^2・\frac{1}{6}+6^2・\frac{1}{6}\)
\(=15.66\)…(2)
(1)(2)より\(V[x]=E[x^2]-μ^2\)は
\(=15.66-3.5^2\)
\(=3.41\)
標準偏差は\(D[x]=\sqrt{V[x]}\)より
\(D[x]=\sqrt{3.41}\)
\(=1.84\)
サイコロの確率変数は
μ=3.5から±1.84の区間に
68%収まっていることが分かった。
分散の性質2
- \(xとyが独立なら\)
\(V(x)+V(y)\) - \(x_1,x_2,…x_nが独立なら\)
\(V(a_1x_1+a_2x_2+…+a_nx_n)\)
\(=a_1^2V(x_1)+a_2^2V(x_2)…+a_n^2V(x_n)\)
参考文献
まとめ
今回は離散分布の期待値と分散の公式と
意味を例題を使いながら解説していきした。
本当はベルヌーイ,二項分布,ポアソン分布などの
確率分布紹介したかったのですが
毎度書きたいことが増えていくので記事が長くなる…何故?
ありがとうございました!