Create a likelihood function of a numerical vector parameter
PCMCreateLikelihood(
X,
tree,
model,
SE = matrix(0, PCMNumTraits(model), PCMTreeNumTips(tree)),
metaI = PCMInfo(X, tree, model, SE),
positiveValueGuard = Inf
)
a function of a numerical vector parameter called p returning the likelihood of X given the tree and the model with parameter values specified by p.
a k x N
numerical matrix with possible NA
and
NaN
entries. For i=1,..., N
, the column i
of X contains
the measured trait values for species i
(the tip with integer
identifier equal to i
in tree
). Missing values can be either
not-available (NA
) or not existing (NaN
). These two values are
treated differently when calculating likelihoods (see
PCMPresentCoordinates
).
a phylo object with N tips.
an S3 object specifying both, the model type (class, e.g. "OU") as well as the concrete model parameter values at which the likelihood is to be calculated (see also Details).
a k x N matrix specifying the standard error for each measurement in
X. Alternatively, a k x k x N cube specifying an upper triangular k x k
factor of the variance covariance matrix for the measurement error
for each tip i=1, ..., N
. When SE
is a matrix, the k x k
measurement error variance matrix for a tip i
is calculated as
VE[, , i] <- diag(SE[, i] * SE[, i], nrow = k)
. When SE
is a
cube, the way how the measurement variance matrix for a tip i
is
calculated depends on the runtime option PCMBase.Transpose.Sigma_x
as follows:
getOption("PCMBase.Transpose.Sigma_x", FALSE) == FALSE
(default): VE[, , i] <- SE[, , i] %*% t(SE[, , i])
getOption("PCMBase.Transpose.Sigma_x", FALSE) == TRUE
: VE[, , i] <- t(SE[, , i]) %*% SE[, , i]
Note that the above behavior is consistent with the treatment of the model
parameters Sigma_x
, Sigmae_x
and Sigmaj_x
, which are
also specified as upper triangular factors.
Default: matrix(0.0, PCMNumTraits(model), PCMTreeNumTips(tree))
.
a list returned from a call to PCMInfo(X, tree, model, SE)
,
containing meta-data such as N, M and k. Alternatively, this can be a
character string naming a function or a function object that returns such
a list, e.g. the functionPCMInfo
or the function PCMInfoCpp
from the PCMBaseCpp
package.
positive numerical value (default Inf), which serves as a guard for numerical error. Values exceeding this positiveGuard are most likely due to numerical error and PCMOptions()$PCMBase.Value.NA is returned instead.
It is possible to specify a function for the argument metaI. This
function should have three parameters (X, tree, model) and should return a
metaInfo object. (see PCMInfo
).