2012-03-23 18 views
0

粒子群最適化(PSO)を使用して、複雑なパラメータ化モデルのノイズの多いデータへの適合を最適化したい。データは、時系列の化学物質濃度値である。粒子群最適化:候補解フィットネスの不確定性/不正確さを扱う

私の最適化目的関数では、濃度時系列プロファイルとモデル予測との間のブレイカーチス距離[1]を用いて適応度を測定する(モデル予測は、最適化問題の候補解に対応するパラメータを用いて生成される) 。

現在のところ私の濃度データの不正確さを説明していません。実際には、濃度は整数値に丸められています。私は、PSOのルーチンや目的関数が入力データの不正確さを「認識」していれば、PSOでより良いモデル適合を得ることができると考えています。

予測時系列とデータ時系列のBray Curtis最小値と最大値を見つけることができましたが、PSOコード内でこれらの値をどのように使うのが最適かはわかりません。

進化的最適化のコンテキスト内で候補ソリューションの適合度を評価する際に、データの不正確さをどのように処理するかについての提案はありますか?

第2の問題は、時系列データが計測誤差とタイミング誤差の両方を受けていることです。両方のタイプのエラーが正常に分布し、標準偏差が不変であると仮定するのはうれしいですが、PSO最適化の適性を数値化するときにこの不確実性をどのように処理するのが最善であるかはもう分かりません。

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

答えて

0

PSOが最もアルゴリズムよりノイズの多いデータに対してより弾力的であるべきです。 PSOの実行方法に実際の問題があるのを見たことがありますか?かなりスパースなトポロジを使用するようにしてください。そして実際にそれが実現すれば、それまでに得られた最高の価値ではなく、過去の500回の反復で最高の価値を持つように、個々のパーティクルの使用量を個人的なものや近所のものにすることができます。ハックのビットですが、試してみる価値があります。結局、もしアルゴリズムが大丈夫ならば、心配する必要は全くないでしょう。

+1

私は私が働いていた生データは、丸め誤差の対象としたモデルフィッティング問題で始まる後に意識するようになりました。私はすでに疎粒コミュニケーショントポロジー(フォンノイマン格子)を使用しています。私の質問を投稿して以来、ブレイ・カーチス距離の定義をsum(sgn(| u_i-v_i | -p)| u_i-v_i | -p)/に変更すると、PSOを使ってより良いモデルフィットを得ることができました。ここで、pはベクトルuの最大精度です(つまり、p =((uの小数点以下の桁数の最大値)+1)/ 2 –