如何对n个数X_1至X_n(一次抽样?)进行抽样,使其总和为给定的Y,并且知道X_i的无条件分布是(或将是)参数为u和西格玛的正态分布?

仅仅绘制n个正态分布的数字并将其zoom 到总Y似乎是不正确的.如果Y的绝对值非常大,它将倾向于产生n个异常值(相对于无条件分布),而不是-我不知道-1个异常值.另外:如果Y为零,则结果没有意义.

推荐答案

我没有试过,但这对condMVNorm package应该是可行的.

让我解释一下n=2.我们从两个独立的高斯随机变量X1和X2开始.设置Y=X1+X2.这样就很容易得到(X1,Y)的方差-协方差矩阵.然后,对于condMVNorm,你可以在给定Y=y的情况下,从X1的条件分布中进行抽样.当然,你也可以得到X2,其中X2=Y-X1.

通过设置Y=X1+...+Xn并考虑随机向量(X_1,...,X_{n-1},Y),这可推广到任意整数n.


EDIT

这是n=3的代码.

library(condMVNorm)

# X_i parameters
mu <- 1
sigma <- 2

# (X1, X2, X1+X2+X3) parameters
Mu <- c(mu, mu, 3 * mu)
Sigma <- rbind(
  c(sigma^2, 0,       sigma^2),
  c(0,       sigma^2, sigma^2),
  c(sigma^2, sigma^2, 3*sigma^2)
)

# (X1, X2) given Y=y (where Y = X1+X2+X3)
y <- 5

# number of simulations
nsims <- 10

# simulations of (X1, X2) given Y=y
rcmvnorm(
  nsims, Mu, Sigma, dependent.ind = c(1, 2), given.ind = 3, X.given = y
)

R相关问答推荐

R根据名称的载体对收件箱列采取行动

替换收件箱的子集(行和列)

如何设置搜索栏来搜索整个Shiny应用程序页面?

使用map()内的公式()创建多个公式

如何将log 2刻度上的数字转换为自然log

如何在R中正确对齐放射状图中的文本

带有gplot 2的十字舱口

寻找图片边缘

保存包含循环和ifelse的函数的输出

在垂直轴中包含多个ggplot2图中的平均值

在R中,如何将变量(A,B和C)拟合在同一列中,如A和B,以及A和C在同一面板中?

提取一个列表中单个列的重复观察结果R

在使用tidyModels和XGBoost的二进制分类机器学习任务中,所有模型都失败

基于数据集属性将科分配给物种

将项粘贴到向量中,并将它们分组为x的倍数,用空格分隔

将具有坐标列表列的三角形转换为多个多边形

防止正则表达式覆盖以前的语句

网络抓取新闻标题和时间

如何将宽格式的患者信息数据高效地转换为患者计数的时间序列?

如何使用循环从R中的聚合函数创建列,而不会在名称中给出&q;$&q;?