2012-03-23 88 views
0

我希望利用粒子群优化(PSO)优化复杂的参数化模型与噪声数据的拟合。数据是时间序列化学浓度值。粒子群优化:处理候选解中的不确定性/不精确性

在我的优化目标函数中,我使用浓度时间序列曲线和模型预测之间的布雷柯蒂斯距离[1]来测量适应度(模型预测是使用与优化问题的候选解决方案对应的参数生成的) 。

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

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

当评估候选解决方案在进化优化环境下的适应度时,有没有人对如何处理数据不精确性有任何建议?

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

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

回答

0

PSO应该更有弹性比大多数算法的噪声数据。您是否观察过PSO如何运行的实际问题?确保使用相当稀疏的拓扑结构。如果真的可以归结为它,你可以让每个粒子用于个人和社区的最佳效果,而不是它所见过的最好的价值,而是最近500次迭代中的最佳价值。这有点破解,但可能值得一试。最后,如果算法没有问题,你可能不用担心。

+1

我才知道有模型拟合问题,即原始数据我正在同是受舍入误差开始后。我已经在使用稀疏粒子通信拓扑(Von Neumann格)。自从发布我的问题后,我发现如果将Bray Curtis距离的定义改为sum(sgn(| u_i-v_i | -p)| u_i-v_i | -p)/ sum(| u_i + v_i |)其中p是向量u的最大精度(即p =((u中的最大小数位数)+1)/ 2 – 2012-03-28 15:42:26