Cosan  1.0
Data Analytics Library
Cosan::SummaryStatistics< NumericType > Class Template Reference

Class for statistics results. More...

#include <statistics.h>

Inheritance diagram for Cosan::SummaryStatistics< NumericType >:
Cosan::Evaluation Cosan::CosanBO

Public Member Functions

 SummaryStatistics ()
 
CosanMatrix< NumericType > & GetSampleCovariance (const CosanMatrix< NumericType > &X)
 
NumericType GetMean (const CosanMatrix< NumericType > &X)
 
NumericType GetVar (const CosanMatrix< NumericType > &X)
 
NumericType GetMedian (const CosanMatrix< NumericType > &X)
 
NumericType GetMax (const CosanMatrix< NumericType > &X)
 
NumericType GetMin (const CosanMatrix< NumericType > &X)
 
- Public Member Functions inherited from Cosan::Evaluation
 Evaluation ()
 
- Public Member Functions inherited from Cosan::CosanBO
 CosanBO ()
 Default constructor. More...
 
virtual const std::string GetName () const
 Get the name of the objects. More...
 

Public Attributes

CosanMatrix< NumericTypeSampleCovariance
 
NumericType mean
 
NumericType variance
 
NumericType median
 
NumericType maxNum
 
NumericType minNum
 

Detailed Description

template<Numeric NumericType>
class Cosan::SummaryStatistics< NumericType >

Class for statistics results.

calculate SampleCovariance, mean, variance, median, maxNum, minNum;

CosanMatrix<NumericType> & GetSampleCovariance(const CosanMatrix<NumericType> & X)
NumericType GetMean(const CosanMatrix<NumericType> & X)
NumericType GetVar(const CosanMatrix<NumericType> & X)
NumericType GetMedian(const CosanMatrix<NumericType> & X)
NumericType GetMax(const CosanMatrix<NumericType> & X)
NumericType GetMin(const CosanMatrix<NumericType> & X)

Definition at line 21 of file statistics.h.

Constructor & Destructor Documentation

◆ SummaryStatistics()

template<Numeric NumericType>
Cosan::SummaryStatistics< NumericType >::SummaryStatistics ( )
inline

Definition at line 23 of file statistics.h.

23 :Evaluation(){}

Member Function Documentation

◆ GetMax()

template<Numeric NumericType>
NumericType Cosan::SummaryStatistics< NumericType >::GetMax ( const CosanMatrix< NumericType > &  X)
inline

Definition at line 64 of file statistics.h.

64  {
65  if (X.rows()>1 && X.cols()>1){
66  fmt::print("Variance is not defined in matrix! Calculate the minimum of all entries!");
67  }
68  maxNum = X.maxCoeff();
69  return maxNum;
70  }

◆ GetMean()

template<Numeric NumericType>
NumericType Cosan::SummaryStatistics< NumericType >::GetMean ( const CosanMatrix< NumericType > &  X)
inline

Definition at line 32 of file statistics.h.

32  {
33  if (X.rows()>1 && X.cols()>1){
34  fmt::print("Mean is not defined in matrix! Calculate the mean of all entries!");
35  }
36  mean = X.mean();
37  return mean;
38  }

◆ GetMedian()

template<Numeric NumericType>
NumericType Cosan::SummaryStatistics< NumericType >::GetMedian ( const CosanMatrix< NumericType > &  X)
inline

Definition at line 47 of file statistics.h.

47  {
48  if (X.rows()>1 && X.cols()>1){
49  fmt::print("Median is not defined in matrix! Calculate the median of all entries!");
50  }
51  std::vector<NumericType> X_copy(X.data(),X.data()+X.size());
52  if(X_copy.size()%2==0){
53  std::nth_element(X_copy.data(), X_copy.data() + X_copy.size()/2, X_copy.data()+X_copy.size());
54  std::nth_element(X_copy.data(), X_copy.data() + X_copy.size()/2-1, X_copy.data()+X_copy.size());
55  median = (*(X_copy.data()+X_copy.size()/2)+*(X_copy.data()+X_copy.size()/2-1))/2;
56  }
57  else{
58  std::nth_element(X_copy.data(), X_copy.data() + (X_copy.size()-1)/2, X_copy.data()+X_copy.size());
59  median = *(X_copy.data() + (X_copy.size()-1)/2);
60  }
61  return median;
62  }

◆ GetMin()

template<Numeric NumericType>
NumericType Cosan::SummaryStatistics< NumericType >::GetMin ( const CosanMatrix< NumericType > &  X)
inline

Definition at line 71 of file statistics.h.

71  {
72  if (X.rows()>1 && X.cols()>1){
73  fmt::print("Variance is not defined in matrix! Calculate the minimum of all entries!");
74  }
75  minNum = X.minCoeff();
76  return minNum;
77  }

◆ GetSampleCovariance()

template<Numeric NumericType>
CosanMatrix<NumericType>& Cosan::SummaryStatistics< NumericType >::GetSampleCovariance ( const CosanMatrix< NumericType > &  X)
inline

Definition at line 24 of file statistics.h.

24  :{
25  if (X.rows()<=1){
26  fmt::print("Input must have more than 1 row!")
27  throw SmallRows;
28  }
29  CosanMatrix<NumericType> centered = X.rowwise() - X.colwise().mean();
30  SampleCovariance = (centered.adjoint() * centered) / double(X.rows() - 1);
31  return SampleCovariance}

◆ GetVar()

template<Numeric NumericType>
NumericType Cosan::SummaryStatistics< NumericType >::GetVar ( const CosanMatrix< NumericType > &  X)
inline

Definition at line 39 of file statistics.h.

39  {
40  if (X.rows()>1 && X.cols()>1){
41  fmt::print("Variance is not defined in matrix! Calculate the variance of all entries!");
42  }
43  variance = std::sqrt((X.array() - X.mean()).square().sum()/(X.size()-1));
44  return variance;
45  }

Member Data Documentation

◆ maxNum

template<Numeric NumericType>
NumericType Cosan::SummaryStatistics< NumericType >::maxNum

Definition at line 83 of file statistics.h.

◆ mean

template<Numeric NumericType>
NumericType Cosan::SummaryStatistics< NumericType >::mean

Definition at line 80 of file statistics.h.

◆ median

template<Numeric NumericType>
NumericType Cosan::SummaryStatistics< NumericType >::median

Definition at line 82 of file statistics.h.

◆ minNum

template<Numeric NumericType>
NumericType Cosan::SummaryStatistics< NumericType >::minNum

Definition at line 84 of file statistics.h.

◆ SampleCovariance

template<Numeric NumericType>
CosanMatrix<NumericType> Cosan::SummaryStatistics< NumericType >::SampleCovariance

Definition at line 79 of file statistics.h.

◆ variance

template<Numeric NumericType>
NumericType Cosan::SummaryStatistics< NumericType >::variance

Definition at line 81 of file statistics.h.


The documentation for this class was generated from the following file:
Cosan::SmallRows
Cosan::TooSmallSizeException SmallRows
Cosan::SummaryStatistics::GetMean
NumericType GetMean(const CosanMatrix< NumericType > &X)
Definition: statistics.h:32
Cosan::SummaryStatistics::GetVar
NumericType GetVar(const CosanMatrix< NumericType > &X)
Definition: statistics.h:39
Cosan::SummaryStatistics::variance
NumericType variance
Definition: statistics.h:81
NumericType
double NumericType
Definition: onehotencodingTest.cpp:20
Cosan::SummaryStatistics::median
NumericType median
Definition: statistics.h:82
Cosan::SummaryStatistics::GetMin
NumericType GetMin(const CosanMatrix< NumericType > &X)
Definition: statistics.h:71
Cosan::CosanMatrix
Eigen::Matrix< NumericType, Eigen::Dynamic, Eigen::Dynamic > CosanMatrix
Definition: CosanBO.h:37
Cosan::SummaryStatistics::mean
NumericType mean
Definition: statistics.h:80
Cosan::Evaluation::Evaluation
Evaluation()
Definition: evaluation.h:13
Cosan::SummaryStatistics::GetMedian
NumericType GetMedian(const CosanMatrix< NumericType > &X)
Definition: statistics.h:47
Cosan::SummaryStatistics::SampleCovariance
CosanMatrix< NumericType > SampleCovariance
Definition: statistics.h:79
Cosan::SummaryStatistics::GetMax
NumericType GetMax(const CosanMatrix< NumericType > &X)
Definition: statistics.h:64
Cosan::SummaryStatistics::GetSampleCovariance
CosanMatrix< NumericType > & GetSampleCovariance(const CosanMatrix< NumericType > &X)
Definition: statistics.h:24
Cosan::SummaryStatistics::maxNum
NumericType maxNum
Definition: statistics.h:83
Cosan::SummaryStatistics::minNum
NumericType minNum
Definition: statistics.h:84