|
bpp-core
2.2.0
|
The core class of a multivariate analysis. More...
#include <Bpp/Numeric/Stat/Mva/DualityDiagram.h>
Inheritance diagram for bpp::DualityDiagram:
Collaboration diagram for bpp::DualityDiagram:Public Member Functions | |
| DualityDiagram () | |
| Build an empty DualityDiagram object. More... | |
| DualityDiagram (const Matrix< double > &matrix, const std::vector< double > &rowWeights, const std::vector< double > &colWeights, unsigned int nbAxes, double tol=0.0000001, bool verbose=true) throw (Exception) | |
| Build a new DualityDiagram object. More... | |
| virtual | ~DualityDiagram () |
| DualityDiagram * | clone () const |
| Create a copy of this object and send a pointer to it. More... | |
| void | setData (const Matrix< double > &matrix, const std::vector< double > &rowWeights, const std::vector< double > &colWeights, unsigned int nbAxes, double tol=0.0000001, bool verbose=true) throw (Exception) |
| Set the data and perform computations. More... | |
| std::vector< double > | computeVariancePercentagePerAxis () throw (Exception) |
| size_t | getNbOfKeptAxes () const throw (Exception) |
| const std::vector< double > | getRowWeights () const throw (Exception) |
| const std::vector< double > | getColumnWeights () const throw (Exception) |
| const std::vector< double > & | getEigenValues () const throw (Exception) |
| const RowMatrix< double > & | getRowCoordinates () const throw (Exception) |
| const RowMatrix< double > & | getColCoordinates () const throw (Exception) |
| const RowMatrix< double > & | getPrincipalAxes () const throw (Exception) |
| const RowMatrix< double > & | getPrincipalComponents () const throw (Exception) |
Private Member Functions | |
| void | check_ (const Matrix< double > &matrix, const std::vector< double > &rowWeights, const std::vector< double > &colWeights, unsigned int nbAxes) throw (Exception) |
| void | compute_ (const Matrix< double > &matrix, double tol, bool verbose) |
Private Attributes | |
| std::vector< double > | rowWeights_ |
| std::vector< double > | colWeights_ |
| size_t | nbAxes_ |
| std::vector< double > | eigenValues_ |
| RowMatrix< double > | eigenVectors_ |
| RowMatrix< double > | rowCoord_ |
| RowMatrix< double > | colCoord_ |
| RowMatrix< double > | ppalAxes_ |
| RowMatrix< double > | ppalComponents_ |
The core class of a multivariate analysis.
In the constructor, the eigen values and vectors of the variance-covariance or correlation matrix are calculated. Eigen values and vectors are stored in the eigenValues_ and eigenVectors_ respectively. Furthermore, four matrices are calculated: the row and column coordinates as well as the principal axes and components.
The code of this class is deeply inspired from the R code of the as.dudi function available in the ade4 package.
Definition at line 57 of file DualityDiagram.h.
|
inline |
Build an empty DualityDiagram object.
Definition at line 77 of file DualityDiagram.h.
Referenced by clone().
| DualityDiagram::DualityDiagram | ( | const Matrix< double > & | matrix, |
| const std::vector< double > & | rowWeights, | ||
| const std::vector< double > & | colWeights, | ||
| unsigned int | nbAxes, | ||
| double | tol = 0.0000001, |
||
| bool | verbose = true |
||
| ) | |||
| throw | ( | Exception | |
| ) | |||
Build a new DualityDiagram object.
| matrix | The input data to analyse. |
| rowWeights | A vector of values specifying the weights of rows. |
| colWeights | A vector of values specifying the weights of columns. |
| nbAxes | The number of kept axes during the analysis. |
| tol | Tolerance threshold for null eigenvalues (a value less than tol times the first one is considered as null) |
| verbose | Should warnings be dispayed. |
| Exception | if an error occured. |
Definition at line 50 of file DualityDiagram.cpp.
|
virtual |
Definition at line 288 of file DualityDiagram.cpp.
|
private | ||||||||||||||||||||||||||||
Definition at line 70 of file DualityDiagram.cpp.
|
inlinevirtual |
Create a copy of this object and send a pointer to it.
Implements bpp::Clonable.
Reimplemented in bpp::PrincipalComponentAnalysis.
Definition at line 114 of file DualityDiagram.h.
References DualityDiagram().
|
private |
Definition at line 114 of file DualityDiagram.cpp.
References bpp::ApplicationTools::displayWarning(), bpp::Matrix< Scalar >::getNumberOfColumns(), bpp::Matrix< Scalar >::getNumberOfRows(), bpp::EigenValue< Real >::getRealEigenValues(), bpp::EigenValue< Real >::getV(), bpp::MatrixTools::hadamardMult(), bpp::EigenValue< Real >::isSymmetric(), bpp::MatrixTools::mult(), bpp::RowMatrix< Scalar >::resize(), and bpp::MatrixTools::transpose().
| std::vector<double> bpp::DualityDiagram::computeVariancePercentagePerAxis | ( | ) | ||
| throw | ( | Exception | ||
| ) | ||||
Definition at line 151 of file DualityDiagram.h.
References colCoord_.
|
inline | |||||||||||||
Definition at line 148 of file DualityDiagram.h.
References colWeights_.
|
inline | |||||||||||||
Definition at line 149 of file DualityDiagram.h.
References eigenValues_.
|
inline | |||||||||||||
Definition at line 146 of file DualityDiagram.h.
References nbAxes_.
Definition at line 152 of file DualityDiagram.h.
References ppalAxes_.
|
inline | |||||||||||||
Definition at line 153 of file DualityDiagram.h.
References ppalComponents_.
Definition at line 150 of file DualityDiagram.h.
References rowCoord_.
|
inline | |||||||||||||
Definition at line 147 of file DualityDiagram.h.
References rowWeights_.
| void DualityDiagram::setData | ( | const Matrix< double > & | matrix, |
| const std::vector< double > & | rowWeights, | ||
| const std::vector< double > & | colWeights, | ||
| unsigned int | nbAxes, | ||
| double | tol = 0.0000001, |
||
| bool | verbose = true |
||
| ) | |||
| throw | ( | Exception | |
| ) | |||
Set the data and perform computations.
| matrix | The input data to analyse. |
| rowWeights | A vector of values specifying the weights of rows. |
| colWeights | A vector of values specifying the weights of columns. |
| nbAxes | The number of kept axes during the analysis. |
| tol | Tolerance threshold for null eigenvalues (a value less than tol times the first one is considered as null) |
| verbose | Should warnings be dispayed. |
| Exception | if an error occured. |
Definition at line 100 of file DualityDiagram.cpp.
|
private |
Definition at line 68 of file DualityDiagram.h.
Referenced by getColCoordinates().
|
private |
Definition at line 63 of file DualityDiagram.h.
Referenced by getColumnWeights().
|
private |
Definition at line 65 of file DualityDiagram.h.
Referenced by getEigenValues().
|
private |
Definition at line 66 of file DualityDiagram.h.
|
private |
Definition at line 64 of file DualityDiagram.h.
Referenced by getNbOfKeptAxes().
|
private |
Definition at line 69 of file DualityDiagram.h.
Referenced by getPrincipalAxes().
|
private |
Definition at line 70 of file DualityDiagram.h.
Referenced by getPrincipalComponents().
|
private |
Definition at line 67 of file DualityDiagram.h.
Referenced by getRowCoordinates().
|
private |
Definition at line 62 of file DualityDiagram.h.
Referenced by getRowWeights().