在 R 中创建高斯混合模型的重要性采样

发布于 2025-01-10 03:31:51 字数 185 浏览 0 评论 0原文

如何实现以下内容:创建高斯混合模型采样器。在此采样器中,数据有 40% 的机会从 N(-1,1) 分布中采样,有 60% 的机会从 N(2,1/9) 分布中采样。对 100,000 个数据进行采样并创建结果的密度直方图。在 R 中,

我应该使用sample(),但我不确定在 prob = "" 中使用哪个向量。非常感谢任何帮助/指导,谢谢!

How do I implement the following: Create a Gaussian mixture model sampler. In this sampler, a datum has a 40% chance of being sampled from a N(-1,1) distribution, and a 60% chance of being sampled from a N(2,1/9) distribution. Sample 100,000 data and create a density histogram of your result. In R.

I'm supposed to use sample(), but I am unsure of which vector to use in prob = "". Any help/guidance is much appreciated, thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

箜明 2025-01-17 03:31:51
n <- 100000L
sims <- numeric(n)
for(i in 1L:n){
  choice <- sample(c(1L, 2L), size = 1L, prob = c(0.4, 0.6))
  if(choice == 1L){
    sims[i] <- rnorm(1L, mean = -1, sd = 1)
  }else{
    sims[i] <- rnorm(1L, mean = 2, sd = 1/9)
  }
}

hist(sims)

或者,更有效:

n <- 100000L
sims <- numeric(n)
choices <- sample(c(1L,2L), size = n, prob = c(0.4, 0.6), replace = TRUE)
ones <- choices == 1L
n_ones <- sum(ones)
sims[ones] <- rnorm(n_ones, mean = -1, sd = 1)
sims[!ones] <- rnorm(n - n_ones, mean = 2, sd = 1/9)

hist(sims)

小心正态分布。也许 1/9 是方差 (sd²)。

n <- 100000L
sims <- numeric(n)
for(i in 1L:n){
  choice <- sample(c(1L, 2L), size = 1L, prob = c(0.4, 0.6))
  if(choice == 1L){
    sims[i] <- rnorm(1L, mean = -1, sd = 1)
  }else{
    sims[i] <- rnorm(1L, mean = 2, sd = 1/9)
  }
}

hist(sims)

Or, more efficient:

n <- 100000L
sims <- numeric(n)
choices <- sample(c(1L,2L), size = n, prob = c(0.4, 0.6), replace = TRUE)
ones <- choices == 1L
n_ones <- sum(ones)
sims[ones] <- rnorm(n_ones, mean = -1, sd = 1)
sims[!ones] <- rnorm(n - n_ones, mean = 2, sd = 1/9)

hist(sims)

Be careful with the normal distribution. Perhaps 1/9 is the variance (sd²).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文