問題タブ [montecarlo]
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.
c++ - 統計分布タイプのC++テンプレートの使用
これは別の質問の続きです(https://stackoverflow.com/questions/10712659/c-class-design-for-monte-carlol-simulation)
テンプレートを使用して、統計分布クラスを実装することを計画しています。DistributionをEntityクラスのプロパティにしたい。このDistributionクラスは、TriangleDistribution、NormalDistribution、WeightedDistributionなど、いくつかの異なる形式をとることができますが、これらは実行時にのみ認識されます。それらはほとんどのメソッドを共有しますが、各タイプにはいくつかのカスタムメソッドもある場合があります。正規分布の場合はsetMean、WeightedDistributionの場合はsetWeights。
私が理解しているように、C ++テンプレートは型を参照し、それを使用して使用する実装を決定します。テンプレートを使用してさまざまな配布タイプを実装することが提案されました。
私はC++テンプレートの概念を理解していると思いますが、この配布の問題を解決するためにそれらを実装する方法がわかりません。テンプレートの特殊化を使用して、次のようなものを作成しますか?:
これには、配布タイプごとに多数のタイプを作成する必要があります。TIAの人たち。ピート
machine-learning - ギブス サンプリング コード
ここで、何らかのテストを使用してギブスサンプリングを実装した人はいますか? ギブス サンプリングを実装する必要がありますが、実装レベルに落とし込むのに問題があります。
----テストデータをどこから、どのように選択するのですか?
----そのデータをもとにベイジアンネットワークを作るには?(私の理解では、サンプリングするベイジアンネットワークが必要でした。)
誰かがこれで私を導くことができれば、それは大きな助けになるでしょう....
statistics - イベントシリーズからの測定値を入力として指定した場合、同じプロファイルで無限の入力シリーズを生成するにはどうすればよいですか?
私は現在、一連のリクエストとシステムの状態に基づいてスケジュールを決定するシステムを使用しています。
実際の入力のストリームを取得し、一部のコンポーネントをモックアウトして、残りのコンポーネントに対してシミュレーションを実行したいと思います。アイデアは、システム容量に関する計画(つまり、特定のコンポーネントをいつスケーリングするか)、特定の障害モードの追跡、およびコードベースへの変更の影響の分析(つまり、バージョンAのシミュレーションとバージョンBのシミュレーションの比較)に使用することです。 。
適切な入力ストリームを生成することを除いて、これに関連するすべてを行うことができます。本番環境からの正確な入力を再生することは、私が見つけようとしている動作の一部を引き出すのに十分な長さのデータストリームを取得するのが難しいため、あまり役に立ちませんでした。言い換えれば、300日の入力で生産が失敗した場合、それが失敗するまで、私はそれを見つけるのに十分なデータを持っていません。同じ入力セットを繰り返すことが考慮されています。しかし、最初の数回の試行の後、開発者は全員、シミュレーションが「よりランダムに必要」であるように見えることに同意します。
この特定のシステムについて:
- 入力は、一連の不規則な間隔のイベント(つまり、離散時間と連続状態空間を伴う確率過程)です。
- プロパティは互いに独立していません。
- プロパティからさらに独立しているのは、他のプロパティの複合体であり、本質的に、私には常に見えません(マルチモーダル分布につながります)。
- リクエスト間隔は他のプロパティから独立していません(つまり、少量のリソースに対する大量のリクエストがバッチで処理されますが、大きなリクエストは処理されません)。
- その中にフィードバックループがあります。
- それはおそらく混沌としている。
それで:
さまざまなプロパティ(間隔を含む)の特定の分布を持つ入力イベントのストリームが与えられた場合、独立していない多数のプロパティにわたって同じ分布を持つイベントの無限のストリームを生成するにはどうすればよいですか?
周りを見回して、マルコフ連鎖モンテカルロシミュレーションを行う必要があると思います。私の問題は、既存の入力データからマルコフ連鎖を構築する方法を理解することです。
performance - 分岐分岐、CUDA およびキネティック モンテカルロ
それで、何かをシミュレートするためにラティスでキネティック モンテカルロを使用するコードがあります。GPU でこのコードを実行するために CUDA を使用しています (同じ質問が OpenCl にも当てはまると思いますが)。
これは、ラティスを小さなサブラティスに分割し、各スレッドがそれらの 1 つで動作することを意味します。私はKMCをやっているので、各スレッドには次のコードがあります:
A はスレッドごとに異なり、u も異なり、100 は単なる乱数です。コードでは、これは 1000 または 10000 になる可能性があります。
では、スレッドがその if を通過するときが来たら、分岐分岐が発生するのではないでしょうか? これはパフォーマンスにどの程度影響しますか? 答えは if 句内のコードに依存することはわかっていますが、スレッドを追加すると、これはどのようにスケーリングされるのでしょうか?
パフォーマンスの損失/利益を見積もる方法についての参考文献も大歓迎です。
ありがとう!
random - GSL モンテカルロ積分関数は、どの乱数発生器を使用しますか? シードを変更するにはどうすればよいですか?
助けてくれてありがとう。GSLモンテカルロ積分関数が使用する乱数発生器に関するドキュメントはサイトにありませんでした。私が知りたい理由は、異なる結果を期待してプログラムを複数回実行するが、毎回まったく同じ値を取得することです。乱数発生器のシードを簡単に変更する方法はありますか?
フレッド
matlab - MATLAB のモンテカルロ
このプログラムを実行しようとすると:
次のエラーが表示されます。
エラー: "識別子" が必要ですが、")" が見つかりました。
ここで、分散は0.02
および0.005
であり、平均は0.242
および0.536
です。
r - R: 実行中の標準偏差
サンプルサイズが増加しているかのように、平均ベクトルの「実行中の」標準偏差を計算する必要があります。つまり、mean_y[1]、mean_y[1] と mean_y[2]、mean_y[1]、mean_y[2]、mean_y[3] などの sd を計算する必要があります。
どこ:
同じ基準を適用しようとして (したがって、明示的にループを使用しません)、実行平均のベクトルの標準偏差に対して次のコードを作成しました。
これは、var(mean(x)) = 1/n*var(x) であるためです。私には、コードは問題ないようです。しかし、i (増加するサンプル サイズ) に対する信頼区間を使用して移動平均をプロットすると、95% のバンドが平均と完全に一致します。
コードは次のとおりです。
理論的根拠は、サンプル サイズが増加し続けるにつれて、推定量 "mean_y" の収束を示すグラフを作成することです。
誰でも私を助けることができますか?se
おそらく、式またはlower
とのいずれかに、ある種の基本的なエラーがありupper
ます。ありがとう!!ステファノ
azure - シミュレーション用のWindowsAzure
シミュレーションにWindowsAzureを使用することを考えています。それぞれが問題セットに取り組んでいて、結果をマスターノードに報告する最大100のVMノード。
WebUIからVMインスタンスを作成しました。これを機能させるには、Azure APIを使用してサーバーを起動し、完了したらサーバーをシャットダウンする必要があります。
誰かがこのようなことを経験したことがありますか?アドバイスや落とし穴などを探しています。
ありがとう。
python - Python large iterations number fail
I wrote simple monte-carlo π calculation program in Python, using multiprocessing module. It works just fine, but when I pass 1E+10 iterations for each worker, some problem occur, and the result is wrong. I cant understand what is the problem, because everything is fine on 1E+9 iterations!