問題タブ [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.
python - Numpy Polyfit または X および Y 多次元配列への任意のフィッティング
私は 2 つの大きな多次元配列を持っています: Y
50 万個のオブジェクト (例shape=(500000,3)
)の 3 つの測定値をX
保持し、形状は同じですが、測定値の位置が含まれていますY
。
まず、オブジェクトを含む行ごとに多項式を当てはめたいと思います。配列の反復処理が非常に遅いことはわかっていますが、現時点で行っていることは次のとおりです。
私の質問は: 両方の配列の各行を明示的に反復せずに適合させる可能性はありますか?
python - Active Shape Models のフィッティング手順が統計モデルのフィッティング機能で収束しない
私は、Tim Cootes が 教科書と元の論文で説明した Active Shape Models アプローチに従いました。これまでのところ、すべてうまくいきました (Procrustes 分析、主成分分析、画像の前処理 (コントラスト、ノイズ))。フィッティング手順自体だけが収束していないようです。
教科書(p. 13) で説明されているように、グレーレベル構造アプローチの統計モデルを使用して、8 つの切歯のそれぞれと 40 のランドマークのそれぞれのフィッティング関数を作成します (したがって、合計で 320 の異なるフィッティング関数が作成されます)。k
8 本の切歯のそれぞれの 40 個のランドマークのそれぞれを介して、境界に垂直なプロファイルに沿って両側で5 (= ) ポイントをサンプリングすることにより、切歯ごとに。これらの関数は、マハラノビス距離 (教科書p. 14) と同じです。
フィッティング手順中m>k
、現在の歯の近似の 40 個のランドマークのそれぞれを通る境界に垂直なプロファイルに沿って、両側で 10 (= ) 点をサンプリングします。そのように2(m-k)+1
して、対応するフィッティング関数でサンプルを評価する必要があります。これらの各サンプルには、2k+1
ポイントの勾配値が含まれています。関数を最小化するサンプルが選択され、対応するランドマークがそれらの2k+1
点の中間点に配置されます。これは、40 のランドマークごとに行われます。これにより、歯の新しい (まだ検証されていない) 近似値が得られます。
画像座標フレームでのこの近似は、画像座標フレームでの歯のモデルと一致します。bi
次に、主成分分析の係数 ( ) が計算さ|bi|<3*sqrt(eigenvalue_i)
れ、モデルの形状から大きく逸脱しないようにチェックされます。係数 ( bi
) は必要に応じて制限され、画像座標フレームに変換して新しい反復を開始します。
左上の切歯を見つけたい画像を表示します。
反復 19 の画像座標フレームでの歯の近似値を含む勾配画像を示します。 (赤: 検証前 - 緑: 検証後) ご覧のとおり、最適解から少し離れています。
反復 19 のモデル座標フレームの歯の近似を示します。 (青: モデル - 赤: 検証前 - 緑: 検証後) ご覧のとおり、まだモデルの形状に近づいています。
19 回の反復に対するモデル座標フレームでの歯の近似を示します。(青: モデル - 赤: 検証前 - 緑: 検証後) ご覧のとおり、これらすべての反復中、モデルの形状に近いままです。
そのため、(主成分分析によって保護された) 形状に近い状態を保ちますが、ランドマーク周辺の強度の挙動 (フィッティング関数によって保護された) には近くありません。
r - Rのbestglmに相互作用項を含める
R パッケージ bestglm で利用可能な delete-d 交差検証手法を使用したいと考えています。二項応答変数 (種の存在/不在) と、連続またはレベルを持つ 11 の予測変数があり、分析でそれらを連続として扱っています。種にもよりますが、約7000のデータポイントがあります。1 つの変数と他の 10 個の変数の間の相互作用を許可したいと思います。また、2 次応答も含めたいと思います。
これは可能ですか?R ヘルプとこのパッケージのビネットを見て収集したものから、そうではありませんが、何かが欠けている可能性があります。
python - PyMC を使用した不均一なポアソン過程の適合
私はPyMCを初めて使用し、最大事後推定値を使用して、不均一なポアソンプロセスを区分定数レート関数に適合させようとしています。
私のプロセスは、1 日の間にいくつかのイベントを記述します。したがって、私は 1 日を 24 時間に分割しています。つまり、レート関数 (区分定数) 内に 24 の定数があることを意味します。
以下のアイデアを組み合わせる:
次のコードを思いつきましたが、満足のいくものではありません(結果的には間違っていると確信しています):
a0、a1... の値が私のデータに適合していないようです (指定されたラムダを使用した非均質ポアソン過程からのサンプリングによって生成されました -> テストケース!)
ラムダをどのように適合/推定できますか? 私は何を間違っていますか?
(私は pyMC 2.3.2 を使用しています!)
python - ガウス積分関数をデータにあてはめる
特定のデータ セットの最小二乗適合を見つけるのに問題があります。データが関数に従うことはわかっていますが、魔女はガウスと長方形の畳み込みです(広いスリットを通るX線)。私がこれまでに行ったことは、畳み込み積分を見て、それが次のようになることを発見すること
です
。
適合する関数は、幅パラメーター a で指定された積分境界を持つガウスの積分関数です。次に、積分も xt のシフトで実行されます。
これは、データの一部と手作りの適合です。from pylab import * from scipy.optimize import curve_fit from scipy.integrate import quad
func が実際にデータを記述しており、私の計算が正しいことを確認するために、データと関数をいじり、それらを一致させるのに疲れました。次のことが実現可能であることがわかりました。
取得したばかりの開始値を使用してデータを適合させようとすると、問題が発生します。
これは、フィットパラメータよりもデータポイントが少ないことを意味していると思います。それを見てみましょう:
実際には 210 のデータ ポイントがあります。
上記のように、積分関数 (func <> vfunc) に numpy の vectorize 関数を使用する必要がある理由がよくわかりませんが、使用しないことも役に立ちません。一般に、numpy 配列を関数に渡すことができますが、ここでは機能していないようです。一方、ここでは leas-square-fit の力を過大評価している可能性があり、この場合は使用できない可能性がありますが、ここで最尤法を使用するのは好きではありません。一般に、積分関数をデータに当てはめようとしたことがないので、これは私にとって新しいことです。おそらく問題はここにあります。クワッドに関する私の知識は限られており、より良い方法があるかもしれません。積分を分析的に実行することは私の知る限り不可能ですが、明らかに理想的な解決策です;)。
それで、このエラーがどこから来たのか、何か考えはありますか?
distribution - fitdistrplus パッケージの fitdist 関数の「開始」引数のパラメーターの初期値を知るにはどうすればよいですか?
データへの当てはめ分布を学習しています。fitdistrplus パッケージの fitdist 関数を使用していますが、カイ二乗分布の場合は、パラメーターの初期値を含む名前付きリストを指定する必要があります...
[1] 0.6666667 1.3666667 1.2833333 1.3666667 1.5833333 1.5333333 0.6666667 [8] 3.5333333 1.4166667 2.4500000 0.3333333 0.7666667 1.6000000 0.3833333 [15] 0.2666667 >1.8000000 3.2166667 1.3166667 2.4333333 2.2833333 2.3166667 [22] 4.1000000 1.0500000 0.3500000 >1.3166667 2.8333333 0.3166667 1.8333333 [29] 1.4666667 1.9833333 3.3666667 1.7000000 2.0666667 >1.4333333 0.5666667
エラー en fitdistr(surface.na.omit, "chi-squared"): 'start' は名前付きリストでなければなりません
start は名前付き分布のパラメータの初期値を与える名前付きリストです。この引数は、妥当な開始値が計算される一部の分布では省略される場合があり (詳細を参照)、パラメーターの推定に閉じた式が使用される場合は考慮されません。
しかし、この値を計算または見つける方法がわかりません...誰かが私にこれを説明できますか? :/ どうもありがとうございます...
エアリー