如何解决在 R 中创建模拟
我有以下问题:
一家意外伤害保险公司有 1000 名保单持有人,每个人都会 在下个月独立提出索赔的概率为 5%。 假设索赔的金额是独立的指数 均值为 800 美元的随机变量。
有谁知道如何在 R 中创建模拟来估计概率 这些索赔的总和超过 50,000 美元?
解决方法
这听起来像是一项家庭作业,因此如果您不确定如何处理,最好咨询您的老师。考虑到这一点,以下是我进行模拟的方法:
首先,创建一个函数,根据您在问题描述中给出的值,从指数分布生成值并求和这些值。
get_sum_claims <- function(n_policies,prob_claim,mean_claim) {
sum(rexp(n = n_policies*prob_claim,rate = 1/mean_claim))
}
接下来,让这个函数多次返回所有声明的总和,并存储结果。带有 map_dbl
的行执行此操作,实质上是指示 R 从 get_sum_claims
函数返回 100000 个模拟索赔总和。
library(tidyverse)
claim_sums <- map_dbl(1:100000,~ get_sum_claims(1000,0.05,800))
最后,我们可以使用以下代码计算索赔总和大于 50000 的概率:
sum(claim_sums > 50000)/length(claim_sums)
这给出了一个相当可靠的估计值,约为 0.046,因为在给定的月份索赔总额超过 50000 的概率。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。