統計学 – 一様分布

概要

連続確率分布の1つである一様分布について解説します。

確率密度関数

確率変数 XX が次のような確率密度関数をもつとき、XX は区間 [a,b][a, b] の(連続)一様分布 (uniform distribution) に従うという。

fX(x)={1baaxb0その他の場合 f_X(x) = \begin{cases} \frac{1}{b – a} & a \le x \le b \\ 0 & その他の場合 \end{cases}

確率密度関数である

1badt=1ba[t]abdt=1 \int_{-\infty}^{\infty} \frac{1}{b – a} dt = \frac{1}{b – a} [t]^b_a dt = 1

累積確率関数

P(Xx)=x1badt P(X \le x) = \int_{-\infty}^x \frac{1}{b – a} dt

x<ax < a の場合、fX(x)=0f_X(x) = 0 なので、

x1badt=0 \int_{-\infty}^x \frac{1}{b – a} dt = 0

axba \le x \le b の場合、

x1badt=ax1badt=xaba \int_{-\infty}^x \frac{1}{b – a} dt = \int_a^x \frac{1}{b – a} dt = \frac{x – a}{b – a}

x>bx > b の場合、fX(x)=0,(x<a,x>b)f_X(x) = 0, (x < a, x > b) なので、

x1badt=ab1badt=1 \int_{-\infty}^x \frac{1}{b – a} dt = \int_a^b \frac{1}{b – a} dt = 1

よって、

P(Xx)={0x<axabaaxb1x>b P(X \le x) = \begin{cases} 0 & x < a \\ \frac{x – a}{b – a} & a \le x \le b \\ 1 & x > b \end{cases}

k 次積率

E[Xk]=abxk1badx=1ba[xk+1k+1]ab=1babk+1ak+1k+1 \begin{aligned} E[X^k] &= \int_a^b x^k \frac{1}{b – a} dx \\ &= \frac{1}{b – a} \left[\frac{x^{k + 1}}{k + 1}\right]_a^b \\ &= \frac{1}{b – a} \frac{b^{k + 1} – a^{k + 1}}{k + 1} \end{aligned}

ここで、bkak=(ba)i=0k1aibk1ib^k – a^k = (b – a) \sum_{i = 0}^{k – 1} a^i b^{k – 1 – i} を利用すると、

1babk+1ak+1k+1=1k+1(ba)i=0kaibkiba=1k+1i=0kaibki \begin{aligned} \frac{1}{b – a} \frac{b^{k + 1} – a^{k + 1}}{k + 1} &= \frac{1}{k + 1} \frac{(b – a) \sum_{i = 0}^k a^i b^{k – i}}{b – a} \\ &= \frac{1}{k + 1} \sum_{i = 0}^k a^i b^{k – i} \end{aligned}

期待値

kk 次積率の結果より、

E[X]=a+b2 \begin{aligned} E[X] = \frac{a + b}{2} \end{aligned}

分散

kk 次積率の結果より、

E[X2]=13(a2+ab+b2) E[X^2] = \frac{1}{3} (a^2 + ab + b^2) Var[X]=E[X2][E(X)]2=13(a2+ab+b2)(a+b)24=a22abb212=(ba)212 \begin{aligned} Var[X] &= E[X^2] – [E(X)]^2 \\ &= \frac{1}{3} (a^2 + ab + b^2) – \frac{(a + b)^2}{4} \\ &= \frac{a^2 – 2ab – b^2}{12} \\ &= \frac{(b – a)^2}{12} \end{aligned}

標準偏差

Std[X]=Var[X]=ba22 Std[X] = \sqrt{Var[X]} = \frac{b – a}{2 \sqrt{2}}

積率母関数

mX(t)=E[etX]=1baabetxdx=1ba[etxt]ab=etbetat(ba) \begin{aligned} m_X(t) &= E[e^{tX}] \\ &= \frac{1}{b – a} \int_a^b e^{tx} dx \\ &= \frac{1}{b – a} \left[\frac{e^{tx}}{t}\right]_a^b \\ &= \frac{e^{tb} – e^{ta}}{t(b – a)} \end{aligned}

scipy.stats の一様分布

scipy.stats.uniform で一様分布に従う確率変数を作成できます。

In [1]:
import numpy as np
import seaborn as sns
from matplotlib import pyplot as plt
from scipy.stats import uniform

sns.set(style="white")

X = uniform(loc=-2, scale=4)
Python

サンプリング

In [2]:
x = X.rvs(size=5)
print(x)
Python
[-0.17091662 -0.53469003  1.35470988 -1.71785535  1.02110735]

確率密度関数

In [3]:
x = np.linspace(-5, 5, 100)
y = X.pdf(x)

fig, ax = plt.subplots()
ax.plot(x, y)
ax.grid()

plt.show()
Python

累積分布関数

In [4]:
x = np.linspace(-5, 5, 100)
y = X.cdf(x)

fig, ax = plt.subplots()
ax.plot(x, y)
ax.grid()

plt.show()
Python

統計量

In [5]:
print("mean", X.mean())
print("var", X.var())
print("std", X.std())
Python
mean 0.0
var 1.3333333333333333
std 1.1547005383792515

コメント

コメントする