【发布时间】:2021-09-02 21:14:40
【问题描述】:
我正在尝试使用经验分布来模拟数据。例如,假设有五个结果,其概率如下面的向量所示:
PROBABILITY_VECTOR = [0.1, 0.2, 0.3, 0.25, 0.15]
PROBABILITY_VECTOR 是根据经验数据计算得出的 - 因此对于该向量中的第一个类别,虽然平均概率为 0.1,但样本之间存在相当大的差异。同样,最后一个类别,虽然所有样本的平均值为 0.15,但存在相当大的差异。概率为 0.3 和 0.25 的中间类别相当紧凑。
我使用 PROC IML,带有这些语句:
CALL RANDSEED(12345);
CALL RANDGEN(SAMPLE, "TABLE", PROBABILITY_VECTOR);
当我这样做时,所有模拟结果的平均值与概率向量一致,正如您所期望的那样。但是,如果我希望我的模拟试验也显示我在数据的某些类别中观察到的广泛差异,我该怎么做?有什么想法吗?
【问题讨论】:
-
听起来你有 6 个组和一个二进制变量。该向量似乎是每组上二元变量的平均值。如果这是正确的,则从混合模型中采样。对于每个类别,您需要 pi[i]=prob 观察值在组中,即 N[i]/N。有关高斯示例,请参阅 blogs.sas.com/content/iml/2011/09/21/…,但我认为您的示例将模拟伯努利分布。
-
@Joe 感谢您的提示!
-
@Rick 感谢您的回复!将查看该帖子,并就如何模拟混合模型进行更多研究!
-
实际上,我在这篇博文中添加了一些额外的想法:blogs.sas.com/content/iml/2021/09/09/… 我没有将其作为答案提交,因为我不清楚您问题中的某些细节。如果您认为我最近的博客文章回答了您的问题,我可以将其作为答案。
标签: sas simulation sas-iml