使用R中的mapply,将上一次迭代的输出作为当前迭代的输入

使用R中的mapply,将上一次迭代的输出作为当前迭代的输入,r,parallel-processing,mapply,R,Parallel Processing,Mapply,我在mapply中使用了一长串的优化,每次迭代都与下一次类似。我想使用前面迭代优化值的输出作为当前迭代的起点。有可能吗?或者我可以使用R中的另一个软件包不费吹灰之力地完成它吗 为了澄清,假设我有一个100个值的向量。在每次迭代中,我从1:50、2:51等开始选取其中的50个,以拟合具有3个参数的模型。输出是一个3列51行的数据集。我想加快这个过程,因为后续的迭代几乎都有相同的数据。现在还不清楚您到底想做什么以及希望如何加快这个过程。使用索引为1:50的某些参数拟合模型后,您希望使用上一次迭代将模

我在mapply中使用了一长串的优化,每次迭代都与下一次类似。我想使用前面迭代优化值的输出作为当前迭代的起点。有可能吗?或者我可以使用R中的另一个软件包不费吹灰之力地完成它吗


为了澄清,假设我有一个100个值的向量。在每次迭代中,我从1:50、2:51等开始选取其中的50个,以拟合具有3个参数的模型。输出是一个3列51行的数据集。我想加快这个过程,因为后续的迭代几乎都有相同的数据。

现在还不清楚您到底想做什么以及希望如何加快这个过程。使用索引为1:50的某些参数拟合模型后,您希望使用上一次迭代将模型拟合为索引为2:51的参数会很快吗?听起来这取决于型号。如果你想按照你在标题中所说的去做,即使用迭代的输出作为下一个迭代的输入,这是使用Reduce来完成的。我们可以考虑使用Model1表示数据1:50,Model2表示数据2:51,参数Par1_1,Par1_2,Par1_3以及相同的参数表示模型2。由于数据相似,我希望将Model1中的优化参数作为Model2的起始值将对性能和速度产生影响。我不完全确定,但这似乎是一个很好的赌注。好的,我明白了。假设您想要适合N个模型。您需要一个函数finit,它接收数据(例如1:50)和一次迭代的初始参数,并输出下一次迭代的初始参数。然后,如果datalist是长度为N的列表,其第i个分量是第i次迭代的数据,则需要Reducef、datalist、init0,其中init0是第一次迭代的初始化。我猜在f中的某个地方,你还必须保存拟合每个模型的输出。这有意义吗?你确定这是最好的方法吗?您将如何处理50组优化参数的输出?如果都来自同一人群,你想学什么?真正的应用是每天从SPX的20年(1-2-3-5年和10年回顾期)日志返回数据推断GHYP参数。不幸的是,这需要大量的时间,而且我在优化稳定性方面遇到了困难。我想也许会有帮助。