simonの開発日記

文系が数学や統計学に挑む

誤差関数とは

f:id:simonsnote:20171031224528p:plain:w300


前提知識

正規分布

誤差関数の定義

誤差関数はガウス直々の定義らしく、以下のように定義される。

定義:誤差関数 \displaystyle erf(x)=\frac{2}{\sqrt{\pi}}\int_0^x e^{-t^2}dt

\displaystyle x \to \infty とすると、誤差関数は1となる。

\displaystyle erf(\infty)=\frac{2}{\sqrt{\pi}}\int_0^\infty e^{-t^2}dt=1

なので、このように \displaystyle erfc(x) を定義できる。

定義:\displaystyle erfc(x)=1-erf(x)=\frac{2}{\sqrt{\pi}}\int_x^\infty e^{-t^2}dt

この \displaystyle erf(x)\displaystyle erfc(x) のどちらも誤差関数と呼ぶが、ふつう誤差関数といえば \displaystyle erf(x) を指す。

誤差関数の意味

それではこの誤差関数はなにを表す関数なのか?

名前の通り、誤差がある範囲に収まる確率を表す。そういう意味で、正規分布つまり誤差分布とおなじことを違うかたちで書いているともいえる。

正規分布との関係

誤差関数は、正規分布を違うかたちで表したものともいえる。

誤差の収まる範囲

あらゆる誤差は正規分布に従うとされているので、誤差が \pm a\sigma に収まる確率は、標準正規分布のPDF-a から a まで積分すれば求まる。(誤差なので、いうまでもなく平均は0)

f:id:simonsnote:20171031192308p:plain:w400
すると、これを誤差関数で表せる。
\displaystyle \int_{-a}^{a}pdf_{SND}(x)dx=\frac{2}{\sqrt{\pi}}\int_0^\frac{a}{\sqrt{2}} e^{-t^2}dt=erf(\frac{a}{\sqrt{2}})


ただし、\displaystyle pdf_{SND}(x)=\frac{1}{\sqrt{2\pi}}e^{-\frac{x^2}{2}} (標準正規分布のPDF)

f:id:simonsnote:20171031225752p:plain:w400

つまり、 \displaystyle erf(x) とは、誤差が \pm \sqrt{2}x\sigma の範囲に収まる確率そのものといえる。

\displaystyle erf(x)=P\left[\ -\sqrt{2}x\sigma \leq 誤差\leq\sqrt{2}x\sigma\ \right]

導出

誤差が \pm a\sigma に収まる確率(=標準正規分布のPDFを -a から a まで積分)を誤差関数で表したいから、

\displaystyle \int_{-a}^{a}\frac{1}{\sqrt{2\pi}}e^{-\frac{x^2}{2}}dx=\int_0^{f(a)}\frac{2}{\sqrt{\pi}}e^{-x^2}dx (右辺は erf(f(a))

となる f(a) を求める。( \displaystyle erf(\infty)=1,\ \int_{-\infty}^\infty pdf(x)dx=1 なので、解は存在する)

両辺を \displaystyle \times \frac{1}{2} (標準正規分布は0を中心に左右対称なので、\frac{1}{2}\int_{-a}^a pdf_{SND}(x)dx=\int_{0}^a pdf_{SND}(x)dx

\displaystyle \frac{1}{\sqrt{2\pi}}\int_{0}^{a}e^{-\frac{x^2}{2}}dx=\frac{1}{\sqrt{\pi}}\int_0^{f(a)}e^{-x^2}dx

両辺を微分(定積分の微分公式より)

左辺:\displaystyle \frac{d}{da}\,\bigl(\ \frac{1}{\sqrt{2\pi}}\int_{0}^{a}e^{-\frac{x^2}{2}}dx\ \bigr)=\frac{1}{\sqrt{2\pi}}(e^{-\frac{a^2}{2}}\times 1 -e^{-\frac{0^2}{2}}\times 0)= \frac{1}{\sqrt{2\pi}}e^{-\frac{a^2}{2}}

右辺:\displaystyle \frac{d}{da}\,\bigl(\ \frac{1}{\sqrt{\pi}}\int_0^{f(a)}e^{-x^2}dx\ \bigr)=\frac{1}{\sqrt{\pi}}(e^{-f(a)^2}\times f'(a) -e^{-0^2}\times 0)= \frac{f'(a)}{\sqrt{\pi}}e^{-f(a)^2}

左辺=右辺とすると

\displaystyle \frac{1}{\sqrt{2\pi}}e^{-\frac{a^2}{2}}= \frac{f'(a)}{\sqrt{\pi}}e^{-f(a)^2}

\displaystyle \frac{1}{\sqrt{2}}\, e^{-\frac{a^2}{2}}= f'(a) \, e^{-f(a)^2}

つまり、

\displaystyle \begin{eqnarray}
  \left\{
    \begin{array}{l}
\displaystyle  \   \frac{1}{\sqrt{2}}=f'(a) \\\\
\displaystyle \    -\frac{a^2}{2}=-f(a)^2
    \end{array}
  \right.
\end{eqnarray}

なので、これを満たす f(a)

\displaystyle f(a)=\frac{a}{\sqrt{2}}

と求まる。

標準正規分布のCDFを誤差関数で表す

上を踏まえると、標準正規分布のCDF(累積分布関数)を誤差関数で表せる。

\displaystyle CDF_{SND}(a)=\frac{1}{2}\  +\  \frac{1}{2}\, erf(\frac{a}{\sqrt{2}})

f:id:simonsnote:20171031230104p:plain:w400

導出

上のグラフを見れば一目瞭然だが、一応。

\displaystyle \begin{eqnarray}CDF_{SND}(a)&=&\int_{-\infty}^a pdf_{SND}(x)dx\\\\
&=&\int_{-\infty}^0 pdf_{SND}(x)dx + \int_0^a pdf_{SND}(x)dx\end{eqnarray}

\displaystyle \int_{-\infty}^0 pdf_{SND}(x)dx=\frac{1}{2},\ \  \int_0^a pdf_{SND}(x)dx=\frac{1}{2}\int_{-a}^a pdf_{SND}(x)dx なので

\displaystyle CDF_{SND}(a)=\frac{1}{2}\  +\  \frac{1}{2}\int_{-a}^a pdf_{SND}(x)dx

ここで、上で示したように \displaystyle \int_{-a}^{a}pdf_{SND}(x)dx=erf(\frac{a}{\sqrt{2}}) なので

\displaystyle CDF_{SND}(a)=\frac{1}{2}\  +\  \frac{1}{2}\, erf(\frac{a}{\sqrt{2}})