rnd:加权一的工作不会返回我认为应该的分布]]

问题描述 投票:0回答:2

我试图使用rnd扩展名的功能列表加权一。

我的列表看起来像

observer>show female-yr-run-stats

observer: [[117 0.001169] [118 0.002684] [119 0.004697] [120 0.003368] [121 0.004871] [122 0.018738] [123 0.034986] [124 0.070616] [125 0.035608] [126 0.012939] [127 0.011883] [128 0.016594] [129 0.068837] [130 0.044391] [131 0.028422] [132 0.053251] [133 0.023741] [134 0.042111] [135 0.035811] [136 0.022447] [137 0.031563] [138 0.024253] [139 0.030213] [140 0.024372] [141 0.033266] [142 0.059869] [143 0.028711] [144 0.030863] [145 0.04043] [146 0.008819] [147 0.012308] [148 0.008638] [149 0.021345] [150 0.016176] [151 0.009815] [152 0.017242] [153 0.014362] [154 0.010717] [155 0.015868] [156 0.003865] [157 0.008441] [158 0.004358] [159 0.003113] [160 0.002464] [161 0.001768]]

第一项是一年中的某天,第二项是概率(所有总和为一个)。

我正在使用代码

  repeat 50000[
   let tempo first rnd:weighted-one-of-list female-yr-run-stats [ [p] -> last p ] 
        file-open "C://temp//check_wgt_random.csv"
         file-print (word tempo)
         file-close 
   ]

随机选择一年中的某天50000次,以检查rnd:weighted-of-list功能是否正在执行我想要的操作。从结果中,我得到一年中的分布。但是,当我将结果分布与原始概率分布进行比较时,它们是完全不同的。

我认为清单的rnd:weighted-of-list等同于从R的rmultinom函数之类的多项式分布中随机抽取。我对么?难道我做错了什么?

任何帮助将不胜感激。

下图显示了比较结果

Comparison of the original, EXCEL, R and netlogo distributions of day of the year

我尝试使用rnd扩展名的功能列表加权一。我的列表看起来像是观察者>显示女性年运行统计的观察者:[[117 0.001169] [118 0.002684] [119 0.004697] [120 0.003368] [...

netlogo
2个回答
0
投票

rnd:weighted-one-of-list原语以您认为的方式(我认为)起作用。它从您的数据中得出概率为3.04E-4的值112,概率为0.001236的值113等。这些概率不必加1(我假设您是正确的)。我看不出您在抽奖中使用此原语有什么问题。


0
投票

很抱歉浪费您的时间。我发现发生了什么事。我混合了两个概率流。

© www.soinside.com 2019 - 2024. All rights reserved.