如何用正态分布来分配成本

本文关键字:分配 何用 正态分布 | 更新日期: 2023-09-27 18:03:14

我找到了编程获取随机数的指南,生成正常;然而,我需要展开一个数字,以便它反映正态分布(在尽可能少的计算时间内)。

例如,我有一件物品在2050年花费50万美元,我想以20年的标准差将其分散。这将导致第一个标准偏差(2030年至2070年)下的区域成本(68% * 500,000美元)。

是否有一个公式,我可以在我的代码中使用,以实现这一点?我现在能想到的唯一方法是使用Box Muller随机生成器,循环每一美元来生成分布,这绝对是不高效的。

如何用正态分布来分配成本

注意,正态分布下的总数为1。因此,您只需要找出曲线在特定时间范围内累积的百分比,并乘以总成本。

你想要的不是正态分布,而是正态CDF(累积密度函数)(这里是c#)。

因此,总结一下:要找到给定年份范围内的成本,您需要找到这些年份的标准化值,将它们代入CDF函数,然后乘以总成本:

start = (start_year-0.5-median)/stddev;
end = (end_year+0.5-median)/stddev;
cost = total_cost*(Phi(end)-Phi(start));