< 目次

インテル® DAAL 2017 デベロッパー・ガイド

オンライン処理

オンライン処理モードは、データがブロック i = 1, 2, 3, … nblocks で到着すると仮定します。

オンライン処理モードの相関行列と分散共分散行列の計算は、アルゴリズムで説明されているオンライン処理の一般的な計算スキーマに従います。

アルゴリズムの入力

オンライン処理モードの相関行列と分散共分散行列アルゴリズムの入力は次のとおりです。入力 ID をパラメーターとして、アルゴリズムの入力を提供するメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

入力 ID

入力

data

現在のデータブロックを表すサイズ ni x p の数値テーブルのポインター。defaultDensesinglePassDensesumDense メソッドの入力は NumericTable の派生クラスのオブジェクトですが、fastCSRsinglePassCSRsumCSR メソッドの入力は CSRNumericTable クラスのオブジェクトのみです。

アルゴリズムのパラメーター

オンライン処理モードの相関行列と分散共分散行列アルゴリズムのパラメーターは次のとおりです。

パラメーター

デフォルト値

説明

algorithmFPType

double

アルゴリズムが中間計算に使用する浮動小数点の型。float または double を指定できます。

method

defaultDense

相関行列と分散共分散行列の計算に利用可能なメソッド。

  • defaultDense - デフォルトのパフォーマンス指向の計算メソッド

  • singlePassDense - D.H.D. West により提案された単一パス・アルゴリズムの実装

  • sumDense - 数値テーブルに関連付けられた基本的な統計が事前計算された和の場合のアルゴリズムの実装。事前計算された和が定義されていない場合はエラーを返します

  • fastCSR - CSR 数値テーブル用のパフォーマンス指向の計算メソッド

  • singlePassCSR - D.H.D. West により提案された単一パス・アルゴリズムの実装、CSR 数値テーブル用に最適化

  • sumCSR - 数値テーブルに関連付けられた基本的な統計が事前計算された和の場合のアルゴリズムの実装。CSR 数値テーブル用に最適化; 事前計算された和が定義されていない場合はエラーを返します

outputMatrixType

covarianceMatrix

出力行列の型。次のいずれか。

  • covarianceMatrix - 分散共分散行列
  • correlationMatrix - 相関行列

initializationProcedure

適用不可

オンライン処理モードのアルゴリズムの初期パラメーターを設定するプロシージャー。デフォルトでは、アルゴリズムは nObservationssumcrossProduct パラメーターを 0 に設定します。

部分結果

オンライン処理モードの相関行列と分散共分散行列アルゴリズムの入力は次の部分結果を計算します。結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

結果 ID

結果

nObservations

処理された観測点の数を含む 1 x 1 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

crossProduct

計算されたクロス積行列を含む p x p 数値テーブルのポインター。デフォルトでは、このテーブルは HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrixPackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

sum

計算された部分和を含む 1 x p 数値テーブルのポインター。デフォルトでは、このテーブルは HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrixPackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

アルゴリズムの出力

相関行列と分散共分散行列アルゴリズムは次の結果を計算します。結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。詳細は、「アルゴリズム」を参照してください。

結果 ID

結果

covariance

outputMatrixType=covarianceMatrix の場合に使用します。p x p 分散共分散行列を含む数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(PackedTriangularMatrix および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

correlation

outputMatrixType=correlationMatrix の場合に使用します。p x p 相関行列を含む数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(PackedTriangularMatrix および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

mean

平均を含む 1 x p 数値テーブルのポインター。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(PackedSymmetricMatrixPackedTriangularMatrix、および CSRNumericTable を除く) NumericTable の派生クラスのオブジェクトとして定義できます。

サンプル

インテル® DAAL ディレクトリーの次のサンプルを参照してください。

C++:

Java*:

Python*:

最適化に関する注意事項

インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。

注意事項の改訂 #20110804

関連情報