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

View source: R/regressors.R

phenoregressor.BGLR.multikinshipsR Documentation

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",
  ...
)

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μ + Z u + e

with

var(y) = K σ_u^2 + Iσ_e^2

Where μ 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σ_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μ + Z1 u1 + Z2 u2 + … + e

with

var(y) = K1 σ_u1^2 + K2 σ_u2^2 + … + Iσ_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)
)

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

See Also

BGLR

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


GROAN documentation built on Nov. 28, 2022, 5:07 p.m.