MuGen
Multitrait genetics
|
Individual vector of regression coefficients with blocks of traits. More...
#include <MuGen.h>
Public Member Functions | |
MVnormBetaBlk () | |
Default constructor. More... | |
MVnormBetaBlk (const Grp &resp, gsl_matrix *pred, const vector< size_t > &iCl, const gsl_matrix *Sig, const vector< size_t > &blkStart, const gsl_rng *r, gsl_matrix *bet, const size_t &iRw) | |
Constructor with no prior index. More... | |
MVnormBetaBlk (const Grp &resp, gsl_matrix *pred, const vector< size_t > &iCl, const gsl_matrix *Sig, const vector< size_t > &blkStart, const gsl_rng *r, const size_t &up, gsl_matrix *bet, const size_t &iRw) | |
Constructor with a prior index. More... | |
MVnormBetaBlk (const gsl_matrix *resp, gsl_matrix *pred, const vector< size_t > &iCl, const gsl_matrix *Sig, const vector< size_t > &blkStart, const gsl_rng *r, gsl_matrix *bet, const size_t &iRw) | |
Constructor with no prior index. More... | |
MVnormBetaBlk (const gsl_matrix *resp, gsl_matrix *pred, const vector< size_t > &iCl, const gsl_matrix *Sig, const vector< size_t > &blkStart, const gsl_rng *r, const size_t &up, gsl_matrix *bet, const size_t &iRw) | |
Constructor with a prior index. More... | |
virtual | ~MVnormBetaBlk () |
Destructor. | |
const size_t * | up () const |
Points to the prior. More... | |
virtual void | update (const Grp &dat, const SigmaI &SigIb, const gsl_rng *r) |
Gaussian likelihood. More... | |
virtual void | update (const Grp &dat, const Qgrp &q, const SigmaI &SigIb, const gsl_rng *r) |
Sudent- \(t\) likelihood. More... | |
virtual void | update (const Grp &dat, const SigmaI &SigIb, const SigmaI &SigIp, const gsl_rng *r) |
Gaussian likelihood, Gaussian prior. More... | |
virtual void | update (const Grp &dat, const SigmaI &SigIb, const double &qPr, const SigmaI &SigIp, const gsl_rng *r) |
Gaussian likelihood, Student- \(t\) prior. More... | |
virtual void | update (const Grp &dat, const Qgrp &q, const SigmaI &SigIb, const SigmaI &SigIp, const gsl_rng *r) |
Student- \(t\) likelihood, Gaussian prior. More... | |
virtual void | update (const Grp &dat, const Qgrp &q, const SigmaI &SigIb, const double &qPr, const SigmaI &SigIp, const gsl_rng *r) |
Student- \(t\) likelihood, Student- \(t\) prior. More... | |
virtual void | update (const Grp &dat, const SigmaI &SigIb, const Grp &muPr, const SigmaI &SigIp, const gsl_rng *r) |
Gaussian likelihood, Gaussian prior. More... | |
virtual void | update (const Grp &dat, const SigmaI &SigIb, const Grp &muPr, const double &qPr, const SigmaI &SigIp, const gsl_rng *r) |
Gaussian likelihood, Student- \(t\) prior. More... | |
virtual void | update (const Grp &dat, const Qgrp &q, const SigmaI &SigIb, const Grp &muPr, const SigmaI &SigIp, const gsl_rng *r) |
Student- \(t\) likelihood, Gaussian prior. More... | |
virtual void | update (const Grp &dat, const Qgrp &q, const SigmaI &SigIb, const Grp &muPr, const double &qPr, const SigmaI &SigIp, const gsl_rng *r) |
Student- \(t\) likelihood, Student- \(t\) prior. More... | |
Public Member Functions inherited from MVnorm | |
MVnorm (const MVnorm &) | |
Copy constructor. More... | |
MVnorm & | operator= (const MVnorm &) |
Assignement operator. More... | |
virtual | ~MVnorm () |
Virtual destructor. More... | |
virtual double | mhl (const MVnorm *x, const SigmaI &SigI) |
Mahalanobis distance to a vector. More... | |
virtual double | mhl (const MVnorm *x, const SigmaI &SigI) const |
Mahalanobis distance to a vector. More... | |
virtual double | mhl (const gsl_vector *x, const SigmaI &SigI) |
Mahalanobis distance to a vector. More... | |
virtual double | mhl (const gsl_vector *x, const SigmaI &SigI) const |
Mahalanobis distance to a vector. More... | |
virtual double | mhl (const SigmaI &SigI) |
Mahalanobis distance to zero. More... | |
virtual double | mhl (const SigmaI &SigI) const |
Mahalanobis distance to zero. More... | |
double | density (const gsl_vector *theta, const SigmaI &SigI) |
Multivariate Gaussian density. More... | |
double | density (const gsl_vector *theta, const SigmaI &SigI) const |
Multivariate Gaussian density. More... | |
double | density (const MVnorm *theta, const SigmaI &SigI) |
Multivariate Gaussian density. More... | |
double | density (const MVnorm *theta, const SigmaI &SigI) const |
Multivariate Gaussian density. More... | |
void | save (const string &fileNam, const char *how="a") |
Save function. More... | |
void | save (FILE *fileStr) |
Save function. More... | |
double | operator[] (const size_t i) const |
Subscript operator. More... | |
void | valSet (const size_t i, const double x) |
Setting an element to a value. More... | |
const gsl_vector * | getVec () const |
Access the location vector. More... | |
size_t | len () const |
Length of the location vector. More... | |
virtual size_t | nMissP () const |
Number of missing values. More... | |
virtual const vector< size_t > | getMisPhen () const |
Indexes of missing values. More... | |
virtual const vector< size_t > * | down () const |
Points to the corresponding data. More... | |
virtual double | scalePar () const |
Scale parameter. More... | |
Protected Attributes | |
const vector< size_t > * | _blkStart |
Start positions of blocks. More... | |
vector< gsl_vector_view > | _eachVec |
Trait blocks. More... | |
vector< gsl_vector_view > | _X |
Separate predictors. More... | |
vector< double > | _scale |
Vector of scales. More... | |
const size_t * | _upLevel |
Pointer to a row index of the prior. More... | |
Protected Attributes inherited from MVnorm | |
gsl_vector_view | _vec |
Data vector. More... | |
size_t | _d |
Length of the data vector. | |
Additional Inherited Members | |
Protected Member Functions inherited from MVnorm | |
MVnorm () | |
Default constructor. More... | |
MVnorm (const size_t &d) | |
Dimension-only constructor. More... | |
MVnorm (gsl_vector *mn) | |
Dimension and vector value constructor. More... | |
MVnorm (gsl_vector *mn, const gsl_vector *sd, const gsl_rng *r) | |
Univariate Gaussian constructor. More... | |
MVnorm (gsl_vector *mn, const gsl_matrix *Sig, const gsl_rng *r) | |
Multivariate Gaussian constructor. More... | |
MVnorm (gsl_matrix *mn, const size_t &iRw) | |
Dimension and vector value constructor. More... | |
MVnorm (gsl_matrix *mn, const size_t &iRw, const gsl_vector *sd, const gsl_rng *r) | |
Univariate Gaussian constructor with a matrix. More... | |
MVnorm (gsl_matrix *mn, const size_t &iRw, const gsl_matrix *Sig, const gsl_rng *r) | |
Multivariate Gaussian constructor with a matrix. More... | |
Individual vector of regression coefficients with blocks of traits.
Implements separate regression models for blocks of traits. The likelihood covariance matrix is block-diagonal. Traits of the same block have to be contiguous within the vector.
|
inline |
Default constructor.
Simply calls the MVnorm default constructor.
MVnormBetaBlk::MVnormBetaBlk | ( | const Grp & | resp, |
gsl_matrix * | pred, | ||
const vector< size_t > & | iCl, | ||
const gsl_matrix * | Sig, | ||
const vector< size_t > & | blkStart, | ||
const gsl_rng * | r, | ||
gsl_matrix * | bet, | ||
const size_t & | iRw | ||
) |
Constructor with no prior index.
Stochastic constructor for a regression with an improper prior.
[in] | Grp& | response variable |
[in] | gsl_matrix* | predictor matrix |
[in] | vector<size_t>& | column indexes of the predictor matrix |
[in] | gsl_matrix* | covariance marix for stochastic initiation |
[in] | vector<size_t>& | vector of start indixes of each block |
[in] | gsl_rng* | pointer to a PNG |
[in] | gsl_matrix* | matrix of regression coefficients |
[in] | size_t& | row index of the regression coefficient matrix |
MVnormBetaBlk::MVnormBetaBlk | ( | const Grp & | resp, |
gsl_matrix * | pred, | ||
const vector< size_t > & | iCl, | ||
const gsl_matrix * | Sig, | ||
const vector< size_t > & | blkStart, | ||
const gsl_rng * | r, | ||
const size_t & | up, | ||
gsl_matrix * | bet, | ||
const size_t & | iRw | ||
) |
Constructor with a prior index.
Stochastic constructor for a regression with a proper prior.
[in] | Grp& | response variable |
[in] | gsl_matrix* | predictor matrix |
[in] | vector<size_t>& | column indexes of the predictor matrix |
[in] | gsl_matrix* | covariance marix for stochastic initiation |
[in] | vector<size_t>& | vector of start indixes of each block |
[in] | gsl_rng* | pointer to a PNG |
[in] | size_t& | row index of the prior matrix |
[in] | gsl_matrix* | matrix of regression coefficients |
[in] | size_t& | row index of the regression coefficient matrix |
MVnormBetaBlk::MVnormBetaBlk | ( | const gsl_matrix * | resp, |
gsl_matrix * | pred, | ||
const vector< size_t > & | iCl, | ||
const gsl_matrix * | Sig, | ||
const vector< size_t > & | blkStart, | ||
const gsl_rng * | r, | ||
gsl_matrix * | bet, | ||
const size_t & | iRw | ||
) |
Constructor with no prior index.
Stochastic constructor for a regression with an improper prior.
[in] | gsl_matrix* | response matrix |
[in] | gsl_matrix* | predictor matrix |
[in] | vector<size_t>& | column indexes of the predictor matrix |
[in] | gsl_matrix* | covariance marix for stochastic initiation |
[in] | vector<size_t>& | vector of start indixes of each block |
[in] | gsl_rng* | pointer to a PNG |
[in] | gsl_matrix* | matrix of regression coefficients |
[in] | size_t& | row index of the regression coefficient matrix |
MVnormBetaBlk::MVnormBetaBlk | ( | const gsl_matrix * | resp, |
gsl_matrix * | pred, | ||
const vector< size_t > & | iCl, | ||
const gsl_matrix * | Sig, | ||
const vector< size_t > & | blkStart, | ||
const gsl_rng * | r, | ||
const size_t & | up, | ||
gsl_matrix * | bet, | ||
const size_t & | iRw | ||
) |
Constructor with a prior index.
Stochastic constructor for a regression with a proper prior.
[in] | gsl_matrix* | response matrix |
[in] | gsl_matrix* | predictor matrix |
[in] | vector<size_t>& | column indexes of the predictor matrix |
[in] | gsl_matrix* | covariance marix for stochastic initiation |
[in] | vector<size_t>& | vector of start indixes of each block |
[in] | gsl_rng* | pointer to a PNG |
[in] | size_t& | row index of the prior matrix |
[in] | gsl_matrix* | matrix of regression coefficients |
[in] | size_t& | row index of the regression coefficient matrix |
|
inlinevirtual |
Points to the prior.
Access to the pointer to the correspoding vector of priors. Is non-zero only for classes where a prior is implemented.
Reimplemented from MVnorm.
|
virtual |
Student- \(t\) likelihood, Student- \(t\) prior.
[in] | Grp& | data for the likelihood |
[in] | Qgrp& | vector Student- \(t\) covariance scale parameter for the likelihood covariance |
[in] | SigmaI& | inverse-covariance matrix for the likelihood |
[in] | double& | Student- \(t\) scale parameter for the prior covariance |
[in] | SigmaI& | prior inverse-covariance matrix |
[in] | gsl_rng* | pointer to a PNG |
Implements MVnorm.
Reimplemented in MVnormBetaFtBlk.
|
virtual |
Student- \(t\) likelihood, Student- \(t\) prior.
[in] | Grp& | data for the likelihood |
[in] | Qgrp& | vector Student- \(t\) covariance scale parameter for the likelihood covariance |
[in] | SigmaI& | inverse-covariance matrix for the likelihood |
[in] | Grp& | prior mean |
[in] | double& | Student- \(t\) scale parameter for the prior covariance |
[in] | SigmaI& | prior inverse-covariance matrix |
[in] | gsl_rng* | pointer to a PNG |
Implements MVnorm.
Reimplemented in MVnormBetaFtBlk.
|
virtual |
Student- \(t\) likelihood, Gaussian prior.
[in] | Grp& | data for the likelihood |
[in] | Qgrp& | vector Student- \(t\) covariance scale parameter for the likelihood covariance |
[in] | SigmaI& | inverse-covariance matrix for the likelihood |
[in] | Grp& | prior mean |
[in] | SigmaI& | prior inverse-covariance matrix |
[in] | gsl_rng* | pointer to a PNG |
Implements MVnorm.
Reimplemented in MVnormBetaFtBlk.
|
virtual |
Sudent- \(t\) likelihood.
[in] | Grp& | data |
[in] | Qgrp& | vector of Student- \(t\) covariance scale parameters for the likelihood covariance |
[in] | SigmaI& | inverse-covariance matrix for the likelihood |
[in] | gsl_rng* | pointer to a PNG |
Implements MVnorm.
Reimplemented in MVnormBetaFtBlk.
|
virtual |
Student- \(t\) likelihood, Gaussian prior.
[in] | Grp& | data for the likelihood |
[in] | Qgrp& | vector of Student- \(t\) covariance scale parameters for the likelihood covariance |
[in] | SigmaI& | inverse-covariance matrix for the likelihood |
[in] | SigmaI& | prior inverse-covariance matrix |
[in] | gsl_rng* | pointer to a PNG |
Implements MVnorm.
Reimplemented in MVnormBetaFtBlk.
|
virtual |
Gaussian likelihood, Student- \(t\) prior.
[in] | Grp& | data for the likelihood |
[in] | SigmaI& | inverse-covariance matrix for the likelihood |
[in] | double& | Student- \(t\) scale parameter for the prior covariance |
[in] | SigmaI& | prior inverse-covariance matrix |
[in] | gsl_rng* | pointer to a PNG |
Implements MVnorm.
Reimplemented in MVnormBetaFtBlk.
|
virtual |
Gaussian likelihood, Student- \(t\) prior.
[in] | Grp& | data for the likelihood |
[in] | SigmaI& | inverse-covariance matrix for the likelihood |
[in] | Grp& | prior mean |
[in] | double& | Student- \(t\) scale parameter for the prior covariance |
[in] | SigmaI& | prior inverse-covariance matrix |
[in] | gsl_rng* | pointer to a PNG |
Implements MVnorm.
Reimplemented in MVnormBetaFtBlk.
|
virtual |
Gaussian likelihood, Gaussian prior.
[in] | Grp& | data for the likelihood |
[in] | SigmaI& | inverse-covariance matrix for the likelihood |
[in] | Grp& | prior mean |
[in] | SigmaI& | prior inverse-covariance matrix |
[in] | gsl_rng* | pointer to a PNG |
Implements MVnorm.
Reimplemented in MVnormBetaFtBlk.
Gaussian likelihood.
[in] | Grp& | data |
[in] | SigmaI& | inverse-covariance matrix for the likelihood |
[in] | gsl_rng* | pointer to a PNG |
Implements MVnorm.
Reimplemented in MVnormBetaFtBlk.
|
virtual |
Gaussian likelihood, Gaussian prior.
[in] | Grp& | data for the likelihood |
[in] | SigmaI& | inverse-covariance matrix for the likelihood |
[in] | SigmaI& | prior inverse-covariance matrix |
[in] | gsl_rng* | pointer to a PNG |
Implements MVnorm.
Reimplemented in MVnormBetaFtBlk.
|
protected |
Start positions of blocks.
Pointer to the vector that's in the corresponding Grp class.
|
protected |
Trait blocks.
Vector views of vector pieces, each corresponding to a block of variables. Pointer to the vector that's in the corresponding Grp class.
|
protected |
Vector of scales.
Typically \(X^{T}X\), but can bet something else in special cases. Each _X has a correspodning _scale.
|
protected |
Pointer to a row index of the prior.
This has to be the same for all the blocks.
|
protected |
Separate predictors.
Vector views of predictor vectors, each corresponding to a block of variables. The predictor matrix is in the encompassing Grp class.