5

我有一个包含超过 250,000 个观察值的大型数据集,我想使用该TraMineR包进行分析。特别是,我想使用命令seqtreeseqdist,例如,当我使用 10,000 个观测值的子样本时,它可以正常工作。我的计算机可以管理的限制是大约 20,000 个观测值。

我想使用所有的观察结果,而且我确实可以使用一台能够做到这一点的超级计算机。但是,这并没有多大帮助,因为该过程仅在单个内核上运行。因此我的问题是,是否可以将并行计算技术应用于上述命令?还是有其他方法可以加快这个过程?任何帮助,将不胜感激!

4

1 回答 1

5

内部seqdist函数是用 C++ 编写的,并进行了许多优化。因此,如果要并行化 seqdist,则需要在 C++ 中进行。该循环位于源文件“distancefunctions.cpp”中,您需要查看函数“cstringdistance”中位于第 300 行附近的两个循环(抱歉,所有注释均为法语)。不幸的是,第二个重要的优化是内存在所有计算之间共享。因此,我认为并行化会非常复杂。

除了选择样本外,您还应考虑以下优化:

于 2013-07-04T08:31:42.847 回答