- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Benjamini & Hochberg 的方法计算一组经过 FDR 校正的 p 值。但是,我尝试运行此程序的向量包含超过 100 亿个值。
考虑到正常的数据量 method from statsmodel's多重计算模块很快就会耗尽内存。查看该函数的源代码,它似乎在内存中创建了多个长度为 100 亿的向量,这显然是行不通的,即使在具有 100GB RAM 的机器上也是如此。
有没有办法做到这一点,理想情况下不必将整个向量保留在内存中?我特别想知道是否可以重新实现 BH,使其能够使用 h5py 数据结构在磁盘上运行。
或者还有其他建议吗?
最佳答案
如果其他人偶然发现这个:
我解决这个问题的方法是首先提取所有有机会通过 FDR 校正阈值的 p 值(我使用 1e-5)。内存消耗不是问题,因为我可以迭代磁盘上的 p 值列表。
这给了我一组大约 400k 的最低 p 值。然后,我手动将 BH 过程应用于这些 p 值,但将原始测试数量插入到公式中。由于 BH 是一个升压过程,因此(据我所知)这相当于将 BH 应用于整个向量,而不需要我对 100 亿个值进行排序。
关于python - 使用 numpy/h5py 进行内存高效的 Benjamini-Hochberg FDR 校正,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30764325/
当我尝试使用 p.adjust 时出现了这个问题。对 p 值向量运行 FDR 调整。问题是许多结果 p 值是相同的。我认为这可能是我的数据的一些怪癖,但我已经用任意输入向量重现了同样的问题。例如: t
我有 2 个输入变量: 具有 N 个元素(未排序)的 p 值向量 (p) 和 N x M 矩阵,其 p 值通过随机排列 (pr) 和 M 迭代获得. N 很大,10K 到 100K 或更多。 M 让我
我正在尝试基于全文搜索对用户进行搜索。 SELECT * FROM users WHERE MATCH (name) AGAINST ('FDR' IN BOOLEAN MODE); 但是查询没有产生
我知道 R 中的 p.adjust 函数,它可以很好地满足我的需求。但是,现在我想根据 FDR (Benjamini & Hochberg) 方法更正 significance threshold (
我正在尝试使用 Benjamini & Hochberg 的方法计算一组经过 FDR 校正的 p 值。但是,我尝试运行此程序的向量包含超过 100 亿个值。 考虑到正常的数据量 method from
我是一名优秀的程序员,十分优秀!