00001 00018 #ifndef INC_MI32_STATMULTIVAR_H 00019 #define INC_MI32_STATMULTIVAR_H 00020 00021 #ifndef INC_MI32_MIMATRIX_H 00022 #include <mi32/mimatrix.h> 00023 #endif 00024 00025 00027 class STAT_MULTIVAR { 00028 public: 00029 00031 STAT_MULTIVAR (); 00032 00034 ~STAT_MULTIVAR (); 00035 00037 ERRVALUE Accumulate ( 00038 const double *values 00039 ); 00040 00042 ERRVALUE ComputeEigen ( 00043 ); 00044 00046 const MIMATRIX& GetCorrelation ( 00047 ) const { return (m_Correlation); } 00048 00051 const MIMATRIX& GetCorrespondence ( 00052 ) const { return (m_Correspondence); } 00053 00055 const MIMATRIX& GetCovariance ( 00056 ) const { return (m_Covariance); } 00057 00060 const MIMATRIX& GetEigenValues ( 00061 ) const { return (m_EigenValues); } 00062 00065 const MIMATRIX& GetEigenVectors ( 00066 ) const { return (m_EigenVectors); } 00067 00073 ERRVALUE ComputeMultilinearRegression ( 00074 MIMATRIX& CoeffRet, 00075 UINT32 TgtVar, 00076 const UINT32 *SrcVars = 0, 00077 UINT32 NumSrcVars = 0 00078 ) const; 00079 00081 const double* GetMaximums ( 00082 ) const { return (m_Maximum); } 00083 00085 const double* GetMeans ( 00086 ) const { return (m_Mean); } 00087 00089 const double* GetMinimums ( 00090 ) const { return (m_Minimum); } 00091 00093 UINT64 GetNumSamples ( 00094 ) const { return (m_NumSamples); } 00095 00097 ERRVALUE Finish ( 00098 ); 00099 00101 ERRVALUE Start ( 00102 UINT32 NumVars 00103 ); 00104 00105 private: 00106 #ifndef GENERATING_DOXYGEN_OUTPUT 00107 00108 enum STATE { 00109 STATE_Invalid, 00110 STATE_Accumulating, 00111 STATE_Finished 00112 }; 00113 00114 MIMATRIX m_Sum2; 00115 MIMATRIX m_Covariance; 00116 MIMATRIX m_Correlation; 00117 MIMATRIX m_EigenVectors; 00118 MIMATRIX m_EigenValues; 00119 MIMATRIX m_Correspondence; // Correspondence between variable and principal component 00120 DOUBLE_ARRAY<double> m_Minimum; 00121 DOUBLE_ARRAY<double> m_Maximum; 00122 DOUBLE_ARRAY<double> m_Mean; 00123 DOUBLE_ARRAY<double> m_Sum; 00124 double m_TotalVariance; 00125 UINT64 m_NumSamples; 00126 UINT32 m_NumVars; 00127 STATE m_State; 00128 bool m_HasEigen; 00129 00130 STAT_MULTIVAR (const STAT_MULTIVAR&); 00131 STAT_MULTIVAR& operator= (const STAT_MULTIVAR&); 00132 #endif // GENERATING_DOXYGEN_OUTPUT 00133 }; 00134 00135 #endif // INC_MI32_STATMULTIVAR_H 00136
1.6.1