• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

正規分布

date: 2017-04-18 excerpt: 正規分布の特性と確認

tag: 統計statistics


正規分布の特性と確認

  • 正規分布を用いた操作を行うときに、直感と感覚が結びつかないことがあり、解析的に出すこともできるが、実際に値を観測してどの様になるかも含める

定義

\[f(x) = \frac{1}{\sqrt{2\pi}\sigma} exp\left( -\frac{(x-\mu)^2}{2 \sigma^2} \right)\]

期待値と分散とモーメント母関数

期待値

\[E[X] = \mu\]

分散

\[V[X] = \sigma^2\]

モーメント母関数

\[\begin{eqnarray*}M_X(t)=e^{\mu t+\frac{1}{2}\sigma^2t^2}\tag{3}\end{eqnarray*}\]

再生性

\[X_i \sim N(\mu_i, \sigma_i^2) \rightarrow X_0 + X_1 \sim N(\mu_0 + \mu_1, \sigma_0^2+\sigma_1^2)\]

正規分布の線形変換

確率変数Xが正規分布に従う時

\[\begin{eqnarray*}Y=aX+b\end{eqnarray*}\]

と変換できる。この時のモーメント母関数は

\[\begin{eqnarray*}M_Y(t)&=&E(e^{ty})\\&=&E(e^{t(ax+b)})\\&=&e^{bt}E(e^{atx})\\&=&e^{bt}M_X(at)\\&=&e^{\left[(a\mu+b)t+\frac{1}{2}(a^2\sigma^2)t^2\right]}\end{eqnarray*}\]

標準化正規分布

\[\begin{eqnarray*}Z&=\frac{X-\mu}{\sigma}&\sim N(0,1)\end{eqnarray*}\]

独立な正規分布が関わり合ったらどうなるか

N(0, 1)の正規分布を前提とする

2つの独立な正規分布の足し算

  • μ->0, σ->1.41になるはずである
  • V[x+y] = V[x] + V[y] + 2Cov[x,y] = 1 + 1 + 0 = 2
import numpy as np
from scipy.stats import norm

SIZE = 10**5
def add_two_norm():
    l = [0]*SIZE
    for i in range(SIZE):
        a = np.random.normal(0, 1)
        b = np.random.normal(0, 1)
        l[i] = a+b
    mu, std = norm.fit(l)
    print("add_two_norm", mu, std)

-> add_two_norm -0.0042628841482406 1.4169660567119584

2つの独立な正規分布の掛け算

  • E[xy]->0, V[xy]->1
def times_two_norm():
    l = [0]*SIZE
    for i in range(SIZE):
        a = np.random.normal(0, 1)
        b = np.random.normal(0, 1)
        l[i] = a*b

    mu, std = norm.fit(l)
    print("times_two_norm", mu, std)

-> times_two_norm -0.0024197422093484348 0.992487254322104

正規分布の結果を10倍して、5足しす

  • E[10x+5] -> E[10x] + 5 -> 10E[x] + 5 -> 10*0 + 5 -> 5
  • V[10x+5] -> V[10x]+V[5]+Cov[10x,5] -> 100V[x], σ -> 10
def k_times_norm():
    l = [0]*SIZE
    for i in range(SIZE):
        a = np.random.normal(0, 1)
        l[i] = 10*a + 5

    mu, std = norm.fit(l)
    print("k_times_norm", mu, std)

-> k_times_norm 4.9767770938339995 9.996086454695526

正規分布の比較

  • 独立であるから、2つの正規分布があるとき、片方が大きいのは0.5になるはずである
  • 独立であるから、3つの正規分布があるとき、A>B & A>Cになるのは、B>A & B>C, C>A & C>Bのうちの一つの事象だから0.333
def comparence():
    l0 = [0]*SIZE
    l1 = [0]*SIZE
    for i in range(SIZE):
        a = np.random.normal(0, 1)
        b = np.random.normal(0, 1)
        c = np.random.normal(0, 1)
        l0[i] = a > b
        l1[i] = (a > b) & (a > c)
    print("two element", np.mean(l0))
    print("three element", np.mean(l1))

-> two element 0.49845
-> three element 0.33291

参考

  • 正規分布


統計statistics Share Tweet