問題タブ [model-fitting]
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.
numpy - scipy.optimize.leastsq が単純なモデルに適合しない
モデルのパラメーターを推定するためにpython のscipy.optimize
ライブラリを使用しようとしましたが、これまでのところ成功していません。scipy.optimize.leastsq
levenberg-marquardt アルゴリズムを使用するものを使用しようとしました。残念ながら、初期パラメーターの推定値を最適に非常に近い値に設定したとしても、モデル関数の最小値を見つけることが常に失敗します。実際には、常に最初に推測されたパラメーターを返します。だから、私は何か間違ったことをしていると思います。私のモデルは単純な円ですが、物事をさらに単純にするために、半径のみが実際のパラメーターであり、データ内の円の中心は既知であり、ハードコーディングされています。データは、中心が 5.5、半径が 4 の円を持つ 10x10 ピクセルの float 画像です。実際、データは、私が当てはめようとしているモデルを使用して生成されています。したがって、完璧なフィット感が存在します。これが私のコードです:
データの依存関係を取り除き、インストール済みの任意のマシンですぐにコードを実行できるようにするために、データをハードコーディングしましたscipy
。私がよく理解していないのは、model01
関数が返すはずのものです。ドキュメントによると、配列を返すことになっています。何の配列?私のコードでは、各データ ポイントの残差の配列を返す必要があると想定しました。あれは正しいですか?私のデータは画像であるため 2D 配列ですが、残差は残差の平坦化された 2D 配列です。それは大丈夫ですか?誰かが私が間違っていることを正確に教えてもらえますか? 誰かがコードを変更して修正できますか? scipy
上で述べたように、コードはインストール済みのマシンですぐに実行できるはずnumpy
です。達成したいことが不可能な場合scipy.optimize.leastsq
、levenberg-marquardt アルゴリズムを使用してモデルに適合する他のライブラリを提案できますか?
matlab - matlab: 線形回帰と異なる誤差の重み
私はモデルを持っています
y の範囲は [-100000, 100000] です。相対誤差が最小になる回帰を取得することが重要です。絶対誤差はそれほど重要ではありません。
どの matlab 関数を使用すればよいですか? そして、私のサンプルはどれくらいの大きさでなければなりませんか?
そして、計算する最も簡単な方法は何R_adj
ですか? あなたが提案するモデルを評価するための良い変数ですかR_adj
、それともモデルが何か他のものを使用すべきですか?
r - R: データセットの関数 "nls" でエラーが発生しました
気候学的な気圧の値と、気圧が測定された観測所の高さのデータがあります。それらに指数モデルを当てはめたいと思います。データは次のようになります。
私は最初に、データの対数を取り、それらに適合させようとしlm
ました:
しかし、これはまったく適合しないモデルを提供したため、nls
他の投稿 (「開始」など) からさまざまなヒントを得て、関数を使用することにしました。
残念ながら、「開始」しても以下のようなエラーが出てしまい、本当にどうしたらいいのかわかりません…
誰でも助けることができますか?前もって感謝します!!!
probability - 初期データ値の離散 (負の二項) 分布の近似
離散分布関数のフィッティングに問題があります (特に負の二項分布を使用しています)。ここに私の設定があります: 私は未知の寿命を持つ受信アイテムのソースを持っています. 毎日、期限切れになるものもあります (初日に大部分、2 日目にはさらに多くなるなど)。着信アイテムの既存のソース (ソースは 180 日より古い) の場合、負の二項分布を使用して新しいアイテムの寿命を許容誤差までモデル化することができました (MLE - 最尤推定を使用)。
私の問題は、入ってくるアイテムの新しいソースから始まります。短期間 (たとえば 5 ~ 7 日後) のアイテムの生涯分布を推定したいと考えています。MLE を適用しようとすると、平均値が大幅に低くなります (つまり、30 ではなく 3)。これは、最終日 (7 日目) の質量が実際には 1-CDF(6) (過去 6 日間の累積分布関数) であり、実際には生きている項目も含まれていることを MLE が理解できないためだと思います。
初期のデータ値と他の値の質量の合計のみに基づいて離散分布を適合させる良いアプローチはありますか? そのための最適化関数を作成して、前の 6 日間だけに重みを付けることができますが、最適なパフォーマンスが得られないと感じています。
理論の説明は問題ありませんが、特定の関数またはライブラリに対処できる場合は、Matlab、R、Python、および C# で作業できます。
r - RのGLM呼び出しから元の変数名のリストを取得するには?
glm
R で関数を使用する場合、または引数内で関数を使用addNA
できますlog
。4 つの列formula
を持つデータフレームがあるとしましょう:は因子で、は数値変数であり、適合します。Data
Class
var1
var2
var3
glm 出力では、変数 1 が呼び出されaddNA(var1)
(例: in Model$xlevels
)、変数 3 が呼び出されlog(var3)
ます。
変数名に addNA(var1) または log(var3) を表示せずに、var1、var2、および var3 がデータフレームから抽出されたことを示す glm 出力からリストを取得することは可能ですか?
より一般的には、glmへの呼び出しが行われた後、glm 関数内で変換/交差項などが生成される前に、glm によって入力データフレームから抽出された列を推測することは可能ですか?