問題タブ [non-linear-regression]

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.

0 投票する
2 に答える
250 参照

r - 「nls」がモデルのパラメーターを推定できない

ヒープの法則の定数を推定しようとしています。次のデータセットがありますnovels_colection

次に、次の関数を作成します。

したがってn = Word Occurrences、 、KおよびBは、個別の単語の予測を見つけるために定数である必要がある値です。

これを試しましたが、エラーが発生します:

エラー =Error in numericDeriv(form[[3L]], names(ind), env) : Missing value or an infinity produced when evaluating the model

これをどのように修正するか、関数に合わせて and の値を取得する方法について何か考えはKありBますか?

0 投票する
0 に答える
2812 参照

scipy - scipy.optimize.minimize のヤコビアン出力を理解する

カスタム非線形関数の RSS の最小値を見つけるために scipy.optimize.minimize を使用しています。私がやっていることを説明するために、単純な線形の例を提供します。

これにより、次の結果が得られます。

また、適合パラメーター 10、-32、および 15 は、実際のデータの生成に使用されたパラメーターと同等であることがわかります。それは素晴らしいことです。今私の質問:

ヤコビアンは mxn 行列である必要があることを理解しています。ここで、m は X 入力からのレコードの数であり、n はパラメーターの数です。明らかに、結果オブジェクトにはそれがありません。結果オブジェクトは、ドキュメントでヤコビアンと呼ばれる配列 ( 1および2 ) を生成しますが、パラメーターの数と等しい数の要素を持つ 1 次元のみです。

method='SLSQP' を使用すると、返されるヤコビアンには、他の最小化アルゴリズムによって返される要素よりも 1 つ多くの要素が含まれます。

. . .

ここでの私のより大きな目標は、当てはめたパラメーターの信頼区間または標準誤差、t 値、p 値のいずれかを計算できるようにすることです。

編集:

以下は、SLSQP 最小化アルゴリズムが、問題に制約があるかどうかに応じて、BFGS、L-BFGS-B、または SLSQP のいずれかである既定の最小化アルゴリズムとは異なるヤコビアンの結果をどのように生成するかを示すことを目的としています (ドキュメンテーション)。SLSQP ソルバーは、制約と共に使用することを目的としています。

結果:

SLSQP ソルバーから返されたヤコビアン配列に余分な要素があることがわかります。これがどこから来たのか混乱しています。

0 投票する
1 に答える
278 参照

r - R - darch() と predict() を使用してモデルを非線形回帰に適合させる方法は?

darch() を使用してモデルを非線形回帰に適合させようとしています。

ここに私がすでに行ったコードがあります:

ただし、予測で値を取得しようとすると、待っている値のようには見えません。

darch() によって生成されたモデルをプロットして、ポイントの分布に適合するかどうかを確認できるように、スクリプトが新しい Y 座標を返すようにしたいと考えています。

乾杯 !

0 投票する
0 に答える
206 参照

matlab - Matlab - 非線形モデル フィッティングへの仮定の追加

Matlab 内で fitnlm 関数を使用して 3 つの係数を計算しています。結果を改善するには、2 つの係数を正にし、3 つ目の係数を 0 ~ 360 度にする必要があることを知っています。これらの仮定をモデルに追加するにはどうすればよいですか? ヘルプ ファイルを調べましたが、役立つ情報が見つからないようです。以下は私が使用したコードです:

助けてくれてありがとう

ジェームズ

0 投票する
0 に答える
145 参照

nls - 見積もり方法は?「単純な」非線形回帰 + パラメータ制約 + AR 残差

私はこのサイトを初めて使用するので、ご容赦ください。リンクに示されているように、非線形モデルが必要です: https://i.stack.imgur.com/cNpWt.png [0,1] のパラメーター a>0 および b>0 および gamma1 に制約を課すことによって。

非線形モデル [1] では、独立変数は x(t) であり、従属変数は R(t)、F(t) であり、ξ(t) は誤差項です。

データセットの例を以下に示します: https://i.stack.imgur.com/2Vf0j.png 68 行の時系列

非線形回帰を推定するには、以下に示すように nls() 関数を問題なく使用します。

NLM1 = nls(**Xt ~ (a Rt-b Ft)/(1-gamma1*Rt), start = list(a = 10, b = 10, lamda = 0.5 )**,アルゴリズム = "ポート", 下=c(0,0,0),上限=c(Inf,Inf,1),データ=temp2)

残差の AR(1) も考慮して NLM1 を推定したいと思います。

基本的に、lm() から gls() に移動するのと同じ手順が必要です。私の問題は、gnls() 関数で、モデル パラメーター a、b、gamma1 に制約を設定する方法がわからず、モデルがそれらの値を間違って推定することです。

nls() には、下限と上限のオプションがあります。gnls() でも同じことはできません

gnls() で: nls() lower=c(0,0,0),upper=c(Inf,Inf,1) のような制約を追加する必要があります

NLM1_AR1 = gnls( モデル = Xt ~ (a Rt-b Ft)/(1-gamma1*Rt)、データ = temp2、開始 = リスト (a =13、b = 10、ラムダ = 0.5)、相関 = corARMA(p = 1))

それを行う方法の解決策を知っている人はいますか?

ありがとうございました

0 投票する
2 に答える
3547 参照

python - scipy optimize.least_squares メソッドから適合パラメータの共分散行列を取得する

制約付きの非線形最小二乗最適化を実行するために、scipy.optimize のleast_squares メソッドを使用しています。適合パラメータのエラーバーを取得するために、適合パラメータの共分散行列を取得する方法を知りたいと思っていましたか?

これは、curve_fitleastsqではかなり明確なようですが、least_squares メソッドでは (少なくとも私には) 明確ではありません。

私が行ってきた 1 つのアプローチは、least_squares がヤコビ行列J ("jac" の戻り値) を返すことを知っているため、ヘッセ行列 H を 2*J^T J で近似することです。行列は H^{-1} であるため、およそ (2*J^TJ)^{-1} ですが、これは共分散の近似が粗すぎるのではないかと心配しています。

0 投票する
1 に答える
1123 参照

r - R に非線形外生変数を含む ARIMA モデル

R で非線形回帰を行っており、モデルに移動平均項を 1 つ追加して、残差の自己相関を排除したいと考えています。

基本的に、モデルは次のとおりです。

[e]移動平均項です。

ARIMA(0, 0, 1)残差のモデル化に使用する予定です。しかし、ARIMA モデルに非線形外因性部分を追加するには、R でどの関数を使用すればよいかわかりません。

詳細情報: コマンドを使用してとnlsを推定する方法は知っていますが、 の処理方法がわかりません。age[n]

私は、線形外生変数を持つ ARIMA モデルを処理できることxregを知っています。arima非線形外生変数を持つ ARIMA モデルを処理する同様の関数はありますか?

事前に助けてくれてありがとう!

0 投票する
1 に答える
1898 参照

r - `nls` フィッティング エラー: 開始値に関係なく、常に反復の最大数に達します

成長曲線のロジスティック モデルにこのパラメーター化を使用する

ここに画像の説明を入力

私はいくつかのポイントを作成しました: K =0.7 ; y0=0.01; r =0.3

ここに画像の説明を入力

モデル スターターを使用してデータを作成すると、フィッティング エラーが発生する可能性があることを教えてもらえますか?

0 投票する
1 に答える
1301 参照

r - `predict.nls` は、指定された `newdata` での予測ではなく、適合値を返します

データセットへのリンク

定義済みパラメーター:

nls以下を使用してモデルを正常に適合させます。

問題: 予測をプロットできません

y と x の長さが異なります。

なぜそうすべきなのかわかりません.300個の変数を持つ新しいデータフレームを定義しましたy.予測には300個の結果しかないはずです.

0 投票する
1 に答える
1660 参照

machine-learning - TensorFlow を使用した非線形回帰は直線になります

関数の単純な非線形回帰を試みています。TensorFlow を使用したx 2 sin(x)。以下のコードと出力を参照してください。また、a) サンプル ポイントの数を 10,000 に増やす、b) 隠れ層の数を増やす、c) 学習率を増減する、d) ReLU の代わりに改善なしで tanh を試しました。誰かがそれを試して、アプローチの何が問題なのかを確認できますか?

出力:

(1000, 1)
トレーニング データ ポイント: 668
検証データ ポイント: 166
テスト データ ポイント: 166 ステップ 0 での
初期化されたミニバッチ損失: 3.902083 ミニバッチ RMSE: 2.793586 検証 RMSE: 2.771836 ステップ 500 でのミニバッチ損失: 1.504731 ミニバッチ RMSE: 1.733019: 検証1.693558 ステップ1000でのミニバッチ損失:1.077074 ミニバッチRMSE:1.465299 検証RMSE:1.492440 ステップ1500でのミニバッチ損失:1.064864 ミニバッチRMSE : 1.456898 検証rmse:1.456898 rmse rmse:1.456898 minibatch rmse :1.464581 ミニバッチ損失2500: 1.055446
















ミニバッチ RMSE: 1.450549
検証 RMSE: 1.461191
ステップ 3000 でのミニバッチ損失: 1.069557
ミニバッチ RMSE: 1.460215
検証 RMSE: 1.461298
テスト RMSE: 1.557867
合計 RMSE:
1.473936

非線形回帰からの出力