2

これらの質問について教えていただけますか?私はPythonを使用しています

サンプリング方法

サンプリング (またはモンテカルロ) メソッドは、乱数を使用して (多変量) 分布と関数に関する情報を抽出する、一般的で有用な手法のセットを形成します。統計的機械学習のコンテキストでは、問題の分布の平均値などの要約統計量の推定値を取得するために、分布からサンプルを抽出することに最も関心があります。

単位間隔 (Matlab の rand または R の runif) で一様 (疑似) 乱数ジェネレーターにアクセスできる場合、Bishop Sec で説明されている変換サンプリング方法を使用できます。11.1.1 を使用して、より複雑な分布からサンプルを抽出します。指数分布の変換方法を実装する

$$p(y) = \lambda \exp(−\lambda y) , y \geq 0$$

Bishop の 526 ページの下部にある式を使用:スライス サンプリングには、z を追加の変数 u で拡張し、ジョイント (z,u) 空間からサンプルを抽出することが含まれます

サンプリング方法の重要な点は、関心のある量の信頼できる見積もりを得るために必要なサンプルの数です。平均を推定することに関心があるとしましょう。

$$\mu_y = 1/\lambda$$

上記の分布では、サンプル平均を使用します

$$b_y = \frac1L \sum^L_{\ell=1} y(\ell)$$

推定量としての L サンプルの。サイズ L のサンプルを必要な数だけ生成できるため、この推定値が平均でどのように真の平均値に収束するかを調べることができます。これを適切に行うには、絶対差を取る必要があります

$$|\mu_y − b_y|$$

真の平均 $µ_y$ と、10、100、1000 などの $L$ のいくつかの値について、多くの (たとえば 1000 回の) 繰り返しで平均化された推定 $b_y$ との間。期待される絶対偏差を $L$ の関数としてプロットします。予想される絶対偏差の変換値をプロットして、多かれ少なかれ直線を得ることができますか?これはどういう意味ですか?

私はこの種の統計的機械学習は初めてで、Python での実装方法が本当にわかりません。あなたは私を助けることができます?

4

1 に答える 1

1

あなたが取ることができるいくつかのショートカットがあります。Python には、主にScipyライブラリで、サンプリングを行う組み込みメソッドがいくつかあります。このアイデアを Python で実装した原稿をお勧めします (免責事項: 私は著者です)

これはより大きな本の一部ですが、この独立した章では、より一般的な大数の法則 + 収束について説明しています。これは、あなたが説明しているものです。この論文はポアソン確率変数を扱っていますが、コードを自分の状況に適応させることができるはずです。

于 2013-02-19T13:40:37.120 に答える