【问题标题】:How to get only positive values in a monte-carlo simulation?如何在蒙特卡罗模拟中只获得正值?
【发布时间】:2020-07-08 20:50:04
【问题描述】:

使用下面的代码,我们得到 10,000 个正态分布在平均值周围的随机值,这些值可以是正数也可以是负数。我正在处理一个模拟结果的负值没有意义的问题。如何生成只有正值的正态分布?或者有没有其他合适的方法来处理这个?

runs <- 100000
sims <- rnorm(runs,mean=30,sd=30)

【问题讨论】:

  • 增加均值或减少标准差或考虑另一种分布,这是一个统计问题,而不是编程问题。
  • 试试runif(),下限为零

标签: r montecarlo


【解决方案1】:

如果您想摆脱负面影响,您可以在编写代码之后执行此操作。如果这是您所追求的,这将为您提供一种截断的正态分布。

sims <- sims[sims>0]

【讨论】:

  • 如果您只关心代码以消除负值,那就太好了,但是这样做会导致您的样本不是完全随机的。您正在截断样本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-26
  • 2015-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多