Developer Guide

Contents

Online Processing

Online processing computation mode assumes that data arrives in blocks
i
= 1, 2, 3, …
nblocks
.
PCA computation in the online processing mode follows the general computation schema for online processing described in Algorithms .

Algorithm Input

The PCA algorithm in the online processing mode accepts the input described below. Pass the Input ID as a parameter to the methods that provide input for your algorithm. For more details, see Algorithms .
Input ID
Input
data
Pointer to the
n
i
x
p
numeric table that represents the current data block. The input can be an object of any class derived from
NumericTable
.

Algorithm Parameters

The PCA algorithm in the online processing mode has the following parameters, depending on the computation method parameter
method
:
Parameter
method
Default Value
Description
algorithmFPType
defaultDense
or
svdDense
float
The floating-point type that the algorithm uses for intermediate computations. Can be
float
or
double
.
method
Not applicable
defaultDense
Available methods for PCA computation:
  • defaultDense
    - the correlation method
  • svdDense
    - the SVD method
initialization
Procedure
defaultDense
Not applicable
The procedure for setting initial parameters of the algorithm in the online processing mode. By default, the algorithm initializes
nObservationsCorrelation
,
sumCorrelation
, and
crossProductCorrelation
with zeros.
svdDense
Not applicable
The procedure for setting initial parameters of the algorithm in the online processing mode. By default, the algorithm initializes
nObservationsSVD
,
sumSVD
, and
sumSquaresSVD
with zeros.
covariance
defaultDense
SharedPtr<covariance::
Online<algorithmFPType, covariance::default
Dense> >
The correlation and variance-covariance matrices algorithm to be used for PCA computations with the correlation method. For details, see Correlation and Variance-covariance Matrices. Online Processing .

Partial Results

The PCA algorithm in the online processing mode calculates partial results described below. They depend on the computation method. Pass the Result ID as a parameter to the methods that access the results of your algorithm. For more details, see Algorithms .
Result ID
Result
Correlation method (
defaultDense
):
nObservationsCorrelation
Pointer to the 1 x 1 numeric table with the number of observations processed so far. By default, this result is an object of the
HomogenNumericTable
class, but you can define it as an object of any class derived from
NumericTable
except
CSRNumericTable
.
crossProductCorrelation
Pointer to the
p
x
p
numeric table with the partial cross-product matrix computed so far. By default, this table is an object of the
HomogenNumericTable
class, but you can define it as an object of any class derived from
NumericTable
except
PackedSymmetricMatrix
,
PackedTriangularMatrix
, and
CSRNumericTable
.
sumCorrelation
Pointer to the 1 x
p
numeric table with partial sums computed so far. By default, this table is an object of the
HomogenNumericTable
class, but you can define it as an object of any class derived from
NumericTable
except
PackedSymmetricMatrix
,
PackedTriangularMatrix
, and
CSRNumericTable
.
SVD method (
svdDense
):
nObservationsSVD
Pointer to the 1 x 1 numeric table with the number of observations processed so far. By default, this result is an object of the
HomogenNumericTable
class, but you can define it as an object of any class derived from
NumericTable
except
CSRNumericTable
.
sumSVD
Pointer to the 1 x
p
numeric table with partial sums computed so far. By default, this table is an object of the
HomogenNumericTable
class, but you can define it as an object of any class derived from
NumericTable
except
PackedSymmetricMatrix
,
PackedTriangularMatrix
, and
CSRNumericTable
.
sumSquaresSVD
Pointer to the 1 x
p
numeric table with partial sums of squares computed so far. By default, this table is an object of the
HomogenNumericTable
class, but you can define it as an object of any class derived from
NumericTable
except
PackedSymmetricMatrix
,
PackedTriangularMatrix
, and
CSRNumericTable
.

Algorithm Output

The PCA algorithm in the online processing mode calculates the results described below. Pass the Result ID as a parameter to the methods that access the results of your algorithm. For more details, see Algorithms .
Result ID
Result
eigenvalues
Pointer to the 1 x
p
numeric table that contains eigenvalues in the descending order. By default, this result is an object of the
HomogenNumericTable
class, but you can define the result as an object of any class derived from
NumericTable
except
PackedSymmetricMatrix
,
PackedTriangularMatrix
, and
CSRNumericTable
.
eigenvectors
Pointer to the
p
x
p
numeric table that contains eigenvectors in the row-major order. By default, this result is an object of the
HomogenNumericTable
class, but you can define the result as an object of any class derived from
NumericTable
except
PackedSymmetricMatrix
,
PackedTriangularMatrix
, and
CSRNumericTable
.
Examples

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804