Оптимизация роя частиц: устранение неопределенности / неточности в пригодности подходящего решения - PullRequest
0 голосов
/ 23 марта 2012

Я хочу оптимизировать подгонку сложной параметризованной модели к шумным данным с помощью Particle Swarm Optimization (PSO).Данные представляют собой значения химической концентрации во временных рядах.

В рамках моей целевой функции оптимизации я измеряю пригодность, используя расстояние Брея Кертиса [1] между профилями временных рядов концентрации и прогнозом модели (прогноз модели создается с использованием параметров, соответствующих возможному решению оптимизации)проблема).

В настоящее время я не учитываю неточности в моих данных о концентрации.В действительности концентрации были округлены до целых значений.Я подозреваю, что я мог бы получить лучшее соответствие модели с PSO, если бы процедура PSO и / или целевая функция «знали» о неточности входных данных.

Я могу найти минимальное и максимальное расстояния Брея Кертиса для временных рядов прогноза и временных рядов данных, но не уверен, как лучше использовать эти значения в коде PSO.

Есть ли у кого-нибудь какие-либо предложения относительно того, как бороться с неточностью данных при оценке пригодности возможных решений в контексте эволюционной оптимизации?

Вторичной проблемой является то, что данные временного ряда подвержены какошибки прибора и синхронизации.Я рад предположить, что оба типа ошибок обычно распределены и имеют инвариантные стандартные отклонения, но опять же больше не уверен, как лучше всего справиться с этой неопределенностью при количественной оценке пригодности для оптимизации PSO.

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

Ответы [ 2 ]

0 голосов
/ 15 октября 2012
0 голосов
/ 23 марта 2012

PSO должен быть более устойчивым к шумным данным, чем большинство алгоритмов.Вы наблюдали реальную проблему с тем, как работает PSO?Обязательно используйте довольно разреженную топологию.И если это действительно сводится к этому, вы могли бы использовать каждую частицу для своих личных и соседних бестов, не лучшее значение, которое она когда-либо видела, а скорее лучшее значение за последние 500 итераций.Это что-то вроде хака, но стоит попробовать.В конце концов, если алгоритм работает хорошо, вам, возможно, не придется беспокоиться вообще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...