- メインページ
- モジュール
- ネームスペース
- データ構造
- ファイル

ネームスペース | 関数
EMアルゴリズムを用いた混合分布の推定

## ネームスペース
namespace | mist::mixture
| 混合分布推定に用いるパラメータ
namespace | mist::histogram
| ヒストグラムから正規分布の混合分布を推定する関数群

## 関数
template<class Array >
bool | mist::estimate_mixture (const Array &rSamples, mixture::distribution *opdp, size_t nSamples, size_t nComponents, size_t nMaxIteration, double tolerance, size_t &nIteration)
| データ系列から正規分布の混合分布を推定する
template<class Array >
bool | mist::estimate_mixture (const Array &rSamples, mixture::distribution2 *opdp, size_t nSamples, size_t nComponents, size_t nMaxIteration, double tolerance, size_t &nIteration)
| データ系列から正規分布の混合分布を推定する
template<class Array1 , class Array2 >
bool | mist::estimate_mixture (const Array1 &rSamples, Array2 &pdp, typename Array1::size_type nMaxIteration, double tolerance, typename Array1::size_type &nIteration)
| データ系列から正規分布の混合分布を推定する
template<class Array1 , class Array2 >
bool | mist::estimate_mixture (const Array1 &rSamples, Array2 &pdp, typename Array1::size_type nMaxIteration, double tolerance)
| データ系列から1次元正規分布の混合分布を推定する
template<class Array >
bool | mist::estimate_mixture (const Array &rSamples, mixture::distribution *pdp, typename Array::size_type nComponents, typename Array::size_type nMaxIteration, double tolerance)
| データ系列から正規分布の混合分布を推定する
template<class Array >
bool | mist::estimate_mixture (const Array &rSamples, mixture::distribution2 *pdp, typename Array::size_type nComponents, typename Array::size_type nMaxIteration, double tolerance)
| データ系列から2次元正規分布の混合分布を推定する

## 説明

次のヘッダをインクルードする
#include <mist/mixture.h>

## 関数

template<class Array >

bool mist::estimate_mixture | ( | const Array & | rSamples,
|  | mixture::distribution * | opdp,
|  | size_t | nSamples,
|  | size_t | nComponents,
|  | size_t | nMaxIteration,
|  | double | tolerance,
|  | size_t & | nIteration
| ) |  |

データ系列から正規分布の混合分布を推定する

注意
  入力となるデータの配列として，通常のデータ配列，MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナが利用可能です．

引数

  [in] | rSamples | … 入力サンプル
  [in,out] | opdp | … 分布パラメータ
  [in] | nSamples | … 入力サンプル数
  [in] | nComponents | … 推定する混合分布の数
  [in] | nMaxIteration | … 最大ループ回数
  [in] | tolerance | … 対数尤度の打ち切り許容相対誤差
  [out] | nIteration | … 実際のループ回数

戻り値

  true | … 混合分布の推定に成功
  false | … 混合分布の推定に失敗，もしくは入力データが空

参照先 mist::statistics::average(), と mist::statistics::variance().

参照元 mist::estimate_mixture(), と mist::histogram::estimate_mixture().

template<class Array >

bool mist::estimate_mixture | ( | const Array & | rSamples,
|  | mixture::distribution2 * | opdp,
|  | size_t | nSamples,
|  | size_t | nComponents,
|  | size_t | nMaxIteration,
|  | double | tolerance,
|  | size_t & | nIteration
| ) |  |

データ系列から正規分布の混合分布を推定する

注意
  入力となるデータの配列として，通常のデータ配列，MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナが利用可能です．
  入力データは，MISTで提供する vector2 タイプである必要があります．

引数

  [in] | rSamples | … 入力サンプル
  [in,out] | opdp | … 分布パラメータ
  [in] | nSamples | … 入力サンプル数
  [in] | nComponents | … 推定する混合分布の数
  [in] | nMaxIteration | … 最大ループ回数
  [in,out] | tolerance | … 対数尤度の打ち切り許容相対誤差
  [out] | nIteration | … 実際のループ回数

戻り値

  true | … 混合分布の推定に成功
  false | … 混合分布の推定に失敗，もしくは入力データが空

参照先 mist::statistics::average().

template<class Array1 , class Array2 >

bool mist::estimate_mixture | ( | const Array1 & | rSamples,
|  | Array2 & | pdp,
|  | typename Array1::size_type | nMaxIteration,
|  | double | tolerance,
|  | typename Array1::size_type & | nIteration
| ) |  |

データ系列から正規分布の混合分布を推定する

注意
  入力となるデータの配列として，MISTで提供するコンテナもしくはSTLで提供されているvector，dequeコンテナが利用可能です．
  入力データは，MISTで提供する vector2 タイプで分布が mixture::distribution2 の場合は2次元正規分布推定になります．

引数

  [in] | rSamples | … 入力サンプル
  [in,out] | pdp | … 分布パラメータ
  [in] | nMaxIteration | … 最大ループ回数
  [in] | tolerance | … 対数尤度の打ち切り許容相対誤差
  [out] | nIteration | … 実際のループ回数

戻り値

  true | … 混合分布の推定に成功
  false | … 混合分布の推定に失敗，もしくは入力データが空

参照先 mist::estimate_mixture().

template<class Array1 , class Array2 >

bool mist::estimate_mixture | ( | const Array1 & | rSamples,
|  | Array2 & | pdp,
|  | typename Array1::size_type | nMaxIteration,
|  | double | tolerance
| ) |  |

データ系列から1次元正規分布の混合分布を推定する

注意
  入力となるデータの配列として，MISTで提供するコンテナもしくはSTLで提供されているvector，dequeコンテナが利用可能です．
  入力データは，MISTで提供する vector2 タイプで分布が mixture::distribution2 の場合は2次元正規分布推定になります．

引数

  [in] | rSamples | … 入力サンプル
  [in,out] | pdp | … 分布パラメータ
  [in] | nMaxIteration | … 最大ループ回数
  [in] | tolerance | … 対数尤度の打ち切り許容相対誤差

戻り値

  true | … 混合分布の推定に成功
  false | … 混合分布の推定に失敗，もしくは入力データが空

参照先 mist::estimate_mixture().

template<class Array >

bool mist::estimate_mixture | ( | const Array & | rSamples,
|  | mixture::distribution * | pdp,
|  | typename Array::size_type | nComponents,
|  | typename Array::size_type | nMaxIteration,
|  | double | tolerance
| ) |  |

データ系列から正規分布の混合分布を推定する

注意
  入力となるデータの配列として，MISTで提供するコンテナもしくはSTLで提供されているvector，dequeコンテナが利用可能です．

引数

  [in] | rSamples | … 入力サンプル
  [in,out] | pdp | … 分布パラメータ
  [in] | nComponents | … 推定する混合分布の数
  [in] | nMaxIteration | … 最大ループ回数
  [in] | tolerance | … 対数尤度の打ち切り許容相対誤差

戻り値

  true | … 混合分布の推定に成功
  false | … 混合分布の推定に失敗，もしくは入力データが空

参照先 mist::estimate_mixture().

template<class Array >

bool mist::estimate_mixture | ( | const Array & | rSamples,
|  | mixture::distribution2 * | pdp,
|  | typename Array::size_type | nComponents,
|  | typename Array::size_type | nMaxIteration,
|  | double | tolerance
| ) |  |

データ系列から2次元正規分布の混合分布を推定する

注意
  入力となるデータの配列として，MISTで提供するコンテナもしくはSTLで提供されているvector，dequeコンテナが利用可能です．
  入力データは，MISTで提供する vector2 タイプある必要があります．

引数

  [in] | rSamples | … 入力サンプル
  [in,out] | pdp | … 分布パラメータ
  [in] | nComponents | … 推定する混合分布の数
  [in] | nMaxIteration | … 最大ループ回数
  [in] | tolerance | … 対数尤度の打ち切り許容相対誤差

戻り値

  true | … 混合分布の推定に成功
  false | … 混合分布の推定に失敗，もしくは入力データが空

参照先 mist::estimate_mixture().