我在Windows 10上使用MSGARCH(R的软件包)
我应该使用此代码多次拟合任何马尔可夫切换模型(12.500一会儿和for循环)
X = CreateSpec(variance.spec = list(model = c()),
distribution.spec = list(distribution = c()))
Y = FitML(data, spec = X)
如何并行化最后一个函数(FitML)?我想为各种X值运行许多FitML()函数
答案 0 :(得分:0)
假设您已有X
:s列表,我们将其称为Xs
,然后您可以在每个元素上调用FitML()
:
Ys <- lapply(Xs, FUN = FitML)
以上将函数应用于元素顺序。要同时执行相同操作,您可以使用future.apply生态系统的future包部分(我是作者)。以下内容在您的本地计算机上并行化,适用于所有操作系统:
library(future.apply)
plan(multiprocess)
Ys <- future_lapply(Xs, FUN = FitML)
如果FitML()
存在随机数生成(RNG)组件,则需要使用:
Ys <- future_lapply(Xs, FUN = FitML, future.seed = TRUE)
确保使用正确的随机数。
如果您未指定plan()
或指定plan(sequentially)
,则会按顺序运行。