CMP++: Uncertainty Quantification & Bayesian Calibration
Loading...
Searching...
No Matches
cmp::mean::ModelClusterMean Class Reference

Blended mean function that interpolates local GP means using classifier probabilities. More...

#include <model_cluster.h>

Inheritance diagram for cmp::mean::ModelClusterMean:
Collaboration diagram for cmp::mean::ModelClusterMean:

Public Member Functions

 ModelClusterMean (cmp::ModelCluster *modelCluster, cmp::classifier::Classifier *classifier)
 
double eval (const Eigen::VectorXd &x, const Eigen::VectorXd &par) const
 
double evalGradient (const Eigen::VectorXd &x, const Eigen::VectorXd &par, const size_t &i) const
 
double evalHessian (const Eigen::VectorXd &x, const Eigen::VectorXd &par, const size_t &i, const size_t &j) const
 
- Public Member Functions inherited from cmp::mean::Mean
virtual ~Mean ()=default
 

Static Public Member Functions

static std::shared_ptr< Meanmake (cmp::ModelCluster *modelCluster, cmp::classifier::Classifier *classifier)
 

Private Attributes

cmp::ModelClusterpModelCluster_
 Pointer to the underlying model cluster manager.
 
cmp::classifier::ClassifierpClassifier_
 Pointer to the classifier used for coordinate probability assignment.
 

Detailed Description

Blended mean function that interpolates local GP means using classifier probabilities.

Mathematical Formulation The blended mean function at input $x$ is evaluated as:

\[ M(x) = \sum_{k=1}^K P(C=k | x) m_k(x; \theta_k) \]

where $P(C=k | x)$ is the classifier-derived probability that $x$ belongs to cluster $k$, and $m_k$ is the mean function of the $k$-th cluster's GP.

Implementation Algorithm

  1. Queries the classifier for the cluster membership probability vector at input $x$.
  2. Evaluates the local mean function for each cluster GP at $x$.
  3. Returns the dot product of the probability vector and the local GP mean vector.

Constructor & Destructor Documentation

◆ ModelClusterMean()

cmp::mean::ModelClusterMean::ModelClusterMean ( cmp::ModelCluster modelCluster,
cmp::classifier::Classifier classifier 
)
inline

Member Function Documentation

◆ eval()

double cmp::mean::ModelClusterMean::eval ( const Eigen::VectorXd &  x,
const Eigen::VectorXd &  par 
) const
inlinevirtual

Implements cmp::mean::Mean.

◆ evalGradient()

double cmp::mean::ModelClusterMean::evalGradient ( const Eigen::VectorXd &  x,
const Eigen::VectorXd &  par,
const size_t &  i 
) const
inlinevirtual

Implements cmp::mean::Mean.

◆ evalHessian()

double cmp::mean::ModelClusterMean::evalHessian ( const Eigen::VectorXd &  x,
const Eigen::VectorXd &  par,
const size_t &  i,
const size_t &  j 
) const
inlinevirtual

Implements cmp::mean::Mean.

◆ make()

static std::shared_ptr< Mean > cmp::mean::ModelClusterMean::make ( cmp::ModelCluster modelCluster,
cmp::classifier::Classifier classifier 
)
inlinestatic

Member Data Documentation

◆ pClassifier_

cmp::classifier::Classifier* cmp::mean::ModelClusterMean::pClassifier_
private

Pointer to the classifier used for coordinate probability assignment.

◆ pModelCluster_

cmp::ModelCluster* cmp::mean::ModelClusterMean::pModelCluster_
private

Pointer to the underlying model cluster manager.


The documentation for this class was generated from the following file: