問題タブ [weighting]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - R の最小二乗誤差を見つけるための重みの最適化
実際のモデルと、予測値と適合値を含む 4 つの異なるモデルがあります。これらの適合値を使用して、(summation(wifi)-actuals)^2 が最小になるように最適な重みを見つけたいと思います。ここで、wi は最適に見つけたい重みで、fi は各モデルの適合値です。
私がwiに対して持っている制限は次のとおりです。
- 重みは 0 より大きくなければなりません。
- 重みは 1 より小さくなければなりません。
- 重みの合計は 1 でなければなりません
ここで同様の例を見たことがあります [ https://stats.stackexchange.com/questions/385372/weight-optimization-in-order-to-maximize-correlation-r ]が、特定の問題については再現できませんでした。
問題をよりよく理解するためにサンプルデータを生成しましょう
ここで、(summation(wifi)-actuals)^2 が最小になるように (w1,w2,w3,w4) を最適に見つける必要があります。重みを保存したいのですが、前述したように、これら 4 つのモデルからの予測もあります。最適な重みを取得すると、アンサンブル モデルの予測値は、これらの重みと予測値の線形関数になります。アンサンブルの最初の予測値は次のようになります。
ensemble_pred_1 = w1*model1_pred1+w2*model2_pred1+w3*model3_pred1+w4*model4_pred1
必要に応じてアンサンブル モデルを生成できるように、最適な wi を見つけるのを手伝ってください。
r - 関数を R に収めることができません
簡単なテストをしたかった:
多くのポイントを持つ関数を作成します。データにランダム ノイズを追加します。
n ポイントごとに、平均と標準偏差を計算します。
エラーバー (sd*1.96/sqrt(n) のようなもの) を使用して、新しい (「ブロックされた」) データを表示します。
nls フィットと重み ((sd/sqrt(n))^(2)) を使用して、「ブロックされた」データをフィットします。
次に 、.swts * attr(rhs, "gradient") の fit Error でエラーが発生します: ....
- 重みがなければ、これはうまく機能します。