まず、 私が理解したことから、残差のブートストラップは次のように機能します。
- モデルをデータに合わせる
- 残差を計算する
- 残差を再サンプリングし、それらを1に追加します。
- モデルを3からの新しいデータセットに適合させます。
n
時間を繰り返しますが、常にリサンプリングされた残差を1からの近似に追加します。
これまでのところ正しいですか?
私がやりたいことは少し違うものです:
環境変数を推定するアルゴリズムのパラメーターと予測の不確実性を推定したい。
私が持っているのは、その変数の(シミュレーションからの)エラーのない時系列です。合成データセットを生成するために、x_true
それにノイズを追加します。次に、アルゴリズムを二乗和(!ではなく!)を目的関数としてフィッティングして、最適なパラメーターを見つけようとします。アルゴリズムの動作を確認し、パラメーターの分布のサンプルを作成するために、を再サンプリングし、それをに追加し、モデルを再度フィッティングし、リンスして繰り返します。それはパラメータの不確実性を評価するための有効なアプローチですか?ブートストラップされたデータセットへの適合を予測の不確実性として解釈できますか、それとも上に投稿した手順に従う必要がありますか?x_noise
x
sum((x_estimate - x_true)^2)
x_estimate - x
x_noise
x_true
/ edit:私は自分のモデルが何をしているのか明確にしていないと思います。それは本質的にノイズ除去方法のようなものと考えてください。これは予測モデルではなく、ノイズの多い時系列の環境データの根本的な信号を抽出しようとするアルゴリズムです。
/ edit ^ 2:そこにいるMATLAB-Usersのために、私が何を意味するのかについての簡単で汚い線形回帰の例を書き留めました。
これは、「通常の」残差のブートストラップが正しいと私が信じていることです(間違っている場合は修正してください):http : //pastebin.com/C0CJp3d1
これは私がしたいことです:http://pastebin.com/mbapsz4c