헤크만–마이어스 알고리즘(Heckman–Meyers algorithm)은 헤크만과 마이어스(1983)가 처음 발표했으며, 다음의 구체적 문제를 풀도록 설계되었다. S를 집합손해(aggregate loss) 확률변수라 하자.
여기서 X1, X2, …는 동일한 분포함수 FX(x)를 갖는 독립동일분포(i.i.d.) 확률변수열(개별 클레임 크기, severity)이고, N은 음이 아닌 정수에서 값을 갖는 이산확률변수(클레임 수, frequency)다. pn = Pr(N = n) 이라 하자. FX(x)와 pn은 안다고 가정한다. 문제는 S의 분포함수 FS(s)를 구하는 것이다. 전확률의 법칙으로 직접 공식을 얻을 수 있다.
여기서 FX*n(s)는 X의 n중 합성곱(convolution) 분포다. 그러나 합성곱의 계산은 어려울 수 있고, 쉽더라도 합을 평가하는 데 드는 계산량이 엄청나게 클 수 있다. 이 문제를 푸는 방법으로 재귀(recursion), 다른 역변환 방식, 시뮬레이션 등이 있다.
클레임 수 N이 0, 1, 2, … 어떤 값이든 될 수 있으므로, S의 분포는 “클레임 1개일 때, 2개일 때, …” 각각의 합성곱을 pn으로 가중해 모두 더한 것이다. 합성곱은 적분을 거듭 포개는 연산이라, 기대 클레임 수가 많아지면 항의 개수와 각 항의 계산량이 폭발한다. 헤크만–마이어스는 이 합성곱 더미를 특성함수 한 번의 곱으로 바꿔 우회한다.
이 알고리즘은 확률변수의 특성함수(characteristic function)와 확률생성함수(probability generating function)의 성질을 활용한다. 확률변수 X의 특성함수는 다음과 같다(i = √−1, 두 번째 적분은 X가 밀도 fX를 갖는 절대연속일 때).
음이 아닌 정수에서 값을 갖는 이산확률변수 N의 확률생성함수는 다음과 같다.
특성함수는 모든 확률변수에 대해, 모든 t에서 정의된다는 점을 주목하라(반면 적률생성함수는 존재하지 않을 수도 있다). 이 정의들로부터, S의 특성함수는 다음과 같이 깔끔하게 표현된다.
유도는 기댓값의 탑(tower) 성질과 Xj들의 독립성을 쓰면 된다. 즉 조건부로 N = n 일 때 합의 특성함수는 φX(t)n 이고, 이를 N에 대해 기댓값 취하면 정확히 확률생성함수 PN에 φX(t)를 대입한 형태가 된다. 따라서 X의 특성함수와 N의 확률함수만 얻으면 S의 특성함수를 얻는다.
두 번째 핵심 결과는, 확률변수의 특성함수가 주어지면 분포함수를 되찾을(invert) 수 있다는 것이다. 공식은 다음과 같다.
합성곱은 특성함수 영역에서는 단순한 곱으로 바뀐다(FFT가 빠른 이유와 같은 원리). 그래서 ① X와 N을 각각 특성함수·확률생성함수로 바꾸고, ② 합성하면 S의 특성함수가 한 번에 나오고, ③ 위 역변환 적분(inversion integral)으로 FS(s)를 복원한다. 어려운 합성곱 더미가 적분 하나로 압축된다.
오일러 공식 eix = cos x + i sin x 를 쓰면 특성함수를 실수부와 허수부로 분리할 수 있다.
이렇게 φX(t) = g(t) + i h(t) 로 쓰고 역변환 적분에 대입하면, 결과는 실수여야 하므로 허수부의 계수는 0이 되어야 한다. 정리하면 FS(s)는 g, h로 표현되는 실적분으로 귀착된다. 문제는 이 적분이 매우 어려울 수 있다는 점이다.
헤크만과 마이어스의 묘책은, X의 실제 분포함수를 조각선형 함수(piecewise linear function)로(필요하면 어떤 높은 값에 이산확률을 덧붙여) 대체하는 것이다. 즉 연속 부분의 밀도를 다음과 같은 계단형 상수로 둔다.
여기서 b0 < b1 < ⋯ < bk 이고 bk에 이산확률 u를 둔다. k가 충분히 크고 분점 bi를 잘 고르면, 이 분포는 거의 어떤 모형이든 가깝게 근사할 수 있다. 이렇게 두면 각 구간의 적분 ∫aj(cos tx + i sin tx) dx 가 닫힌 형태로 계산되어, φX(t) = g*(t) + i h*(t) 의 실수부·허수부를 손쉽게 얻는다.
다음으로 N의 확률생성함수가 필요하다. 자주 쓰는 분포는 닫힌 형태를 가진다. 평균 λ의 포아송은
평균이 rβ인 음이항은 다음과 같다.
포아송의 경우 S의 특성함수는 PN에 g* + i h* 를 대입하여
가 되고, 따라서 g(t) = exp[λg*(t) − λ] cos λh*(t), h(t) = exp[λg*(t) − λ] sin λh*(t) 를 얻는다. 음이항도 비슷하게 구한다.
이 함수들을 손에 쥐면 역변환 적분을 평가하면 된다. 헤크만과 마이어스는 가우스 적분(Gaussian integration)으로 수치적분할 것을 권한다. 적분 구간이 0부터 무한대이므로 여러 소구간으로 나누되, 피적분함수가 진동(oscillating)하는 효과를 줄이도록 분점을 신중히 골라야 한다. 한 가지 중요한 점: 적분식에서 인수 s는 삼각함수에만, g·h는 t에만 나타난다. 따라서 g, h는 수치적분 노드에서 단 한 번만 계산해 두면, s를 바꿀 때마다 같은 노드 값을 재사용할 수 있다.
분포함수 FS(s)를 s = 100, 200, …, 5000 의 50개 점에서 구해야 한다. 헤크만–마이어스가 왜 효율적인가?
무거운 계산인 g(t), h(t)(특성함수)는 s와 무관하므로 적분 노드에서 한 번만 계산해 저장한다. 각 s에 대해서는 cos(ts), sin(ts) 만 다시 곱해 적분하면 되므로, 50개 점을 거의 추가 비용 없이 얻는다. 반면 재귀법은 격자 전체를 다시 돌려야 하는 경우가 많다.
이 방법은 다른 인기 있는 방법들에 비해 몇 가지 장점을 가진다.
다시 수치적분으로 FS(s) 값을 얻으며, 다른 방법에 비해 추가 계산이 거의 들지 않는다. 관련 연구로 역변환 방법을 대기행렬(queueing) 문제에 적용한 것들이 있다.
파너 재귀는 클레임 수가 적고 클레임 크기가 이산(격자)일 때 빠르고 정확하다. 헤크만–마이어스는 클레임 크기가 연속이고 기대 클레임 수가 많을 때, 그리고 여러 독립 포트폴리오를 합칠 때 유리하다. 둘은 경쟁이 아니라 상호보완으로, 상황에 맞춰 골라 쓰면 된다.
헤크만–마이어스 알고리즘은 특성함수를 수치 역변환(고속푸리에변환 등)해 총손실분포를 정밀하게 복원하는 방법이다. 국내 자본모형·재보험 요율 산정에서 복합분포의 꼬리를 정확히 계산해야 할 때, 시뮬레이션의 대안 또는 검증수단으로 이런 변환기반 기법이 쓰인다.
몬테카를로가 꼬리에서 불안정한 반면, 특성함수 역변환은 안정적이고 빠르게 분위수를 산출할 수 있어 K-ICS 99.5% 같은 극단 분위수 계산에 적합하다.
총손실분포의 극단 분위수가 필요할 때, 특성함수 역변환은 시뮬레이션보다 안정적인 꼬리 추정을 제공한다. 자본·재보험 산정의 정확도를 높인다.