0

我希望使用粒子群优化 (PSO) 优化复杂的参数化模型对噪声数据的拟合。数据是时间序列的化学浓度值。

在我的优化目标函数中,我使用浓度时间序列分布和模型预测之间的 Bray Curtis 距离 [1] 来测量适应度(模型预测是使用与优化问题的候选解相对应的参数产生的)。

目前,我不考虑我的浓度数据的不精确性。实际上,浓度已四舍五入为整数值。我怀疑如果 PSO 例程和/或目标函数“意识到”输入数据的不精确性,我可以获得更好的 PSO 模型拟合。

我能够找到预测时间序列和数据时间序列的最小和最大 Bray Curtis 距离,但不确定如何最好地在 PSO 代码中利用这些值。

在进化优化的背景下评估候选解决方案的适用性时,是否有人对如何处理数据不精确有任何建议?

第二个问题是时间序列数据受仪器和时间误差的影响。我很高兴假设这两种类型的误差都是正态分布的并且具有不变的标准偏差,但我不再确定在量化 PSO 优化的适合度时如何最好地处理这种不确定性。

[1] http://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.braycurtis.html

4

2 回答 2

0

与大多数算法相比,PSO 应该对噪声数据更具弹性。您是否观察到 PSO 运行方式的实际问题?确保使用相当稀疏的拓扑。如果它真的归结为它,你可以让每个粒子用于其个人和邻域的最佳值,而不是它所见过的最佳值,而是最近 500 次迭代中的最佳值。这有点骇人听闻,但可能值得一试。最后,如果算法运行良好,您可能根本不必担心。

于 2012-03-23T17:17:53.563 回答