1

平均値と共分散行列によって与えられるガウス分布の合計から、ベクトルの一部の要素のみをサンプリングしたいと考えています。

具体的には:

ガウス混合モデル (GMM) を使用してデータを代入しています。私は次の手順とsklearnを使用しています:

  1. 平均で代入する
  2. GMM を使用して平均と共分散を取得します (たとえば、5 つのコンポーネント)
  3. サンプルの 1 つを取り、欠損値のみをサンプリングします。他の値は同じままです。
  4. 数回繰り返す

これには2つの問題があります。(A) ガウスの合計からどのようにサンプリングするか、(B) ベクトルの一部のみをサンプリングする方法。両方同時に解決できると思います。(A) については、棄却サンプリングまたは逆変換サンプリングを使用できますが、numpy で多変量正規分布ジェネレーターを利用するより良い方法があると感じています。または、他の効率的な方法。(B) の場合、サンプル変数に、サンプルからの既知の値を引数として持つガウス分布を乗算するだけです。右?

私はPythonでの解決策を好みますが、アルゴリズムまたは疑似コードで十分です。

4

2 に答える 2

1

サンプリングでは分布の相対的な割合のみが問題になるため、スケーリングの序文または破棄することができます。対角共分散行列の場合、欠落データの次元を持つ共分散サブマリンと平均サブベクトルを使用できます。非対角要素との共分散については、サンプリング ガウス分布の平均値と標準偏差を変更する必要があります。

于 2014-10-25T17:18:49.373 に答える