【发布时间】:2021-02-23 23:16:48
【问题描述】:
我想使用 R 编写一个模型来回答有关概率的一般问题。一般问题如下,然后是我关于如何使用 R 代码回答的具体问题。如果您知道一般问题的答案(与 R 代码分开),并且可以用简单的英语解释基本的统计原理,我也对此感兴趣!
问题:如果我拆分一组 n 个对象,首先通过 4 路拆分器,然后通过 7 路拆分器(导致总共 28 个不同的组),每个拆分器导致随机分布(即对象被大致平均分割),分割的顺序是否会影响最后 28 组的方差。如果我分成 4 再分成 7,那与分成 7 再分成 4 有什么不同?如果一个拆分器的方差大于另一个拆分器,答案是否会改变?
特定的 R 问题:我如何编写模型来回答这个问题?到目前为止,我已经尝试使用sample 和rnorm 来生成示例数据。模拟 4 路分离器看起来像这样:
sample(1:4, size=100000, replace=TRUE)
这基本上就像滚动一个 4 面骰子 100,000 次并记录每个数字的实例数。我可以使用 table 函数对实例求和,这给了我这样的输出:
> table(sample(1:4, size=100000, replace=TRUE))
1 2 3 4
25222 24790 25047 24941
现在,我想获取这些输出中的每一个并将它们用作 输入 以进行 7 路拆分。
我尝试将 4 路拆分保存为变量,然后将该向量插入到 size = 变量中,如下所示:
Split4way <- as.vector(table(sample(1:4, size=100000, replace=TRUE)))
as.vector(table(sample(1:7, size=Split4Way, replace=TRUE)))
但是当我这样做时,我得到的不是一个 4 行 7 列的矩阵,而是一个 1 行 7 列的向量。似乎 7 路拆分的“大小”变量仅使用 4 路拆分的 4 个输出中的 1 个,而不是使用其中的 每个。
> as.vector(table(sample(1:7, size = Split4up, replace=TRUE)))
[1] 3527 3570 3527 3511 3550 3480 3588
那么,我如何生成一个表格或列表来显示 4 路拆分和 7 路拆分的所有输出,总共 28 个拆分?
与
是否有一个功能可以让我自定义每个拆分设备的标准偏差?例如,我可以规定 4 路分路器的输出有 x% 的标准偏差,而 7 路分路器的输出有 x% 的标准偏差?
【问题讨论】:
-
如果拆分器的概率是固定的,如何控制标准差?改变计数标准偏差的唯一方法是给分离器不等的概率。如果两个拆分器相等,则输入对象最终会出现在任何特定 bin 中的概率为 1/28。无论拆分的顺序如何,方差都将根据多项分布固定。
-
@AllanCameron 是的,如果拆分器工作得很好,那么我最终会在每次拆分中获得总数的 1/28。我可能会因为使用不恰当的术语而造成混淆。我假设它们不能完美地工作,所以我们可以通过规定输出的标准偏差约为 5% 来模拟它。我想这与说拆分器是完全“随机的”不同,根据样本量的大小,它最终仍可能产生标准偏差为 5% 的输出。
标签: r random probability