问题标签 [random-sample]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5208 浏览

c# - 使用具有随机间隔的计时器

我正在尝试使用下面的代码以随机间隔运行计时器。问题是,当我这样做时,我只发布了 1 个随机数,而且我不确定如何使用我的代码获取下一个随机数:

0 投票
1 回答
685 浏览

c++ - Boost random::discrete_distribution 构造后如何更改权重?

好的,可以在 boost::random::discrete_distribution 中给出权重/概率。

例如

双倍概率[] = { 0.5, 0.1, 0.1, 0.1, 0.1, 0.1 };

boost::random::discrete_distribution<> dist (概率);

问题:一旦构造了对象dist

(1)如何将其中一个权重例如0.5更改为0.3?

(2) 如何一次重新分配所有权重?

0 投票
4 回答
3003 浏览

algorithm - 在允许更新的同时从分布中随机抽样的有效算法?

这是我前段时间在面试时被问到的问题,我找不到答案。

给定一些样本 S1, S2, ... Sn 和它们的概率分布(或权重,不管它叫什么)P1, P2, .. Pn,设计随机选择样本的算法考虑到它的概率。我提出的解决方案如下:

  1. 构建权重 Ci 的累积数组,例如

    C0 = 0; Ci = C[i-1] + Pi。

同时计算T=P1+P2+...Pn。需要 O(n) 时间

  1. 生成均匀随机数 R = T*random[0..1]
  2. 使用二分查找算法,返回最少 i 个这样的 Ci >= R。结果是 Si。它需要 O(logN) 时间。

现在实际的问题是:假设我想更改初始权重 Pj 之一。如何在比 O(n) 时间内更好地做到这一点?其他数据结构是可以接受的,但随机采样算法不应该比 O(logN) 差。

0 投票
2 回答
33688 浏览

r - 随机抽样 - 矩阵

如何从填充有 1 和 0 的矩阵中抽取 n 个随机点的样本?

我想确保我取 N 个样本的位置(行,列)是随机的。

我知道sample {base},但它似乎不允许我这样做,我知道的其他方法是空间方法,它们将迫使我添加 x,y 并将其更改为空间对象,然后再次返回正常矩阵。

更多信息

随机我的意思是也分布在“矩阵空间”内,例如,如果我对 4 个点进行采样,我不希望有 4 个相邻点,我希望它们分布在“矩阵空间”中。

知道我取出随机点的矩阵中的位置(行,列)也很重要。

0 投票
1 回答
581 浏览

neo4j - 如何使用 Gremlin 从 Neo4j 获取随机样本?

我正在尝试使用 Gremlin 从 Neo4j 中提取随机节点样本。在四处寻找之后,我找不到合适的方法来做到这一点。

我通过 REST API 使用 Neo4j。

我理想的查询是这样的:

显然,没有这样的方法。环顾四周,我发现 .random() 只会发出随机节点。我想过做这样的事情:

目标是获得一个大小大致相同但结果更多的随机集。从调用脚本中,我会对其进行洗牌并选择前 50 个。但是,这也不起作用,因为结果集在计数后为空。

我还考虑过获得一个固定比率并获得一个子集,但如果没有洗牌,最后一个节点被占用的机会就会更小,我想避免发送比需要更多的数据。

我还可以将结果集填充两次,一次计数,一次过滤。然而,这似乎不对。

什么是获得随机样本的好方法?

编辑:(基于 Marko A. Rodriguez 的评论

我想出了以下内容:

我发现最后一个条件有点烦人,但是如果条目较少,切片就会失败。

另外,这对 Neo4j 的更大数据集有影响吗?就网络通信而言,它是最佳的。

0 投票
3 回答
412 浏览

matlab - 从 MATLAB 中的一个非常大的数组中按索引选择 n 个加权元素

假设我有一个非常大的方阵 M(i, j),这样矩阵中的每个元素都表示在加权随机选择中选择该元素的概率。我需要从矩阵中采样 n 个元素(通过 (i, j) 索引)并进行替换。权重将在主循环的每次迭代中发生变化。

目前,我正在使用以下内容:

但这似乎是一个相当笨重的方法,由于 for 循环,这也需要很长时间。有没有更有效的方法?也许如果我以某种方式对矩阵进行矢量化?

*编辑我应该提到我无权访问统计工具箱

提前谢谢了。

0 投票
4 回答
98 浏览

python - 从随机样本中写出

我从写入文件的列表中有 30 n 个随机样本。

我宁愿通过在末尾写入“in_sample”或“not_in_sample”来标记进入样本的行。

现在看起来像这样:

我只写出示例中的行,但我希望文件看起来像这样:

该文件之前看起来相同,但没有最后一列。

我清楚了吗?

0 投票
2 回答
14211 浏览

r - 如何在 R 中按状态创建分层样本

如何使用“采样”包在 R 中创建分层样本?我的数据集有 355,000 个观察值。该代码可以正常工作到最后一行。下面是我编写的代码,但我总是收到以下消息:“sort.list(y) 中的错误:'x' 对于 'sort.list' 必须是原子的,你在列表上调用过 'sort' 吗?”

请不要将我指向 Stackoverflow 上的旧消息。我研究了它们,但无法使用它们。谢谢你。

0 投票
2 回答
974 浏览

r - 用于引导分析的模拟数据集

我的目标是使用自举(1000 次重复)来计算 r(皮尔逊相关系数)的空分布、均值和 CI,这些与从我的 600 个唯一个体 (ID) 的数据集生成的 20 个受激随机对中的特征 (x) 相关。我最近从 SAS 切换到 R,我将使用“procsurveyselect”来生成数据集。问题:

  1. 产生这些结果的最有效方法是什么(见下面我的尝试)?
  2. 在我的示例中,我将如何使用 set.seed 命令来复制我的结果?

具有 600 个人和相关特征值的模拟起始数据集:

然后我生成 r 的 1000 次重复并计算 95% CI:

0 投票
3 回答
6364 浏览

sql - 在 SQL 中选择随机子集 (Sybase Server IQ)

我正在尝试使用 rand() 或 newid() 选择记录的随机子集,但无论何时运行以下命令,我总是得到相同的结果:

我已经尝试了这个的每一个变体,但是当我像上面那样做时,sybase server iq 似乎总是返回相同的 rand() 值。当我尝试做

我收到一个错误,说在 order by 中使用 newid() 是非法的。

有什么建议么?