サムネがコーヒーの記事は書きかけです。

期待値と分散 【Pythonで学ぶ統計】

期待値とは

確率変数Xに対して、期待値はE(X)と表されます。この期待値が表しているのは、ある確率変数Xが取る値を確率によって重み付けした値です。

EはExpected valueから来ています。

以下の数式の方がわかりやすいかもしれません。

離散型確率変数のE(X)

$$E(X)=\sum_{i}x_if(x)$$

確率質量関数に確率変数が掛けられているのがわかります。

連続型確率変数のE(X)

離散型を連続型に変形すると以下の様になります。

$$E(X)=\int_{-\infty}^{\infty}xf(x;\mu,\sigma)dx$$

分散

統計学における分散は標準偏差をσとして、

$$V(X)=\sigma^2$$

と表されます。

Vは英語のVarianceからきています。

離散型確率変数のV(X)

$$V(X)=\sum_{i}(x_i-E(x))^2p_i$$

連続型確率変数のV(X)

$$V(X)=\int_{-\infty}^{\infty}(x-E(X))^2f(x;\mu,\sigma)dx$$

ここで、

$$E(X)=μ=C,\int_{-\infty}^{\infty}f(x;\mu,\sigma)dx=1$$

を踏まえると

$$\begin{align}V(X)&=\int_{-\infty}^{\infty}(x-\mu)^2f(x;\mu,\sigma)dx \\ &=\int_{-\infty}^{\infty}(x^2-2x\mu+\mu^2)dx \end{align}$$

このとき、

$$\int_{-\infty}^{\infty}x^2f(x)dx = E(X^2)$$

であるから

$$\begin{align}\\V(X)&=E(X^2)-2\mu^2+\mu^2\\ &=E(X^2)-\{E(X)\}^2\end{align}$$

を得ます。

標準偏差

$$V(X)=\sigma^2$$

から、標準偏差は

$$D(X)=\sigma=\sqrt{V(X)}$$

となります。

これは離散型確率変数でも連続型確率変数に対しても同じです。

例題

例えば、以下のような離散型確率変数について考えてみます。

1が書かれたカードが1000枚,2が書かれたカードが500枚,3が書かれたカードが50枚,4が書かれたカードが10枚、合計1560枚のカードがあるとします。この中から1枚のカードを取り出すとき、書かれた数字Xに対するV(X)を求めてください。

まずは期待値E(X)を求めます。

$$\begin{align}E(X)&=1x_1+2x_2+3x_3+4x_4\\&=\frac{2190}{1560}\end{align}$$

また、

$$\begin{align}E(X^2)&=\sum_{i}x_i^2f(x)\\&=1^2x_1+2^2x_2+3^2x_3+4^2x_4\\&=\frac{3610}{1560}\end{align}$$

よって、

$$\begin{align}V(X)&=E(X^2)-\{E(X)\}^2\\&=\frac{3610}{1560}-(\frac{2190}{1560})^2\\&\simeq0.34\end{align}$$

Pythonでの実装

上記のような問題を解くプログラムについて考えてみます。

import numpy as np 
cards = np.array([1,2,3,4])
cards_2 = np.array([i**2 for i in cards])
cards_num = np.array([1000,500,50,10])
P_X = np.array([int(i)/sum(cards_num) for i in cards_num])
E_X = sum(cards*P_X)
E_X_2 = E_X**2
E_X2 = sum(cards_2*P_X)
print('V(X)= {}'.format(E_X2-E_X_2))

実行結果

V(X)= 0.3433185404339256

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です