mlpack  master
Public Member Functions | Private Attributes | List of all members
mlpack::distribution::RegressionDistribution Class Reference

A class that represents a univariate conditionally Gaussian distribution. More...

Public Member Functions

 RegressionDistribution ()
 Default constructor, which creates a Gaussian with zero dimension. More...
 
 RegressionDistribution (const arma::mat &predictors, const arma::vec &responses)
 Create a Conditional Gaussian distribution with conditional mean function obtained by running RegressionFunction on predictors, responses. More...
 
size_t Dimensionality () const
 Return the dimensionality. More...
 
const GaussianDistributionErr () const
 Return error distribution. More...
 
GaussianDistributionErr ()
 Modify error distribution. More...
 
double LogProbability (const arma::vec &observation) const
 Evaluate log probability density function of given observation. More...
 
const arma::vec & Parameters () const
 Return the parameters (the b vector). More...
 
void Predict (const arma::mat &points, arma::vec &predictions) const
 Calculate y_i for each data point in points. More...
 
double Probability (const arma::vec &observation) const
 Evaluate probability density function of given observation. More...
 
const regression::LinearRegressionRf () const
 Return regression function. More...
 
regression::LinearRegressionRf ()
 Modify regression function. More...
 
template<typename Archive >
void Serialize (Archive &ar, const unsigned int)
 Serialize the distribution. More...
 
void Train (const arma::mat &observations)
 Estimate the Gaussian distribution directly from the given observations. More...
 
void Train (const arma::mat &observations, const arma::vec &weights)
 Estimate parameters using provided observation weights. More...
 

Private Attributes

GaussianDistribution err
 Error distribution. More...
 
regression::LinearRegression rf
 Regression function for representing conditional mean. More...
 

Detailed Description

A class that represents a univariate conditionally Gaussian distribution.

Can be used as an emission distribution with the hmm class to implement HMM regression (HMMR) as described in https://www.ima.umn.edu/preprints/January1994/1195.pdf The hmm observations should have the dependent variable in the first row, with the independent variables in the other rows.

Definition at line 30 of file regression_distribution.hpp.

Constructor & Destructor Documentation

mlpack::distribution::RegressionDistribution::RegressionDistribution ( )
inline

Default constructor, which creates a Gaussian with zero dimension.

Definition at line 42 of file regression_distribution.hpp.

mlpack::distribution::RegressionDistribution::RegressionDistribution ( const arma::mat &  predictors,
const arma::vec &  responses 
)
inline

Create a Conditional Gaussian distribution with conditional mean function obtained by running RegressionFunction on predictors, responses.

Parameters
predictorsMatrix of predictors (X).
responsesVector of responses (y).

Definition at line 51 of file regression_distribution.hpp.

References mlpack::regression::LinearRegression::ComputeError(), and mlpack::distribution::GaussianDistribution::Covariance().

Member Function Documentation

size_t mlpack::distribution::RegressionDistribution::Dimensionality ( ) const
inline

Return the dimensionality.

Definition at line 123 of file regression_distribution.hpp.

References mlpack::regression::LinearRegression::Parameters().

const GaussianDistribution& mlpack::distribution::RegressionDistribution::Err ( ) const
inline

Return error distribution.

Definition at line 77 of file regression_distribution.hpp.

References err.

GaussianDistribution& mlpack::distribution::RegressionDistribution::Err ( )
inline

Modify error distribution.

Definition at line 79 of file regression_distribution.hpp.

References err, Probability(), and Train().

double mlpack::distribution::RegressionDistribution::LogProbability ( const arma::vec &  observation) const
inline

Evaluate log probability density function of given observation.

Parameters
observationpoint to evaluate log probability at

Definition at line 107 of file regression_distribution.hpp.

References Predict(), and Probability().

const arma::vec& mlpack::distribution::RegressionDistribution::Parameters ( ) const
inline

Return the parameters (the b vector).

Definition at line 120 of file regression_distribution.hpp.

References mlpack::regression::LinearRegression::Parameters().

void mlpack::distribution::RegressionDistribution::Predict ( const arma::mat &  points,
arma::vec &  predictions 
) const

Calculate y_i for each data point in points.

Parameters
pointsthe data points to calculate with.
predictionsy, will contain calculated values on completion.

Referenced by LogProbability().

double mlpack::distribution::RegressionDistribution::Probability ( const arma::vec &  observation) const

Evaluate probability density function of given observation.

Parameters
observationpoint to evaluate probability at

Referenced by Err(), and LogProbability().

const regression::LinearRegression& mlpack::distribution::RegressionDistribution::Rf ( ) const
inline

Return regression function.

Definition at line 72 of file regression_distribution.hpp.

References rf.

regression::LinearRegression& mlpack::distribution::RegressionDistribution::Rf ( )
inline

Modify regression function.

Definition at line 74 of file regression_distribution.hpp.

References rf.

template<typename Archive >
void mlpack::distribution::RegressionDistribution::Serialize ( Archive &  ar,
const unsigned  int 
)
inline

Serialize the distribution.

Definition at line 65 of file regression_distribution.hpp.

References mlpack::data::CreateNVP().

void mlpack::distribution::RegressionDistribution::Train ( const arma::mat &  observations)

Estimate the Gaussian distribution directly from the given observations.

Parameters
observationsList of observations.

Referenced by Err().

void mlpack::distribution::RegressionDistribution::Train ( const arma::mat &  observations,
const arma::vec &  weights 
)

Estimate parameters using provided observation weights.

Parameters
weightsprobability that given observation is from distribution

Member Data Documentation

GaussianDistribution mlpack::distribution::RegressionDistribution::err
private

Error distribution.

Definition at line 36 of file regression_distribution.hpp.

Referenced by Err().

regression::LinearRegression mlpack::distribution::RegressionDistribution::rf
private

Regression function for representing conditional mean.

Definition at line 34 of file regression_distribution.hpp.

Referenced by Rf().


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