誤差関数 (ごさかんすう、英 : error function )は、数学 におけるシグモイド 形状の特殊関数 (非初等関数 )の一種で、確率論 、統計学 、物質科学 、偏微分方程式 などで使われる。ガウスの誤差関数 とも。定義 は以下の通り。
erf ( x ) = 2 π ∫ 0 x e − t 2 d t {\displaystyle \operatorname {erf} \left(x\right)={\frac {2}{\sqrt {\pi }}}\int _{0}^{x}e^{-t^{2}}\,dt}
相補誤差関数 (英 : complementary error function ) は erfc と表記 され、誤差関数 を使って以下のように定義 される。
erfc ( x ) = 1 − erf ( x ) = 2 π ∫ x ∞ e − t 2 d t = e − x 2 erfcx ( x ) {\displaystyle {\begin{aligned}\operatorname {erfc} (x)&=1-\operatorname {erf} (x)\\&={\frac {2}{\sqrt {\pi }}}\int _{x}^{\infty }e^{-t^{2}}\,dt=e^{-x^{2}}\operatorname {erfcx} (x)\end{aligned}}}
スケーリング相補誤差関数 (英 : scaled complementary error function )[1] erfcx も定義 される (アンダーフロー [1] [2] を避けるために、 erfc の代わりに用いる)。
複素誤差関数 (英 : complex error function ) は w ( x ) {\displaystyle w\left(x\right)} と表記 され、やはり誤差関数 を使って次のように定義 される(Faddeeva関数 とも呼ぶ)。
w ( x ) = e − x 2 e r f c ( − i x ) {\displaystyle w\left(x\right)=e^{-x^{2}}{\mathrm {erfc} }(-ix)\,\!}
図2. 被積分関数 exp(−
z 2 ) を複素
z -平面でプロットした図
図3. erf(
z ) を複素
z -平面でプロットした図
誤差関数 は奇関数 である。
任意の複素数 z {\displaystyle z} について、
erf ( − z ) = − erf ( z ) {\displaystyle \operatorname {erf} (-z)=-\operatorname {erf} (z)}
また、次が成り立つ。
erf ( z ∗ ) = erf ( z ) ∗ {\displaystyle \operatorname {erf} (z^{*})=\operatorname {erf} (z)^{*}}
ここで z ∗ {\displaystyle z^{*}} は z {\displaystyle z} の複素共役 である。
被積分関数 f = exp ( − z 2 ) {\displaystyle f=\exp \left(-z^{2}\right)} と f = erf ( − z ) {\displaystyle f=\operatorname {erf} \left(-z\right)} を複素 z - {\displaystyle z\operatorname {-} } 平面にプロットしたものを図2と図3に示す。
虚部 f = Im ( f ) = 0 {\displaystyle f=\operatorname {Im} \left(f\right)=0} となる点を結んだ線を太い緑色の線で表している。 f = Im ( f ) {\displaystyle f=\operatorname {Im} \left(f\right)} が負の整数 となる点 を結んだ線 を太い赤色の線で表し 、正の整数 となる点を結んだ線を太い青色の線で表している。
f = Im ( f ) {\displaystyle f=\operatorname {Im} \left(f\right)} が整数 と整数の中間の一定値 になる点を結んだ線を細い緑色の線で表し、実部 f = Re ( f ) = 0 {\displaystyle f=\operatorname {Re} \left(f\right)=0} が一定値になる点を結んだ線は、正 の場合は青い細い線、負 の場合は赤い細い線で表している。
実軸では、 z → ∞ {\displaystyle z\to \infty } で f = erf ( z ) {\displaystyle f=\operatorname {erf} \left(z\right)} は単位元 (1)に漸近し、 z → − ∞ {\displaystyle z\to -\infty } で単位元(-1)に漸近する。虚軸では、 ± i ∞ {\displaystyle \pm {\rm {i}}\infty } となる。
テイラー級数 誤差関数 は整関数 である。(無限大以外で)特異点 を持たず、テイラー展開 は常に収束 する。
定義 にある積分 は初等関数 を使った閉形式では評価できないが、被積分 関数 exp − z 2 {\displaystyle \exp ^{-z^{2}}} を対応するテイラー級数 に展開して、項 単位 で積分すると、誤差関数 のテイラー級数が以下のように得られる。
erf ( z ) = 2 π ∑ n = 0 ∞ ( − 1 ) n z 2 n + 1 n ! ( 2 n + 1 ) = 2 π ( z − z 3 3 + z 5 10 − z 7 42 + z 9 216 − ⋯ ) {\displaystyle \operatorname {erf} (z)={\frac {2}{\sqrt {\pi }}}\sum _{n=0}^{\infty }{\frac {(-1)^{n}z^{2n+1}}{n!(2n+1)}}={\frac {2}{\sqrt {\pi }}}\left(z-{\frac {z^{3}}{3}}+{\frac {z^{5}}{10}}-{\frac {z^{7}}{42}}+{\frac {z^{9}}{216}}-\ \cdots \right)}
これは全ての複素数 z {\displaystyle z} について成り立つ。[3]
これを反復 的に計算 するには、以下のように定式化するのが扱い易い。
erf ( z ) = 2 π ∑ n = 0 ∞ ( z ∏ k = 1 n − ( 2 k − 1 ) z 2 k ( 2 k + 1 ) ) = 2 π ∑ n = 0 ∞ z 2 n + 1 ∏ k = 1 n − z 2 k {\displaystyle \operatorname {erf} (z)={\frac {2}{\sqrt {\pi }}}\sum _{n=0}^{\infty }\left(z\prod _{k=1}^{n}{\frac {-(2k-1)z^{2}}{k(2k+1)}}\right)={\frac {2}{\sqrt {\pi }}}\sum _{n=0}^{\infty }{\frac {z}{2n+1}}\prod _{k=1}^{n}{\frac {-z^{2}}{k}}}
− ( 2 k − 1 ) z 2 k ( 2 k + 1 ) {\displaystyle {\frac {-(2k-1)z^{2}}{k(2k+1)}}} は k {\displaystyle k} 番目の項から k + 1 {\displaystyle k+1} 番目の項 を得る係数 を表し ている。
f = erf ( z ) {\displaystyle f=\operatorname {erf} \left(z\right)} や f = erfc ( z ) {\displaystyle f=\operatorname {erfc} \left(z\right)} と f = exp ( − z 2 ) {\displaystyle f=\exp \left(-z^{2}\right)} を比較 するには、次の級数 が利用できる。
e z 2 erf ( z ) = 2 π ∑ n = 0 ∞ 2 n z 2 n + 1 ( 2 n + 1 ) ! ! = ∑ n = 0 ∞ z 2 n + 1 Γ ( n + 3 2 ) {\displaystyle e^{z^{2}}\operatorname {erf} (z)={\frac {2}{\sqrt {\pi }}}\sum _{n=0}^{\infty }{\frac {2^{n}z^{2n+1}}{(2n+1)!!}}=\sum _{n=0}^{\infty }{\frac {z^{2n+1}}{\Gamma (n+{\frac {3}{2}})}}}
∞ {\displaystyle \infty } において誤差関数 は正確に1になる(ガウス積分 を参照)。
誤差関数 の導関数 は定義 から即座に求められる。
d d z e r f ( z ) = 2 π e − z 2 {\displaystyle {\frac {\rm {d}}{{\rm {d}}z}}\,\mathrm {erf} (z)={\frac {2}{\sqrt {\pi }}}\,e^{-z^{2}}}
誤差関数 の不定積分 は次のようになる。
z erf ( z ) + e − z 2 π {\displaystyle z\,\operatorname {erf} (z)+{\frac {e^{-z^{2}}}{\sqrt {\pi }}}}
逆関数 逆誤差関数 は次のような級数 となる。
erf − 1 ( z ) = ∑ k = 0 ∞ c k 2 k + 1 ( π 2 z ) 2 k + 1 {\displaystyle \operatorname {erf} ^{-1}\left(z\right)=\sum _{k=0}^{\infty }{\frac {c_{k}}{2k+1}}\left({\frac {\sqrt {\pi }}{2}}z\right)^{2k+1}\,\!}
ここで、 c 0 = 1 {\displaystyle c_{0}=1} であり、
c k = ∑ m = 0 k − 1 c m c k − 1 − m ( m + 1 ) ( 2 m + 1 ) = { 1 , 1 , 7 6 , 127 90 , … } {\displaystyle c_{k}=\sum _{m=0}^{k-1}{\frac {c_{m}c_{k-1-m}}{(m+1)(2m+1)}}=\left\{1,1,{\frac {7}{6}},{\frac {127}{90}},\ldots \right\}}
となる。従って、次のような級数の展開が得られる(分子 と分母 に共通して出現する係数 は省いてある)。[4] [5]
erf − 1 ( z ) = 1 2 π ( z + π 12 z 3 + 7 π 2 480 z 5 + 127 π 3 40320 z 7 + 4369 π 4 5806080 z 9 + 34807 π 5 182476800 z 11 + ⋯ ) {\displaystyle \operatorname {erf} ^{-1}(z)={\frac {1}{2}}{\sqrt {\pi }}\left(z+{\frac {\pi }{12}}z^{3}+{\frac {7\pi ^{2}}{480}}z^{5}+{\frac {127\pi ^{3}}{40320}}z^{7}+{\frac {4369\pi ^{4}}{5806080}}z^{9}+{\frac {34807\pi ^{5}}{182476800}}z^{11}+\cdots \right)\,\!}
なお、誤差関数 の正 と負の無限大 での値 はそれぞれ正と負の 1 {\displaystyle 1} となる。
一連の何らかの測定 値 が正規分布 になっていて、標準偏差 が σ {\displaystyle \sigma } 、期待値 が 0 {\displaystyle 0} の場合、1つの測定値の誤差が − a {\displaystyle -a} と a {\displaystyle a} の間になる確率 は erf ( a σ 2 ) {\displaystyle \operatorname {erf} \,\left(\,{\frac {a}{\sigma {\sqrt {2}}}}\,\right)} である。これは、例えば、デジタル 通信 システム での符号誤り率 の特定などに使える。
誤差関数 と相補誤差関数 は例えば、境界条件 をヘヴィサイドの階段関数 で与えたときの熱方程式 の解 に出現する。
erf x + erfc x ≡ 1 {\displaystyle \operatorname {erf} x+\operatorname {erfc} x\equiv 1} で、 x {\displaystyle x} の増加に伴って erf x {\displaystyle \operatorname {erf} x} 、 erfc x {\displaystyle \operatorname {erfc} x} はそれぞれ急速に1, 0 に近づくため、クーロン力 1 / r {\displaystyle 1/r} などの長距離相互作用を短距離成分 erfc r / r {\displaystyle \operatorname {erfc} r/r} と長距離成分 erf r / r {\displaystyle \operatorname {erf} r/r} に分けるのに用いられる(エバルトの方法 )。
漸近展開 相補誤差関数 (および誤差関数 )の大きな x {\displaystyle x} についての漸近展開 は次のようになる。
e r f c ( x ) = e − x 2 x π [ 1 + ∑ n = 1 ∞ ( − 1 ) n 1 ⋅ 3 ⋅ 5 ⋯ ( 2 n − 1 ) ( 2 x 2 ) n ] = e − x 2 x π ∑ n = 0 ∞ ( − 1 ) n ( 2 n ) ! n ! ( 2 x ) 2 n {\displaystyle \mathrm {erfc} \left(x\right)={\frac {e^{-x^{2}}}{x{\sqrt {\pi }}}}\left[1+\sum _{n=1}^{\infty }(-1)^{n}{\frac {1\cdot 3\cdot 5\cdots (2n-1)}{(2x^{2})^{n}}}\right]={\frac {e^{-x^{2}}}{x{\sqrt {\pi }}}}\sum _{n=0}^{\infty }(-1)^{n}{\frac {(2n)!}{n!(2x)^{2n}}}\,}
この級数 は(有限な ) x {\displaystyle x} については発散する。しかし、最初の方の幾つかの項 だけで erfc ( x ) {\displaystyle \operatorname {erfc} \left(x\right)} のよい近似 が得られ、テイラー展開 よりも収束 が早い。
初等関数による近似 次のような近似 がある。
erf 2 ( x ) ≈ 1 − exp ( − x 2 4 / π + a x 2 1 + a x 2 ) {\displaystyle \operatorname {erf} ^{2}\left(x\right)\approx 1-\exp \left(-x^{2}{\frac {4/\pi +ax^{2}}{1+ax^{2}}}\right)}
ここで、
a = − 8 ( π − 3 ) 3 π ( π − 4 ) {\displaystyle a=-{\frac {8\left(\pi -3\right)}{3\pi \left(\pi -4\right)}}}
このような近似(曲線あてはめ )は、実軸付近の誤差関数の値について、少なくとも十進で1桁の精度はある。
誤差関数 は正規分布 の累積分布関数(CDF) Φ {\displaystyle \Phi } と基本的には同じであり、単にスケールと解釈が異なるだけである。実際、標準正規分布について次の関係が成り立つ。
Φ ( x ) = 1 2 [ 1 + erf ( x 2 ) ] = 1 2 erfc ( − x 2 ) {\displaystyle \Phi \left(x\right)={\frac {1}{2}}\left[1+{\mbox{erf}}\left({\frac {x}{\sqrt {2}}}\right)\right]={\frac {1}{2}}\,{\mbox{erfc}}\left(-{\frac {x}{\sqrt {2}}}\right)}
また、 erf {\displaystyle \operatorname {erf} } および erfc {\displaystyle \operatorname {erfc} } について変形すると次のようになる。
e r f ( x ) = 2 Φ ( x 2 ) − 1 e r f c ( x ) = 2 [ 1 − Φ ( x 2 ) ] {\displaystyle {\begin{aligned}\mathrm {erf} \left(x\right)&=2\Phi \left(x{\sqrt {2}}\right)-1\\\mathrm {erfc} \left(x\right)&=2\left[1-\Phi \left(x{\sqrt {2}}\right)\right]\end{aligned}}}
従って、誤差関数 は、正規分布 におけるテール確率 である(Q関数 )とも密接に関連する。Q関数は誤差関数 を使って次のように表現 できる。
Q ( x ) = 1 2 − 1 2 erf ( x 2 ) {\displaystyle Q\left(x\right)={\frac {1}{2}}-{\frac {1}{2}}\operatorname {erf} {\Bigl (}{\frac {x}{\sqrt {2}}}{\Bigr )}}
Φ {\displaystyle \Phi \,} の逆関数 は標準分位関数 またはプロビット関数 として知られており、逆誤差関数 を使って次のように表現できる。
probit ( p ) = Φ − 1 ( p ) = 2 erf − 1 ( 2 p − 1 ) = − 2 erfc − 1 ( 2 p ) {\displaystyle \operatorname {probit} (p)=\Phi ^{-1}(p)={\sqrt {2}}\,\operatorname {erf} ^{-1}(2p-1)=-{\sqrt {2}}\,\operatorname {erfc} ^{-1}(2p)}
確率論 や統計学 では標準正規分布の累積分布関数の方がよく使われ、誤差関数 は他の数学の分野で使われる傾向がある。
誤差関数 は(ミッタク=レフラー関数 )の特殊ケースであり、(合流型超幾何微分方程式 )としても以下のように表現できる。
e r f ( x ) = 2 x π 1 F 1 ( 1 2 , 3 2 , − x 2 ) {\displaystyle \mathrm {erf} \left(x\right)={\frac {2x}{\sqrt {\pi }}}\,_{1}F_{1}\left({\frac {1}{2}},{\frac {3}{2}},-x^{2}\right)}
フレネル積分 を使った単純な表現法もある。正規化ガンマ関数 P {\displaystyle P} と不完全ガンマ関数 を使うと、次のように表せる。
erf ( x ) = sgn ( x ) P ( 1 2 , x 2 ) = sgn ( x ) π γ ( 1 2 , x 2 ) {\displaystyle \operatorname {erf} \left(x\right)=\operatorname {sgn} \left(x\right)P\left({\frac {1}{2}},x^{2}\right)={\operatorname {sgn} \left(x\right) \over {\sqrt {\pi }}}\gamma \left({\frac {1}{2}},x^{2}\right)}
sgn ( x ) {\displaystyle \operatorname {sgn} \left(x\right)\ } は符号関数 である。
一般化された誤差関数
一般化された
誤差関数 E n ( x ) {\displaystyle E_{n}\left(x\right)} のグラフ:
灰色:
E 1 ( x ) = ( 1 − exp − x ) π {\displaystyle E_{1}\left(x\right)={\frac {\left(1-\exp ^{-x}\right)}{\sqrt {\pi }}}} 赤:
E 2 ( x ) = erf ( x ) {\displaystyle E_{2}\left(x\right)=\operatorname {erf} \left(x\right)} 緑:
E 3 ( x ) {\displaystyle E_{3}\left(x\right)} 青:
E 4 ( x ) {\displaystyle E_{4}\left(x\right)} 金:
E 5 ( x ) {\displaystyle E_{5}\left(x\right)} 書籍 によっては、より一般化した関数 を論じている場合もある。
E n ( x ) = n ! π ∫ 0 x e − t n d t = n ! π ∑ p = 0 ∞ ( − 1 ) p x n p + 1 ( n p + 1 ) p ! {\displaystyle E_{n}\left(x\right)={\frac {n!}{\sqrt {\pi }}}\int _{0}^{x}e^{-t^{n}}\,\mathrm {d} t={\frac {n!}{\sqrt {\pi }}}\sum _{p=0}^{\infty }(-1)^{p}{\frac {x^{np+1}}{(np+1)p!}}\,}
例えば、
E 0 ( x ) {\displaystyle E_{0}\left(x\right)} は原点 を通る直線 E 0 ( x ) = x e π {\displaystyle E_{0}\left(x\right)={\frac {x}{e{\sqrt {\pi }}}}} となる。 E 2 ( x ) {\displaystyle E_{2}\left(x\right)} は誤差関数 erf ( x ) {\displaystyle \operatorname {erf} \left(x\right)} である。 n ! {\displaystyle n!} で割る と、奇数 の n {\displaystyle n} についての E n {\displaystyle E_{n}} は互いに似たようなものになる(完全に一致する事は無い)。 同様に、偶数 の n {\displaystyle n} についての E n {\displaystyle E_{n}} も n ! {\displaystyle n!} で割ると互いに似たものになる(完全に一致する事は無い)。 n > 0 {\displaystyle n>0} での全ての一般化された誤差関数 の x {\displaystyle x} が正 のときのグラフ は互いに似ている。
これらの一般化された誤差関数 も x > 0 の場合にガンマ関数 と不完全ガンマ関数 を使って次のように表せ る。
E n ( x ) = Γ ( n ) ( Γ ( 1 n ) − Γ ( 1 n , x n ) ) π , x > 0 {\displaystyle E_{n}\left(x\right)={\frac {\Gamma (n)\left(\Gamma \left({\frac {1}{n}}\right)-\Gamma \left({\frac {1}{n}},x^{n}\right)\right)}{\sqrt {\pi }}},\quad \quad x>0}
従って、誤差関数 は不完全ガンマ関数を使って次のように表せる。
erf ( x ) = 1 − Γ ( 1 2 , x 2 ) π {\displaystyle \operatorname {erf} \left(x\right)=1-{\frac {\Gamma \left({\frac {1}{2}},x^{2}\right)}{\sqrt {\pi }}}}
相補誤差関数の累次積分 相補誤差関数 の累次積分 は次のように定義 される。
i n erfc ( z ) = ∫ z ∞ i n − 1 erfc ( ζ ) d ζ {\displaystyle \mathrm {i} ^{n}\operatorname {erfc} \,(z)=\int _{z}^{\infty }\mathrm {i} ^{n-1}\operatorname {erfc} \,(\zeta )\;\mathrm {d} \zeta \,}
これらには次のような冪級数 がある。
i n erfc ( z ) = ∑ j = 0 ∞ ( − z ) j 2 n − j j ! Γ ( 1 + n − j 2 ) {\displaystyle \mathrm {i} ^{n}\operatorname {erfc} \,(z)=\sum _{j=0}^{\infty }{\frac {(-z)^{j}}{2^{n-j}j!\Gamma \left(1+{\frac {n-j}{2}}\right)}}\,}
ここから次のような対称性 が得られる。
i 2 m erfc ( − z ) = − i 2 m erfc ( z ) + ∑ q = 0 m z 2 q 2 2 ( m − q ) − 1 ( 2 q ) ! ( m − q ) ! {\displaystyle \mathrm {i} ^{2m}\operatorname {erfc} (-z)=-\mathrm {i} ^{2m}\operatorname {erfc} \,(z)+\sum _{q=0}^{m}{\frac {z^{2q}}{2^{2(m-q)-1}(2q)!(m-q)!}}}
および、
i 2 m + 1 erfc ( − z ) = i 2 m + 1 erfc ( z ) + ∑ q = 0 m z 2 q + 1 2 2 ( m − q ) − 1 ( 2 q + 1 ) ! ( m − q ) ! {\displaystyle \mathrm {i} ^{2m+1}\operatorname {erfc} (-z)=\mathrm {i} ^{2m+1}\operatorname {erfc} \,(z)+\sum _{q=0}^{m}{\frac {z^{2q+1}}{2^{2(m-q)-1}(2q+1)!(m-q)!}}\,}