• 新鲜事
  • 应用蒙特卡罗模拟,如何选择输入参数?

在电脑上程序中(excel,matlab)中使用蒙特卡罗模拟进行分析运算。最重要的一个步骤是选择输入随机变量的分布类型。例如,需要选择输入参数是正态分布?或者是标准正态分布?或者是三角分布?或者是特定区间的平均分布。

例如预测一个建筑项目的造价,以建设期的建材,人工费用的年化增长率服从某种概率分布,在这个分布内产生随机数作为输入变量。通过蒙特卡罗模拟求解项目的最终造价。

又或者以未来特定时段的股票收益率变动服从某种概率分布来生成随机数,模拟计算股票期权价格。

问题:

以上解决问题的方法都试图利用计算机强大的计算力来生成服从某种分布的大量随机数输入某个特定模型。进而求出某个无限近似的结果。问题的关键是如何保证输入随机数的概率分布是正确的?例如建设期的建材,人工费用的年化增长率应该选正态分布?还是选标准正态分布?还是选三角分布?还是选平均分布?每种分布的参数(均值,方差)又如何确定?依据是什么?

如果以上的问题都是通过拍脑袋给出的答案,那么如何保证不是垃圾进垃圾出?

目前看到的蒙特卡洛模拟的讲述都是在编程,估值的书中。如果按照学科分类,蒙特卡洛模拟是属于数学哪个科目下的?是否有专门系统讲述蒙特卡洛模拟的“教材”推荐?(书中有专门章节注重介绍即可)

    主观不能确定先验的问题,一般可以使用 non-informative prior 或者 Empirical Bayes 解决。

    可以看看贝叶斯统计的书,如何使用概率模型刻画整个系统是重点,MCMC 只是最后求解的手段。

      huangwu

      这位仁兄触及到了随机模拟的核心了,可以深挖研究一下mcmc,或者各种复杂概率模型如何求解。复杂是指的是比正态/二项/泊松等初级分部维度更高的模型,比如贝叶斯网络,马尔可夫随机场

      教材吃不饱就找paper来读,研究就是这么做的嘛。

      “问题的关键是如何保证输入随机数的概率分布是正确的?”
      1.
      兄台可听过一句名言“所有的模型都是错的,但有些是有用的”,
      所以在此我可以非常肯定的告诉拟,无论拟选啥分布,这个分布都不是“正确”的!

      2.
      另外你搞错了一个先后关系,应该是这样在的:
      收集数据→建模→模拟
      在建模阶段去寻找到一个最可能的、最接近“正确”的分布,然后在“模拟,蒙特卡洛模拟”的时候,应用建模得到的分布。

        0521 “最接近“正确”的分布”----------如果能做到这一步就已经很好了。不过这一步往往要到“未来”才知道。而做蒙特卡罗模拟往往就是想知道未来如何。这样不就陷入一个循环问题出不来了么~

        • 0521 回复了此帖

          huangwu
          所以说你“你搞错了一个先后关系,应该是这样在的:
          收集数据→建模→模拟
          在建模阶段去寻找到一个最可能的、最接近“正确”的分布,然后在“模拟,蒙特卡洛模拟”的时候,应用建模得到的分布。”

          '最可能的、最接近“正确”的分布'
          是通过建模来解决的问题,而不是通过“蒙特卡洛”解决的问题。