1 #ifndef SAMPLEESTIMATOR_H
2 #define SAMPLEESTIMATOR_H
9 namespace SamplingAlgorithms{
46 virtual unsigned int BlockSize(
int blockInd)
const = 0;
65 int blockNum=-1)
const;
77 Eigen::VectorXd
const& mean,
78 int blockNum=-1)
const;
101 int blockInd=-1)
const;
118 Eigen::VectorXd
const& mean,
119 int blockInd=-1)
const;
123 Eigen::VectorXd
const& mean,
124 Eigen::VectorXd
const& stdDev,
125 int blockInd=-1)
const;
133 virtual Eigen::VectorXd
Mean(
int blockInd=-1)
const;
150 virtual Eigen::VectorXd
Variance(
int blockInd=-1)
const;
155 virtual Eigen::VectorXd
Variance(Eigen::VectorXd
const& mean,
156 int blockInd=-1)
const;
172 virtual Eigen::VectorXd
Skewness(
int blockInd=-1)
const;
175 virtual Eigen::VectorXd
Skewness(Eigen::VectorXd
const& mean,
176 int blockInd=-1)
const;
178 virtual Eigen::VectorXd
Skewness(Eigen::VectorXd
const& mean,
179 Eigen::VectorXd
const& stdDev,
180 int blockInd=-1)
const;
195 virtual Eigen::VectorXd
Kurtosis(
int blockInd=-1)
const;
198 virtual Eigen::VectorXd
Kurtosis(Eigen::VectorXd
const& mean,
199 int blockInd=-1)
const;
201 virtual Eigen::VectorXd
Kurtosis(Eigen::VectorXd
const& mean,
202 Eigen::VectorXd
const& stdDev,
203 int blockInd=-1)
const;
220 virtual Eigen::MatrixXd
Covariance(
int blockInd=-1)
const;
227 virtual Eigen::MatrixXd
Covariance(Eigen::VectorXd
const& mean,
228 int blockInd=-1)
const = 0;
236 virtual Eigen::VectorXd
ExpectedValue(std::shared_ptr<muq::Modeling::ModPiece>
const& f,
237 std::vector<std::string>
const& metains = std::vector<std::string>())
const = 0;
249 std::string
const& method)
const = 0;
267 virtual Eigen::VectorXd
ESS(
int blockInd,
268 std::string
const& method)
const = 0;
269 virtual Eigen::VectorXd
ESS(
int blockDim)
const {
return ESS(blockDim,
"Batch");};
270 virtual Eigen::VectorXd
ESS(std::string
const& method=
"Batch")
const {
return ESS(-1,method);};
Abstract base class for computing sample-based approximations of expectations.
virtual Eigen::VectorXd ESS(std::string const &method="Batch") const
virtual Eigen::MatrixXd Covariance(int blockInd=-1) const
virtual unsigned int BlockSize(int blockInd) const =0
virtual Eigen::MatrixXd Covariance(Eigen::VectorXd const &mean, int blockInd=-1) const =0
virtual Eigen::VectorXd Skewness(int blockInd=-1) const
virtual Eigen::VectorXd StandardError(int blockDim) const
virtual ~SampleEstimator()=default
virtual Eigen::VectorXd ExpectedValue(std::shared_ptr< muq::Modeling::ModPiece > const &f, std::vector< std::string > const &metains=std::vector< std::string >()) const =0
virtual Eigen::VectorXd ESS(int blockDim) const
virtual Eigen::VectorXd StandardError(int blockInd, std::string const &method) const =0
virtual Eigen::VectorXd CentralMoment(unsigned int order, int blockNum=-1) const
virtual Eigen::VectorXd StandardizedMoment(unsigned int order, int blockInd=-1) const
virtual Eigen::VectorXd Mean(int blockInd=-1) const
virtual Eigen::VectorXd Kurtosis(int blockInd=-1) const
virtual Eigen::VectorXd StandardError(std::string const &method="Batch") const
virtual Eigen::VectorXd Variance(int blockInd=-1) const
virtual unsigned int NumBlocks() const =0
virtual Eigen::VectorXd ESS(int blockInd, std::string const &method) const =0