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

σ区間とは 【Pythonで学ぶ統計】

68,95,99.7則

正規分布に従う確率変数Xに関して、以下のようなことが言えます。

68,95,99.7則
・1σ区間に収まる確率→68%
・2σ区間に収まる確率→95%
・3σ区間に収まる確率→99.7%

この時、

$P(-\sigma\leq X-\mu\leq\sigma)\simeq 0.68$

$P(-2\sigma\leq X-\mu\leq 2\sigma)\simeq 0.95$

$P(-3\sigma\leq X-\mu\leq 3\sigma)\simeq 0.997$

が成り立ちます。

Pythonで確認

以下の標準正規分布について考えます。

$$X_i∽N(0,1)$$

プロットすると、

import numpy as np
import sympy as sp 
from scipy.stats import norm
import math
import matplotlib.pyplot as plt
fig = plt.figure()
mu = 0
sigma = 1 
sp.init_printing(use_unicode=True)
x = sp.symbols("x")
PDF = (1/(sp.sqrt(2*sp.pi*sigma**2)))*sp.exp(-(((x-mu)**2)/(2*sigma**2)))
X = np.arange(-5,5,0.1)
Y= norm.pdf(X,mu,sigma)
plt.plot(X,Y)
fig.savefig('result.png',dpi=500)

出力結果

1σ区間積分

1σ区間を積分して求めてみます。

$\begin{align}P(\sigma)&=\int_{\mu-\sigma}^{\mu+\sigma}f(x;\mu,\sigma^2)dx\\&=\int_{\mu-\sigma}^{\mu+\sigma}\dfrac{1}{\sqrt{2\pi}\sigma}\exp(-\dfrac{(x-\mu)^ 2}{2\sigma^ 2})dx\end{align}$

より、

import sympy as sp 
import numpy as np 
sp.init_printing(use_unicode=True)
x = sp.symbols("x")
sigma = 1
mu = 0
f = 1/(sp.sqrt(np.pi*2))*sp.exp(-(x**2)/2)
print(sp.integrate(f,(x,mu-sigma,mu+sigma)).evalf())

実行結果

0.682689492137086

68%に近いことがわかります。

nσ区間積分

nσ区間での積分について考えてみます。

1σ区間のσがnσになることは簡単にわかると思います。

$\begin{align}P(n\sigma)&=\int_{\mu-n\sigma}^{\mu+n\sigma}f(x;\mu,\sigma^2)dx\\&=\int_{\mu-n\sigma}^{\mu+n\sigma}\dfrac{1}{\sqrt{2\pi}\sigma}\exp(-\dfrac{(x-\mu)^ 2}{2\sigma^ 2})dx\end{align}$

n=10の時、積分結果をグラフに出力してみます。

import sympy as sp 
import numpy as np 
import matplotlib.pyplot as plt 
fig = plt.figure()
plt.xlabel('n')
plt.ylabel('P')
sp.init_printing(use_unicode=True)
x = sp.symbols("x")
sigma = 1
mu = 0
n=10
f = 1/(sp.sqrt(np.pi*2))*sp.exp(-(x**2)/2)
int_result = [sp.integrate(f,(x,mu-i*sigma,mu+i*sigma)).evalf() for i in range(1,n)]
n = [i+1 for i in range(len(int_result))]
plt.scatter(n,int_result)
fig.savefig('result.png',dpi=500)
for i in range(len(int_result)):
    print('n={}:'.format(i)+str(int_result[i]))

実行結果

n=0:0.682689492137086
n=1:0.954499736103642
n=2:0.997300203936740
n=3:0.999936657516334
n=4:0.999999426696856
n=5:0.999999998026825
n=6:0.999999999997440
n=7:0.999999999999999
n=8:1.00000000000000

1に漸近していることがわかりますね。

コメントを残す

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