問題タブ [stochastic-process]
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.
matlab - 確率微分方程式の解からいくつかのパラメーターの値を抽出する
私はmatlabで確率微分方程式を解いています。例:確率微分方程式を考えてみましょう
ここで、k は定数、A と B は関数、dW(t) はウィーナー過程です。
[0,20] のすべての t の解をプロットします。dW(t) はランダムに生成されることがわかっています。私の質問は次のとおりです。t の特定の値と特定のサブ間隔 ([3,6] など) の A(x,t)、B(x,t)、dW(t) の値を知りたいです。Matlab で使用できるコマンドは何ですか?
D.Higham の論文に基づいて使用したコードは次のとおりです。
特定の時点ごと、または任意の時間間隔ですべてのパラメーター (ランダム: ブラウンニアンを含む) を知りたいとします。どうやってするか?
matlab - ランジュバン方程式のode45
確率微分方程式の解を計算するための Matlab の使用について質問があります。方程式は、この論文(PDF)の 2.2a、b、ページ 3です。
私の教授はode45
小さな時間ステップで使用することを提案しましたが、結果は記事の結果と一致しません。特に時系列とpdf。また、関数内のホワイト ノイズの定義についても疑問があります。
統合関数のコードは次のとおりです。
メインスクリプト:
何か提案があれば、私は感謝します。
ここに、私の EM メソッドと 'sde_euler' に直面する新しいコードがあります。
助けてくれてありがとう!
r - Gillespie SSA 確率モデルが負になるのを防ぐ
Gillespie SSA を使用して、感染 (寄生虫) の確率モデルを作成しました。モデルは「GillespieSSA」パッケージ ( https://cran.r-project.org/web/packages/GillespieSSA/index.html ) を使用しました。要するに、コードは個別のコンパートメントの集団をモデル化します。コンパートメント間の移動は、ユーザー定義のレート方程式に依存します。SSA アルゴリズムは、特定のタイム ステップ (タウ) の各レート方程式によって生成されるイベントの数を計算し、それに応じて母集団を更新します。プロセスは特定の時点まで繰り返されます。問題は、イベントの数がポアソン分布 (Poisson(rate[i]*tau)) であると想定されるため、人口数が負になる場合を含め、率が負の場合にエラーが発生することです。
したがって、レートが計算され、モデルは各時間ステップの人口値を更新し、データ フレーム内のデータ ストアを使用して、以前の実行と一緒にアタッチします。ただし、集団のレベルが非常に低くなると、集団を減少させるイベントの数がコンパートメント内の数よりも多くなるようなイベントが発生する可能性があります。1 つの方法は、タイム ステップを非常に小さくすることですが、これによりシミュレーションの長さが非常に長くなります。
私の質問は、各時間ステップでデータが作成/計算されるときに、負の人口数の値が 0 に変換されるようにコードを拡張する方法はありますか?
私はこの問題に取り組んでみましたが、シミュレーションが完了すると値を変更する方法しか思いつかないようで、負の値は依然として実行自体に問題を引き起こしています。例
(sir.out$L < 0) sir.out$L == 0 の場合
どんな助けでもいただければ幸いです
r - 遷移確率行列を指定して、マルコフ連鎖の定常分布を取得するにはどうすればよいですか
mpow(P, 18)
ベクトル形式と行列形式で書き込もうとしています。誰でもそれで私を助けることができますか?
また、各状態の定常分布を見つけようとしています。
ここに私が書いたコードがあります:
r - マトリックスの異なる確率を持つカジノゲーム
これは私の仕事です:
ピーターは 1 ドルを持ってカジノに行きます。p の確率でピーターは 1 ドルを獲得し、(1-p) の確率で 1 ドルを失います。このプロセスは、マルコフ連鎖として見ることができます。
ピーターが 0 ドルに達すると破産して家に帰り、なんとか 5 ドルに達すると満足して家に帰ります。
p= 30%, 40%, 50%, 60% & 70% のとき、ピーターが 5 ドルを持って家に帰る確率を求めてください。最初の 4 つの状態が一時的なクラス (1 ~ 4 ドル) であり、最後の 2 つの状態が 2 つの再発状態 (0 および 5 ドル) である確率ごとに行列を作成します。
それを解決するための私の計画
when_converged を使用して、個別の各行列がいつ収束するか (P^n = P^n+1) を見つけます。
次に、mpow でその n を使用して、1 ドルから 5 ドル、つまり状態 1 から 6 になる確率を確認します。
これは私のコードです:
Rstudio から、P30 が 35 に収束することがわかりました。
Rstudio から、P40 が 37 に収束していることがわかります。
Rstudio から、P50 が 47 に収束していることがわかります。
Rstudio から、P60 が 61 に収束することがわかりました。
Rstudio から、P70 が 79 に収束していることがわかります。
助けが必要なこと
Rstudio から得たのは、mpow(P60, 61) & mpow(P70, 79) の場合、mpow(P50, 47) & mpow(P40, 37) に比べて 5 ドルで家に帰る確率が低くなるということです。1ドルを獲得する確率が低い場合. これは間違っていると感じます。私が間違っていることはありますか?まったく別のコードではなく、私の方法を使用して解決してください。
matlab - カルマン フィルターが安定化カルマン ゲインを計算できない場合、考えられる理由は何ですか?
カルマンフィルターについて質問です。次のように、状態空間モデルにカルマン フィルターを使用しています。
状態空間行列(A(k),B(k),C(k),D(k))
はサンプリング時間ごとに更新されますが、Q 行列と R 行列は一定であると見なされます。カルマン ゲイン (K(k)) と共分散 P 行列 (P(k)) を計算する式は次のとおりです。
私が直面している問題は、の安定性に関連してい(A(k)-K(k)*C(k))
ます。一部のサンプリング時間では、計算されたカルマン ゲインが(A(k)-K(k)*C(k))
行列を安定化できず、 の固有値(A(k)-K(k)*C(k))
が単位円の外側にあります。
この問題の原因を突き止めるのを手伝ってくれませんか? (A(k)-K(k)*C(k))
カルマン フィルターが、単位円内の固有値で行列を安定させるゲインを与えることを期待しています。
r - JAGSを用いた純粋な出生過程の推論
(確率的)純粋な出生プロセスで出生率を推測するためにJAGSを使用しようとしています。
化学の言葉で言えば、このモデルは次の反応に相当します: X->2X with rate alpha*X (連鎖反応のモデルと見なすこともできます)
これは、(一定の時間で) プロセスを生成するために使用している R コードと、パラメーター alpha を推論するための jags コードです。
コードを実行すると、次のエラーが表示されます。
alpha*y[i-1] を新しい変数 (lambda[i] など) に入れたり、New[i-1] による New[i] への呼び出しを変更したりするなど、さまざまなことを試しましたが、何も機能しませんでした。なぜこれが失敗するのですか?これを行う別のよりスマートな方法はありますか?
前もって感謝します。