오차 함수
1. 개요
오차 함수는 확률 이론과 오차 이론과의 관련성 때문에 명명되었으며, 정규 분포의 누적 분포 함수와 밀접한 관련이 있다. 오차 함수는 기함수이며, 테일러 급수, 도함수, 적분, 역함수 등 다양한 성질을 갖는다. 표준 정규 분포의 누적 분포 함수, Q-함수, 프로빗 함수 등과 밀접한 관련이 있으며, 응용 분야로는 디지털 통신 시스템의 비트 오류율 계산, 열 방정식의 해, 장거리 상호작용의 분리 등이 있다. 또한, 상보 오차 함수, 허수 오차 함수, 그리고 이들의 반복 적분과 관련된 함수들이 존재하며, 다양한 수치적 근사 방법과 구현 방식이 존재한다.
-
가우스 함수 -
가우스 적분
가우스 적분은 특정한 정적분의 값으로 정의되며, 확률론, 통계학, 물리학 등 여러 분야에서 중요한 역할을 수행하고 정규분포와 관련된 계산에서 핵심적인 역할을 한다. -
가우스 함수 -
가우시안 필터
가우시안 필터는 가우시안 함수의 임펄스 응답을 가지며, 이미지 노이즈 감소 및 엣지 검출 전처리에 사용되는 선형 평활화 필터이다. -
특수 초기하함수 -
지수 함수
지수 함수는 양의 상수 *a*를 밑으로 하는 *y = a<sup>x</sup>* 형태의 함수이며, 특히 자연로그의 역함수인 *e<sup>x</sup>*는 다양한 정의와 응용을 가지며 복소수로 확장될 수 있다. -
특수 초기하함수 -
르장드르 다항식
-
특수 함수 -
람베르트 W 함수
람베르트 W 함수는 we^w = z를 만족하는 w를 찾는 람베르트 이름을 딴 역함수 관계를 가지며, 여러 분야에서 지수 함수 방정식을 푸는 데 응용되는 무한히 많은 가지를 가진 함수이다. -
특수 함수 -
감마 함수
감마 함수는 양의 실수부를 갖는 복소수 z에 대해 오일러 적분으로 정의되고 해석적 연속을 통해 복소평면 전체로 확장된 팩토리얼 함수의 일반화로서, 수학, 물리학, 공학 등 다양한 분야에서 활용되며 여러 표현과 성질을 가진다.
2. 역사
"오차 함수"(error function)라는 이름과 그 약어 erf는 1871년 J. W. L. 글레이셔가 확률 이론, 특히 오차 이론과의 관련성 때문에 제안했다. 글레이셔는 같은 해 별도의 출판물에서 오차 함수 여집합에 대해서도 논의했다.
정규 분포에서 오차가 f(x)영어 = (c영어/π)1/2영어 e^(-cx²) 와 같이 주어지는 "편의 법칙"에 대해, 글레이셔는 p와 q 사이에 있는 오차의 확률을 다음과 같이 계산했다.
: (c영어/π)1/2영어 ∫p영어q영어e^(-cx²) dx = ½(erf (q√c영어}) - erf (p√c영어}))
2.1. 이름의 기원
"오차 함수"라는 이름과 그 약어 erf는 1871년 J. W. L. 글레이셔가 "확률 이론, 특히 오차 이론"과의 관련성 때문에 제안했다. 글레이셔는 같은 해 별도의 출판물에서 오차 함수 여집합에 대해서도 논의했다.
정규 분포에서 오차가 다음과 같이 주어지는 "편의 법칙"에 대해
:f(x)영어 = (c영어/π)1/2영어 e^(-cx²)
글레이셔는 p와 q 사이에 있는 오차의 확률을 다음과 같이 계산한다.
: (c영어/π)1/2영어 ∫p영어q영어e^(-cx²) dx = ½(erf (q√c영어}) - erf (p√c영어}))
3. 성질
오차 함수는 기함수이다. 즉, 임의의 복소수 z에 대해 다음이 성립한다.
:
또한, 다음이 성립한다.
:
여기서 는 의 켤레 복소수이다.
피적분 함수 와 를 복소 평면에 나타낸 그림은 다음과 같다.
--
--
허수부 이 되는 점을 연결한 선은 굵은 녹색 선으로 나타낸다. 가 음의 정수가 되는 점을 연결한 선은 굵은 붉은 선으로, 양의 정수가 되는 점을 연결한 선은 굵은 파란 선으로 나타낸다.
가 정수와 정수의 중간인 일정한 값이 되는 점을 연결한 선은 가는 녹색 선으로 나타내고, 실수부 가 일정한 값이 되는 점을 연결한 선은 양수의 경우 파란 가는 선, 음수의 경우 붉은 가는 선으로 나타낸다.
실수 축에서는 에서 는 항등원(1)에 점근하고, 에서 항등원(-1)에 점근한다. 허수 축에서는 가 된다.
오차 함수는 정함수이며, (무한대 외에는) 특이점을 갖지 않는다.
3.2. 도함수 및 적분
오차 함수의 도함수는 정의로부터 직접적으로 유도된다.
* erf영어 z의 도함수 = e한국어
* erfi영어 z의 도함수 = e한국어
부분 적분법을 통해 구할 수 있는 오차 함수의 부정 적분은 다음과 같다.
* zerf영어z + e한국어/√π
3.3. 역함수
복소수 z에 대해, erf w = z를 만족하는 유일한 복소수 w는 존재하지 않으므로, 역 오차 함수는 다가 함수이다. 그러나 -1 < x < 1에 대해서는
를 만족하는 유일한 실수 erf−1 x가 존재한다.
역 오차 함수는 일반적으로 정의역 (-1, 1)로 정의되며, 많은 컴퓨터 대수 시스템에서 이 정의역으로 제한된다. 그러나 매클로린 급수를 사용하여 복소 평면의 디스크 |z| < 1로 확장할 수 있다.
역 오차 함수는 다음과 같은 급수로 표현된다.
여기서 c0 = 1이고
따라서 다음과 같은 급수 전개를 얻을 수 있다(분자와 분모에서 공통 인수가 제거됨).
오차 함수의 ±∞에서의 값은 ±1과 같다.
|z| < 1에 대해 erf(erf−1 z) = z가 성립한다.
역 여오차 함수는 다음과 같이 정의된다.
실수 x에 대해, erfi(erfi−1 x) = x를 만족하는 유일한 실수 erfi−1 x가 존재한다. 역 허수 오차 함수는 erfi−1 x로 정의된다.
모든 실수 x에 대해, 뉴턴 방법을 사용하여 erfi−1 x를 계산할 수 있으며, -1 ≤ x ≤ 1에 대해 다음 매클로린 급수가 수렴한다.
여기서 ck는 위와 같이 정의된다.
4. 정규 분포와의 관계
오차 함수는 정규 분포의 누적분포함수와 본질적으로 동일하며, 상수배 및 평행 이동을 통해 서로 변환 가능하다. 표준 정규 분포의 누적 분포 함수 Φ는 다음과 같이 오차 함수로 표현된다.
:
정규 분포가 확률론 및 통계학에서 자주 사용되므로 오차 함수 역시 자주 사용된다.
표준 정규 누적 분포 함수 Φ는 다음과 같이 표현 가능하다.
:
erf와 erfc에 대해 재정렬하면 다음과 같다.
:
결과적으로, 오차 함수는 표준 정규 분포의 꼬리 확률인 Q-함수와 밀접하게 관련되어 있으며, 다음과 같이 표현할 수 있다.
:
Φ의 역함수는 분위수 함수 또는 프로빗 함수로 알려져 있으며, 역 오차 함수를 사용하여 표현될 수 있다.
:
표준 정규 누적 분포 함수는 확률론 및 통계학에서 더 자주 사용되며, 오차 함수는 다른 수학 분야에서 더 자주 사용된다.
5. 응용
오차 함수는 여러 분야에서 응용된다. 예를 들어 일련의 측정 결과가 정규 분포를 따르고 표준 편차가 σ이며 기댓값이 0일 때, 단일 측정의 오차가 -a와 a 사이에 있을 확률은 erf(a/(σ√2))이다. (여기서 a는 양수) 이는 디지털 통신 시스템의 비트 오류율을 결정하는 데 유용하게 사용된다.
또한, 오차 함수와 여오차 함수는 경계 조건이 헤비사이드 계단 함수로 주어질 때 열 방정식의 해를 구하는데 사용된다.
오차 함수는 쿨롱 힘과 같이 장거리 상호작용을 단거리 및 장거리 성분으로 분리할 때 사용될 수 있다. (에발트 방법)
5.1. 점근 전개
큰 에 대한 상보 오차 함수(및 오차 함수)의 점근 전개는 다음과 같다.
:
이 급수는 유한한 에 대해서는 발산한다. 그러나 처음 몇 개의 항만으로 의 좋은 근사를 얻을 수 있으며, 테일러 전개보다 수렴이 빠르다.
6. 관련 함수
오차 함수는 정규 분포의 누적 분포 함수(CDF)와 기본적으로 같으며, 스케일과 해석이 다를 뿐이다. 표준 정규 분포에 대해 다음 관계가 성립한다.
:
및 에 대해 변형하면 다음과 같다.
:
오차 함수는 정규 분포에서의 꼬리 확률인 Q 함수와도 밀접하게 관련되어 있으며, Q 함수는 오차 함수를 사용하여 다음과 같이 표현할 수 있다.
:
의 역함수는 표준 분위 함수 또는 프로빗 함수로 알려져 있으며, 역 오차 함수를 사용하여 다음과 같이 표현할 수 있다.
:
확률론이나 통계학에서는 표준 정규 분포의 누적 분포 함수를 더 자주 사용하며, 오차 함수는 다른 수학 분야에서 사용되는 경향이 있다.
오차 함수는 미타그-레플러 함수의 특수한 경우이며, 합류형 초 기하 미분 방정식으로도 표현할 수 있다.
:
프레넬 적분을 사용한 단순한 표현법도 있다. 정규화 감마 함수와 불완전 감마 함수를 사용하면 다음과 같이 나타낼 수 있다.
:
는 부호 함수이다.
6.1. 상보 오차 함수
보완 오차 함수는 erfc영어로 표시되며 다음과 같이 정의된다.
:
이는 또한 erfcx영어, 즉 확대 보완 오차 함수를 정의하며 (이것은 산술 언더플로를 피하기 위해 erfc영어 대신 사용할 수 있다). erfc x영어의 또 다른 형태는 x ≥ 0에 대해 Craig의 공식으로 알려져 있으며, 그 발견자의 이름을 따서 명명되었다:
:
이 식은 x의 양수 값에 대해서만 유효하지만, 음수 값에 대한 erfc(x)영어를 얻기 위해 erfc x {{=}} 2 − erfc(−x)영어와 함께 사용할 수 있다. 이 형태는 적분 범위가 고정되고 유한하다는 점에서 유리하다. 두 개의 음수가 아닌 변수의 합에 대한 erfc영어의 확장 표현은 다음과 같다:
:
6.2. 허수 오차 함수
허수 오차 함수는 erfi영어로 표기하며 다음과 같이 정의된다.
:erfi영어 = -i erf영어 = int_0^x e^t^2,mathrm dt영어 = e^x^2 D(x)영어
여기서 D(x)영어는 Dawson 함수이다. "허수 오차 함수"라는 이름에도 불구하고, x가 실수일 때 erfi x영어는 실수이다.
7. 수치적 근사
아브라모위츠와 스티건은 다양한 정확도를 가진 여러 근사식을 제공한다. 이를 통해 주어진 응용 분야에 적합한 가장 빠른 근사식을 선택할 수 있다.
* 다음은 정확도가 증가하는 순서대로 나열된 근사식들이다. (단, $x \geq 0$에 유효하며, 음의 $x$에 대해서는 $\operatorname{erf} x$가 홀함수라는 성질, 즉 $\operatorname{erf} x = -\operatorname{erf}(-x)$를 이용하여 계산한다.)
| 식 | 최대 오차 | 비고 |
|---|---|---|
| $\operatorname{erf} x \approx 1 - \frac{1}{\left(1 + a_1x + a_2x^2 + a_3x^3 + a_4x^4\right)^4}$ | 5 × 10-4 | $a_1 = 0.278393$, $a_2 = 0.230389$, $a_3 = 0.000972$, $a_4 = 0.078108$ |
| $\operatorname{erf} x \approx 1 - \left(a_1t + a_2t^2 + a_3t^3\right)e^{-x^2},\quad t=\frac{1}{1 + px}$ | 2.5 × 10-5 | $p = 0.47047$, $a_1 = 0.3480242$, $a_2 = -0.0958798$, $a_3 = 0.7478556$ |
| $\operatorname{erf} x \approx 1 - \frac{1}{\left(1 + a_1x + a_2x^2 + \cdots + a_6x^6\right)^{16}}$ | 3 × 10-7 | $a_1 = 0.0705230784$, $a_2 = 0.0422820123$, $a_3 = 0.0092705272$, $a_4 = 0.0001520143$, $a_5 = 0.0002765672$, $a_6 = 0.0000430638$ |
| $\operatorname{erf} x \approx 1 - \left(a_1t + a_2t^2 + \cdots + a_5t^5\right)e^{-x^2},\quad t = \frac{1}{1 + px}$ | 1.5 × 10-7 | $p = 0.3275911$, $a_1 = 0.254829592$, $a_2 = -0.284496736$, $a_3 = 1.421413741$, $a_4 = -1.453152027$, $a_5 = 1.061405429$ |
* 카라지아니디스와 리움파스(2007)는 $x \in [0, \infty)$에 대한 보완 오차 함수의 근사식을 제시했다. 이들은 $A=1.98$, $B=1.135$일 때, 모든 $x \geq 0$에 대해 좋은 근사치를 얻을 수 있음을 보였다.
:$\operatorname{erfc} x \approx \frac{\left(1 - e^{-Ax}\right)e^{-x^2}}{B\sqrt{\pi} x}$
* 세르게이 위니츠키는 "글로벌 파데 근사"를 사용하여 다음과 같은 근사식을 제시했다.
:$\operatorname{erf} x \approx \sgn x \cdot \sqrt{1 - \exp\left(-x^2\frac{\frac{4}{\pi} + ax^2}{1 + ax^2}\right)}$
:여기서 $a = \frac{8(\pi - 3)}{3\pi(4 - \pi)} \approx 0.140012$이다. 이 근사식은 0과 무한대 근처에서 매우 정확하며, 모든 실수 $x$에 대해 상대 오차가 0.00035 미만이다. $a \approx 0.147$을 사용하면 최대 상대 오차를 약 0.00013으로 줄일 수 있다.
8. 구현
POSIX 호환 운영체제에서 math.h 헤더는 `erf`와 `erfc` (배정밀도) 함수와 이에 대응하는 단정밀도 및 확장 정밀도 함수인 `erff`, `erfl`, `erfcf`, `erfcl`을 선언하며, libm 수학 라이브러리가 이를 제공한다.
GNU 과학 라이브러리는 `erf`, `erfc`, `log(erf)` 및 스케일링된 오차 함수를 제공한다.
[https://jugit.fz-juelich.de/mlz/libcerf libcerf]는 복소 오차 함수를 위한 수치 C 라이브러리로, 패데예바 함수를 기반으로 하며, [http://ab-initio.mit.edu/Faddeeva MIT Faddeeva Package]에서 구현된 것처럼 `cerf`, `cerfc`, `cerfcx` 복소 함수와 `erfi`, `erfcx` 실수 함수를 제공하고, 약 13~14자리 정밀도를 갖는다.
C 언어의 경우, C99에서 헤더 파일 `
C++(C++)에서도 C++11에서 `<cmath>` 헤더 파일에 `erf` 및 `erfc`가 선언되어 있으며, `double`, `float` 및 `long double`형이 오버로드되어 있다.
FORTRAN에서는, 예를 들어 GFortran이 `ERF(X)`와 배정밀도의 `DERF(X)`를 제공한다.