Learn R Programming

GROAN (version 1.3.1)

phenoregressor.BGLR.multikinships: Multi-matrix GBLUP using BGLR

Description

This regressor implements Genomic BLUP using Bayesian methods from BGLR package, but allows to use more than one covariance matrix.

Usage

phenoregressor.BGLR.multikinships(
  phenotypes,
  genotypes = NULL,
  covariances,
  extraCovariates,
  type = "RKHS",
  ...
)

Value

The function returns a list with the following fields:

  • predictions : an array of (n) predicted phenotypes, with NAs filled and all other positions repredicted (useful for calculating residuals)

  • hyperparams : empty, returned for compatibility

  • extradata : list with information on trained model, coming from BGLR

Arguments

phenotypes

phenotypes, a numeric array (n x 1), missing values are predicted

genotypes

added for compatibility with the other GROAN regressors, must be NULL

covariances

square matrix (n x n) of covariances.

extraCovariates

the extra covariance matrices to be added in the GBLUP model, collated in a single matrix-like structure, with optionally first column as an ignored intercept (supported for compatibility). See details, below.

type

character literal, one of the following: FIXED (Flat prior), BRR (Gaussian prior), BL (Double-Exponential prior), BayesA (scaled-t prior), BayesB (two component mixture prior with a point of mass at zero and a scaled-t slab), BayesC (two component mixture prior with a point of mass at zero and a Gaussian slab), RKHS (Gaussian processes, default)

...

extra parameters are passed to BGLR

Details

In its simplest form, GBLUP is defined as: $$y = 1\mu + Z u + e$$ with $$var(y) = K \sigma_u^2 + I\sigma_e^2$$

Where \(\mu\) is the overall mean, \(K\) is the incidence matrix relating individual weights \(u\) to \(y\), and \(e\) is a vector of residuals with zero mean and covariance matrix \(I\sigma_e^2\)

It is possible to extend the above model to include different types of kinship matrices, each capturing different links between genotypes and phenotypes:

$$y = 1\mu + Z1 u1 + Z2 u2 + \dots + e$$ with $$var(y) = K1 \sigma_u1^2 + K2 \sigma_u2^2 + \dots + I\sigma_e^2$$

This function receives the first kinship matrix \(K1\) via the covariances argument and an arbitrary number of extra matrices via the extraCovariates built as follow:

#given the following defined variables
y = <some values, Nx1 array>
K1 = <NxN kinship matrix>
K2 = <another NxN kinship matrix>
K3 = <a third NxN kinship matrix>

#invoking the multi kinship GBLUP y_hat = phenoregressor.BGLR.multikinships( phenotypes = y, covariances = K1, extraCovariates = cbind(K2, K3) )

See Also

BGLR

Other phenoRegressors: phenoRegressor.BGLR(), phenoRegressor.RFR(), phenoRegressor.SVR(), phenoRegressor.dummy(), phenoRegressor.rrBLUP()