MTK++ Latest version: 0.2.0

BaseStats.h
Go to the documentation of this file.
00001 
00033 #ifndef BASESTATS_h
00034 #define BASESTATS_h
00035 
00036 #include <iostream>
00037 #include <string>
00038 #include <vector>
00039 #include <fstream>
00040 #include <iomanip>
00041 #include <stdlib.h>
00042 #include <sstream>
00043 #include <math.h>
00044 
00045 #include "Utils/constants.h"
00046 #include "Utils/object.h"
00047 
00048 #include <Eigen/Dense>
00049 using namespace Eigen;
00050 
00051 class object;
00052 
00053 namespace MTKpp
00054 {
00055 // ============================================================
00056 // Class : BaseStats()
00057 // ------------------------------------------------------------
00064 // ============================================================
00065 class BaseStats : public object
00066 {
00067 public:
00071     BaseStats();
00072 
00074     //virtual ~BaseStats();
00075 
00082     double         meanColumn(Eigen::Matrix<double, Dynamic, Dynamic>& m, const int& i);
00083 
00090     double         meanRow(Eigen::Matrix<double, Dynamic, Dynamic>& m, const int& i);
00091 
00098     double         sumColumn(Eigen::Matrix<double, Dynamic, Dynamic>& m, const int& i);
00099 
00106     double         sumRow(Eigen::Matrix<double, Dynamic, Dynamic>& m, const int& i);
00107 
00114     double         maxColumn(Eigen::Matrix<double, Dynamic, Dynamic>& m, const int& i);
00115 
00123     double         maxColumn(Eigen::Matrix<double, Dynamic, Dynamic>& m, const int& i, int& r);
00124 
00131     double         maxRow(Eigen::Matrix<double, Dynamic, Dynamic>& m, const int& i);
00132 
00139     double         minColumn(Eigen::Matrix<double, Dynamic, Dynamic>& m, const int& i);
00140 
00148     double         minColumn(Eigen::Matrix<double, Dynamic, Dynamic>& m, const int& i, int& r);
00149 
00156     double         minRow(Eigen::Matrix<double, Dynamic, Dynamic>& m, const int& i);
00157 
00164     int getColumnCenters(Eigen::Matrix<double, Dynamic, Dynamic>& mat, Eigen::Matrix<double, Dynamic, Dynamic>& mat_centers);
00165 
00171     void           centerColumns(Eigen::Matrix<double, Dynamic, Dynamic>& m1,
00172                                  Eigen::Matrix<double, Dynamic, Dynamic>& m2);
00173 
00179     void           centerRows(Eigen::Matrix<double, Dynamic, Dynamic>& m1,
00180                               Eigen::Matrix<double, Dynamic, Dynamic>& m2);
00181 
00187     void           zScoreColumns(Eigen::Matrix<double, Dynamic, Dynamic>& m1,
00188                                  Eigen::Matrix<double, Dynamic, Dynamic>& m2);
00189 
00195     void           zScoreRows(Eigen::Matrix<double, Dynamic, Dynamic>& m1,
00196                               Eigen::Matrix<double, Dynamic, Dynamic>& m2);
00197 
00206     int            autoScale(Eigen::Matrix<double, Dynamic, Dynamic>& old_mat,
00207                              Eigen::Matrix<double, Dynamic, Dynamic>& new_mat,
00208                              Eigen::Matrix<double, Dynamic, Dynamic>& centers,
00209                              Eigen::Matrix<double, Dynamic, Dynamic>& stdDevs);
00210 
00217     double         varianceColumn(Eigen::Matrix<double, Dynamic, Dynamic>& m, const int& i);
00218 
00225     double         varianceRow(Eigen::Matrix<double, Dynamic, Dynamic>& m, const int& i);
00226 
00233     int getStdDevColumns(Eigen::Matrix<double, Dynamic, Dynamic>& mat,
00234                          Eigen::Matrix<double, Dynamic, Dynamic>& stdDev_mat);
00235 
00242     double         standardDeviationColumn(Eigen::Matrix<double, Dynamic, Dynamic>& m, const int& i);
00243 
00250     double         standardDeviationRow(Eigen::Matrix<double, Dynamic, Dynamic>& m, const int& i);
00251 
00252     // - Covariances - //
00261     double         covarianceColumn(Eigen::Matrix<double, Dynamic, Dynamic>& m1, const int& i1,
00262                                     Eigen::Matrix<double, Dynamic, Dynamic>& m2, const int& i2);
00263 
00271     double         covarianceColumn(Eigen::Matrix<double, Dynamic, Dynamic>& m, const int& i, const int& j);
00272 
00282     void           covarianceMatrix(Eigen::Matrix<double, Dynamic, Dynamic>& A, Eigen::Matrix<double, Dynamic, Dynamic>& CovMat);
00283 
00292     double         correlationCoefficientColumn(Eigen::Matrix<double, Dynamic, Dynamic>& m1, const int& i1,
00293                                                 Eigen::Matrix<double, Dynamic, Dynamic>& m2, const int& i2);
00294 
00303     double         rSquaredColumn(Eigen::Matrix<double, Dynamic, Dynamic>& m1, const int& i1,
00304                                   Eigen::Matrix<double, Dynamic, Dynamic>& m2, const int& i2);
00305 
00315     double         AdjustedRSquaredColumn(Eigen::Matrix<double, Dynamic, Dynamic>& Ys, const int& i1,
00316                        Eigen::Matrix<double, Dynamic, Dynamic>& Y_Pred, const int& i2, const int& i3);
00317 
00326     double         RMSE(Eigen::Matrix<double, Dynamic, Dynamic>& Ys, const int& i,
00327                         Eigen::Matrix<double, Dynamic, Dynamic>& Y_Pred, const int& j);
00328 
00337     double         MSE(Eigen::Matrix<double, Dynamic, Dynamic>& Ys, const int& i,
00338                        Eigen::Matrix<double, Dynamic, Dynamic>& Y_Pred, const int& j);
00339 
00348     double         UnsignedError(Eigen::Matrix<double, Dynamic, Dynamic>& Ys, const int& i,
00349                                  Eigen::Matrix<double, Dynamic, Dynamic>& Y_Pred, const int& j);
00350 
00359     double         SignedError(Eigen::Matrix<double, Dynamic, Dynamic>& Ys, const int& i,
00360                                Eigen::Matrix<double, Dynamic, Dynamic>& Y_Pred, const int& j);
00361 
00375     double         SumSquaredDeviationsColumn(Eigen::Matrix<double, Dynamic, Dynamic>& Ys, const int& i);
00376 
00390     double         SumSquaredRegressionColumn(Eigen::Matrix<double, Dynamic, Dynamic>& Ys,
00391                                               Eigen::Matrix<double, Dynamic, Dynamic>& Y_Pred);
00392 
00406     double         SumSquaredResidualErrorsColumn(Eigen::Matrix<double, Dynamic, Dynamic> &Ys,
00407                      Eigen::Matrix<double, Dynamic, Dynamic> &Y_Pred,
00408                      Eigen::Matrix<double, Dynamic, Dynamic>& Residuals);
00409 
00424     double         SumSquaredResidualErrorsColumn(Eigen::Matrix<double, Dynamic, Dynamic> &Ys,
00425                      const int& c, Eigen::Matrix<double, Dynamic, Dynamic> &Y_Pred, const int& d);
00426 };
00427 
00428 } // MTKpp namespace
00429 
00430 #endif // BASESTATS_H
00431 

Generated on Fri Dec 23 2011 09:28:49 for MTK++ by Doxygen 1.7.5.1