График функции ошибок
Функция ошибок (также упоминается как интеграл вероятности) — неэлементарная функция , возникающая в теории вероятностей , статистике и теории дифференциальных уравнений в частных производных . Она определяется как
erf
x
=
2
π
∫
0
x
e
−
t
2
d
t
{\displaystyle \operatorname {erf} \,x={\frac {2}{\sqrt {\pi }}}\int \limits _{0}^{x}e^{-t^{2}}\,\mathrm {d} t}
.
Дополнительная функция ошибок , обозначаемая
erfc
x
{\displaystyle \operatorname {erfc} \,x}
(иногда применяется обозначение
Erf
x
{\displaystyle \operatorname {Erf} \,x}
) определяется через функцию ошибок:
erfc
x
=
1
−
erf
x
=
2
π
∫
x
∞
e
−
t
2
d
t
{\displaystyle \operatorname {erfc} \,x=1-\operatorname {erf} \,x={\frac {2}{\sqrt {\pi }}}\int \limits _{x}^{\infty }e^{-t^{2}}\,\mathrm {d} t}
.
Комплексная функция ошибок , обозначаемая
w
(
x
)
{\displaystyle w(x)}
, также определяется через функцию ошибок:
w
(
x
)
=
e
−
x
2
erfc
(
−
i
x
)
{\displaystyle w(x)=e^{-x^{2}}\operatorname {erfc} \,(-ix)}
.
Свойства
erf
(
−
x
)
=
−
erf
x
.
{\displaystyle \operatorname {erf} \,(-x)=-\operatorname {erf} \,x.}
Для любого комплексного
x
{\displaystyle x}
выполняется
erf
x
¯
=
erf
x
¯
{\displaystyle \operatorname {erf} \,{\bar {x}}={\overline {\operatorname {erf} \,x}}}
где черта обозначает комплексное сопряжение числа
x
{\displaystyle x}
.
Функция ошибок не может быть представлена через элементарные функции , но, разлагая интегрируемое выражение в ряд Тейлора и интегрируя почленно, мы можем получить её представление в виде ряда:
erf
x
=
2
π
∑
n
=
0
∞
(
−
1
)
n
x
2
n
+
1
n
!
(
2
n
+
1
)
=
2
π
(
x
−
x
3
3
+
x
5
10
−
x
7
42
+
x
9
216
−
⋯
)
{\displaystyle \operatorname {erf} \,x={\frac {2}{\sqrt {\pi }}}\sum _{n=0}^{\infty }{\frac {(-1)^{n}x^{2n+1}}{n!(2n+1)}}={\frac {2}{\sqrt {\pi }}}\left(x-{\frac {x^{3}}{3}}+{\frac {x^{5}}{10}}-{\frac {x^{7}}{42}}+{\frac {x^{9}}{216}}-\ \cdots \right)}
Это равенство выполняется (и ряд сходится) как для любого вещественного
x
{\displaystyle x}
, так и на всей комплексной плоскости , согласно признаку Д’Аламбера . Последовательность знаменателей образует последовательность A007680 в OEIS .
Для итеративного вычисления элементов ряда полезно представить его в альтернативном виде:
erf
x
=
2
π
∑
n
=
0
∞
(
x
∏
i
=
1
n
−
(
2
i
−
1
)
x
2
i
(
2
i
+
1
)
)
=
2
π
∑
n
=
0
∞
x
2
n
+
1
∏
i
=
1
n
−
x
2
i
{\displaystyle \operatorname {erf} \,x={\frac {2}{\sqrt {\pi }}}\sum _{n=0}^{\infty }\left(x\prod _{i=1}^{n}{\frac {-(2i-1)x^{2}}{i(2i+1)}}\right)={\frac {2}{\sqrt {\pi }}}\sum _{n=0}^{\infty }{\frac {x}{2n+1}}\prod _{i=1}^{n}{\frac {-x^{2}}{i}}}
поскольку
−
(
2
i
−
1
)
x
2
i
(
2
i
+
1
)
{\displaystyle {\frac {-(2i-1)x^{2}}{i(2i+1)}}}
— сомножитель, превращающий
i
{\displaystyle i}
-й член ряда в
(
i
+
1
)
{\displaystyle (i+1)}
-й, считая первым членом
x
{\displaystyle x}
.
Функция ошибок на бесконечности равна единице; однако это справедливо только при приближении к бесконечности по вещественной оси, так как:
При рассмотрении функции ошибок в комплексной плоскости точка
z
=
∞
{\displaystyle z=\infty }
будет для неё существенно особой.
Производная функции ошибок выводится непосредственно из определения функции:
d
d
x
erf
x
=
2
π
e
−
x
2
.
{\displaystyle {\frac {d}{dx}}\,\operatorname {erf} \,x={\frac {2}{\sqrt {\pi }}}\,e^{-x^{2}}.}
x
erf
(
x
)
+
e
−
x
2
π
.
{\displaystyle x\operatorname {erf} (x)+{\frac {e^{-x^{2}}}{\sqrt {\pi }}}.}
Обратная функция ошибок представляет собой ряд
erf
−
1
x
=
∑
k
=
0
∞
c
k
2
k
+
1
(
π
2
x
)
2
k
+
1
,
{\displaystyle \operatorname {erf} ^{-1}\,x=\sum _{k=0}^{\infty }{\frac {c_{k}}{2k+1}}\left({\frac {\sqrt {\pi }}{2}}x\right)^{2k+1},}
где 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\}.}
Поэтому ряд можно представить в следующем виде (заметим, что дроби сокращены):
erf
−
1
x
=
1
2
π
(
x
+
π
x
3
12
+
7
π
2
x
5
480
+
127
π
3
x
7
40320
+
4369
π
4
x
9
5806080
+
34807
π
5
x
11
182476800
+
…
)
.
{\displaystyle \operatorname {erf} ^{-1}\,x={\frac {1}{2}}{\sqrt {\pi }}\left(x+{\frac {\pi x^{3}}{12}}+{\frac {7\pi ^{2}x^{5}}{480}}+{\frac {127\pi ^{3}x^{7}}{40320}}+{\frac {4369\pi ^{4}x^{9}}{5806080}}+{\frac {34807\pi ^{5}x^{11}}{182476800}}+\dots \right).}
Последовательности числителей и знаменателей после сокращения — A092676 и A132467 в OEIS; последовательность числителей до сокращения — A002067 в OEIS.
Дополнительная функция ошибок
Применение
Если набор случайных величин подчиняется нормальному распределению со стандартным отклонением
σ
{\displaystyle \sigma }
, то вероятность, что величина отклонится от среднего не более чем на
a
{\displaystyle a}
, равна
erf
a
σ
2
{\displaystyle \operatorname {erf} \,{\frac {a}{\sigma {\sqrt {2}}}}}
.
Функция ошибок и дополнительная функция ошибок встречаются в решении некоторых дифференциальных уравнений, например, уравнения теплопроводности с начальными условиями, описываемыми функцией Хевисайда («ступенькой»).
В системах цифровой оптической коммуникации, вероятность ошибки на бит также выражается формулой, использующей функцию ошибок.
Асимптотическое разложение
При больших
x
{\displaystyle x}
полезно асимптотическое разложение для дополнительной функции ошибок:
erfc
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 \operatorname {erfc} \,x={\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} \,x}
с хорошей точностью, в то время как ряд Тейлора сходится очень медленно.
Другое приближение даётся формулой
(
erf
x
)
2
≈
1
−
exp
(
−
x
2
4
/
π
+
a
x
2
1
+
a
x
2
)
{\displaystyle (\operatorname {erf} \,x)^{2}\approx 1-\exp \left(-x^{2}{\frac {4/\pi +ax^{2}}{1+ax^{2}}}\right)}
где
a
=
8
3
π
3
−
π
π
−
4
.
{\displaystyle a={\frac {8}{3\pi }}{\frac {3-\pi }{\pi -4}}.}
Родственные функции
С точностью до масштаба и сдвига, функция ошибок совпадает с нормальным интегральным распределением , обозначаемым
Φ
(
x
)
{\displaystyle \Phi (x)}
Φ
(
x
)
=
1
2
(
1
+
erf
x
2
)
.
{\displaystyle \Phi (x)={\frac {1}{2}}{\biggl (}1+\operatorname {erf} \,{\frac {x}{\sqrt {2}}}{\biggl )}.}
Обратная функция к
Φ
{\displaystyle \Phi }
, известная как нормальная квантильная функция , иногда обозначается
probit
{\displaystyle \operatorname {probit} }
и выражается через нормальную функцию ошибок как
probit
p
=
Φ
−
1
(
p
)
=
2
erf
−
1
(
2
p
−
1
)
.
{\displaystyle \operatorname {probit} \,p=\Phi ^{-1}(p)={\sqrt {2}}\,\operatorname {erf} ^{-1}(2p-1).}
Нормальное интегральное распределение чаще применяется в теории вероятностей и математической статистике, в то время как функция ошибок чаще применяется в других разделах математики.
Функция ошибок является частным случаем функции Миттаг-Леффлера , а также может быть представлена как вырожденная гипергеометрическая функция (функция Куммера ):
erf
x
=
2
x
π
1
F
1
(
1
2
,
3
2
,
−
x
2
)
.
{\displaystyle \operatorname {erf} \,x={\frac {2x}{\sqrt {\pi }}}\,_{1}F_{1}\left({\frac {1}{2}},{\frac {3}{2}},-x^{2}\right).}
Функция ошибок выражается также через интеграл Френеля . В терминах регуляризованной неполной гамма-функции P и неполной гамма-функции ,
erf
x
=
sign
x
P
(
1
2
,
x
2
)
=
sign
x
π
γ
(
1
2
,
x
2
)
.
{\displaystyle \operatorname {erf} \,x=\operatorname {sign} \,x\,P\left({\frac {1}{2}},x^{2}\right)={\operatorname {sign} \,x \over {\sqrt {\pi }}}\gamma \left({\frac {1}{2}},x^{2}\right).}
Обобщённые функции ошибок
График обобщённых функций ошибок
E
n
(
x
)
{\displaystyle E_{n}(x)}
:
серая линия:
E
1
(
x
)
=
(
1
−
e
−
x
)
/
π
{\displaystyle E_{1}(x)=(1-e^{-x})/{\sqrt {\pi }}}
красная линия:
E
2
(
x
)
=
erf
x
{\displaystyle E_{2}(x)=\operatorname {erf} \,x}
зелёная линия:
E
3
(
x
)
{\displaystyle E_{3}(x)}
синяя линия:
E
4
(
x
)
{\displaystyle E_{4}(x)}
жёлтая линия:
E
5
(
x
)
{\displaystyle E_{5}(x)}
.
Некоторые авторы обсуждают более общие функции
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}(x)={\frac {n!}{\sqrt {\pi }}}\int \limits _{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}(x)}
— прямая линия, проходящая через начало координат:
E
0
(
x
)
=
x
e
π
{\displaystyle E_{0}(x)={\frac {x}{e{\sqrt {\pi }}}}}
E
2
(
x
)
{\displaystyle E_{2}(x)}
— функция ошибок
erf
x
{\displaystyle \operatorname {erf} \,x}
.
После деления на
n
!
{\displaystyle n!}
все
E
n
{\displaystyle E_{n}}
с нечётными
n
{\displaystyle n}
выглядят похоже (но не идентично). Все
E
n
{\displaystyle E_{n}}
с чётными
n
{\displaystyle n}
тоже выглядят похоже, но не идентично, после деления на
n
!
{\displaystyle n!}
. Все обобщённые функции ошибок с
n
>
0
{\displaystyle n>0}
выглядят похоже на полуоси
x
>
0
{\displaystyle x>0}
.
На полуоси
x
>
0
{\displaystyle x>0}
все обобщённые функции могут быть выражены через гамма-функцию :
E
n
(
x
)
=
Γ
(
n
)
(
Γ
(
1
n
)
−
Γ
(
1
n
,
x
n
)
)
π
,
x
>
0
{\displaystyle E_{n}(x)={\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} \,x=1-{\frac {\Gamma \left({\frac {1}{2}},x^{2}\right)}{\sqrt {\pi }}}}
Итерированные интегралы дополнительной функции ошибок
Итерированные интегралы дополнительной функции ошибок определяются как
i
n
erfc
z
=
∫
z
∞
i
n
−
1
erfc
ζ
d
ζ
.
{\displaystyle i^{n}\,\operatorname {erfc} \,z=\int \limits _{z}^{\infty }i^{n-1}\,\operatorname {erfc} \,\zeta \,d\zeta .}
Их можно разложить в ряд:
i
n
erfc
z
=
∑
j
=
0
∞
(
−
z
)
j
2
n
−
j
j
!
Γ
(
1
+
n
−
j
2
)
,
{\displaystyle 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 i^{2m}\,\operatorname {erfc} \,(-z)=-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 i^{2m+1}\,\operatorname {erfc} \,(-z)=i^{2m+1}\,\operatorname {erfc} \,z+\sum _{q=0}^{m}{\frac {z^{2q+1}}{2^{2(m-q)-1}(2q+1)!(m-q)!}}\,.}
Реализации
В стандарте языка Си (ISO/IEC 9899:1999, пункт 7.12.8) предусмотрены функция ошибок
erf
{\displaystyle \operatorname {erf} }
и дополнительная функция ошибок
erfc
{\displaystyle \operatorname {erfc} }
. Функции объявлены в заголовочных файлах math.h
(для Си ) или cmath
(для C++ ). Там же объявлены пары функций erff()
, erfcf()
и erfl()
, erfcl()
. Первая пара получает и возвращает значения типа float
, а вторая — значения типа long double
. Соответствующие функции также содержатся в библиотеке Math
проекта «Boost ».
В языке Java стандартная библиотека математических функций java.lang.Math
не содержит[1] функцию ошибок. Класс Erf
можно найти в пакете org.apache.commons.math.special
из не стандартной библиотеки, поставляемой[2] Apache Software Foundation .
Системы компьютерной алгебры Maple , Matlab , Mathematica и Maxima содержат обычную и дополнительную функции ошибок, а также обратные к ним функции.
В языке Python функция ошибок доступна[3] из стандартной библиотеки math
, начиная с версии 2.7. Также функция ошибок, дополнительная функция ошибок и многие другие специальные функции определены в модуле Special
проекта SciPy .
В языке Erlang функция ошибок и дополнительная функция ошибок доступны из стандартного модуля math
[4] .
Литература
Milton Abramowitz and Irene A. Stegun, eds. Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. New York: Dover, 1972. (См. часть 7)
Nikolai G. Lehtinen «Error functions», April 2010