Комбинированное моделирование Монте-Карло в R - PullRequest
0 голосов
/ 07 января 2019

Целью симуляции Монте-Карло является оценка распределения убытков для страховой компании.

Я использую модель частоты-серьезности, которая

S = sum_ {i = 1} ^ {N} X_ {i}

где N - случайное число событий потери, а X_ {i} - серьезность потери.

Я получаю 2 файла Excel (один для больших и один для потерь на истощение) - скажем, я подхожу для лучших дистрибутивов, например:

крупные претензии: частота претензий моделируется через распределение Пуассона Poi (200), а серьезность - через логнормальное распределение логнормальное (a, b).

претензий на истощение: частота претензий моделируется с помощью Poi-распределения Poi (5000), а серьезность - логнормального распределения lognormal (x, y).

Теперь я хотел бы провести симуляцию Монте-Карло, чтобы оценить потери в предстоящем году.

В python можно вычислить симуляцию Монте-Карло:

def loss(r, loc, sig, scale, lam):
    X = []
    for x in range(5000):  # up to 5000 loss events considered
        if(r < poisson.cdf(x, lam)):  # x denotes a loss number
            out = 0
        else:
            out = lognorm.rvs(s=sig, loc=loc, scale=scale)
        X.append(out)
    return np.sum(X)  # = L_1 + L_2 + ... + L_n


#Monte Carlo Sim.
losses = []
for _ in range(1000):
    r = np.random.random()
    losses.append(loss(r, loc, sig, scale, lam))

Но это, например, только для случая потерь на истощение ... Я хотел бы объединить оба случая в одном моделировании, чтобы получить распределение полных потерь .... и, возможно, в R вместо Python.

Надеюсь, вы мне поможете.

Заранее спасибо

...