Mol(Math Object Library) fot .Net
アッセンブリー: Mol.Net (in Mol.Net.dll)
データ行列中の欠測値(MissingValueプロパティで指定された値(==Double.NaN))を周囲の有効値から類推して(意味のある値に)置き換えます。
欠測データには指定された値(=Mol.MissingValue)をセットする必要があります。また欠測値は非数値(Double.NaN)ですので数値的な比較
(自分自身と比較しても等しくはなりません)は無意味です。欠測値かどうかの判定は IsMissingValue(Double) メソッドを使用してください。
欠測値を正しい(とある程度思われる)値に置き換えるには期待値最大化 (EM) とデータ拡大 (DA) の2つのアルゴリズムを用います。 この場合、まず m 個の正しそうな推定値を計算します(EM アルゴリズム)。 そしてそれぞれの推定値を用いて他の統計的推定値を計算し、m 個の推定値をまとめて最終的な推定値を計算します(DA アルゴリズム)。
EM アルゴリズムは EM_ITER_NUM 回反復して(またはEM_ACCURACYの精度が達成されると)、平均および共分散の推定値を計算します。 MeanとCovarianceMatrixプロパティに初期値をセットすることができます。 CovarianceMatrixプロパティが null または全要素がゼロの場合、初期値に利用されません。 EM アルゴリズムが終了すると、DA アルゴリズムは DA_ITER_NUM 回反復して最終的な推定値を計算して DataMatrix 中の欠測値を置き換えます。
名前空間: Mol欠測値を正しい(とある程度思われる)値に置き換えるには期待値最大化 (EM) とデータ拡大 (DA) の2つのアルゴリズムを用います。 この場合、まず m 個の正しそうな推定値を計算します(EM アルゴリズム)。 そしてそれぞれの推定値を用いて他の統計的推定値を計算し、m 個の推定値をまとめて最終的な推定値を計算します(DA アルゴリズム)。
EM アルゴリズムは EM_ITER_NUM 回反復して(またはEM_ACCURACYの精度が達成されると)、平均および共分散の推定値を計算します。 MeanとCovarianceMatrixプロパティに初期値をセットすることができます。 CovarianceMatrixプロパティが null または全要素がゼロの場合、初期値に利用されません。 EM アルゴリズムが終了すると、DA アルゴリズムは DA_ITER_NUM 回反復して最終的な推定値を計算して DataMatrix 中の欠測値を置き換えます。
アッセンブリー: Mol.Net (in Mol.Net.dll)
構文
C# |
---|
public void ReplaceMissingValues( int m, double EM_ACCURACY, int EM_ITER_NUM, int DA_ITER_NUM ) |
Visual Basic |
---|
Public Sub ReplaceMissingValues ( m As Integer, EM_ACCURACY As Double, EM_ITER_NUM As Integer, DA_ITER_NUM As Integer ) |
Visual C++ |
---|
public: void ReplaceMissingValues( int m, double EM_ACCURACY, int EM_ITER_NUM, int DA_ITER_NUM ) |
member ReplaceMissingValues : m : int * EM_ACCURACY : float * EM_ITER_NUM : int * DA_ITER_NUM : int -> unit |
Parameters
- m
- タイプ: System..::..Int32
一つの欠測値に対する推定値の候補数(ゼロまたは負の値を指定すると 5 が仮定されます)
- EM_ACCURACY
- タイプ: System..::..Double
EMアルゴリズムの収束精度(ゼロまたは負の値を指定すると 0.001 が仮定されます)
- EM_ITER_NUM
- タイプ: System..::..Int32
EMアルゴリズムの最大繰り返し回数(ゼロまたは負の値を指定すると 50 が仮定されます)
- DA_ITER_NUM
- タイプ: System..::..Int32
DAアルゴリズムの最大繰り返し回数(ゼロまたは負の値を指定すると 30 が仮定されます)