【问题标题】:R Proble with Monte Carlo Simulation蒙特卡洛模拟的 R 问题
【发布时间】:2020-04-19 12:28:37
【问题描述】:

我如何解决这个练习:

令 U 来自均匀 (0,1) 分布,Z 来自标准正态分布。令 X = pZ + (1-p)U。当 X 的方差为 0.4 时估计 p。

也许我应该 install.packages('polynom')?

p 等于 0,62,因为我已经对它进行了分析计算,但我不知道如何使用 R 使用随机随机数生成器来解决它

【问题讨论】:

  • 这不是标准问题。需要澄清一下。

标签: r simulation montecarlo


【解决方案1】:

我不会为你解决这个练习,但会告诉你如何解决它的线索

你需要像练习那样做:

  1. 模拟 U[0,1]
  2. 模拟 N(0,1)

使用 p

的值将它们放在一起

对于给定的p,你可以定义一个函数:

set.seed(234)
computeX <- function(p){

  u <- runif(1000)
  z <- rnorm(1000)

  X = p*z + (1-p)*u
  return(X)
}

var(computeX(0.2))
[1] 0.08924463

现在我让你找到获得锻炼所需的例程p

不需要任何外部库

【讨论】:

  • p 等于 0,62,因为我已经对其进行了分析计算,但我不知道如何使用 R 使用随机数生成器来解决它
【解决方案2】:

这是一个例子

fobj <- function(p)  abs(var(p*rnorm(1e5) + (1-p)*runif(1e5))-0.4)
pval <- optimise(fobj,c(0,1))$minimum

在哪里

  • 首先定义你的目标函数fobj,即X0.4的方差之间的距离
  • 然后应用optimise 最小化fobj

结果

> pval
[1] 0.6223968

【讨论】:

    猜你喜欢
    • 2018-09-24
    • 1970-01-01
    • 2016-08-19
    • 2021-01-06
    • 1970-01-01
    • 2019-10-10
    • 2018-04-03
    • 2023-03-05
    • 2022-11-18
    相关资源
    最近更新 更多