Compute the natural logarithm of the improper density for the PPI model for the given matrix of measurements Y
. Rows with negative values or with a sum that differs from 1
by more than 1E-15
are assigned a value of -Inf
.
dppi(Y, ..., paramvec = NULL)
A matrix of measurements in the simplex. Each row is a multivariate measurement.
Arguments passed on to ppi_paramvec
AL
Either NULL
, a p-1 x p-1 symmetric matrix, a number, or "diag".
If NULL then all \(A_L\) elements will be set to NA.
If a single number, then \(A_L\) will be fixed as a matrix of the given value.
If "diag" then the non-diagonal elements of \(A_L\) will be fixed to 0, and the diagonal will be NA
.
bL
Either NULL
, a number, or a vector of length p-1.
If NULL
, then all elements of \(b_L\) will be set to NA
.
If a single number, then \(b_L\) will be fixed at the supplied value.
beta
Either NULL
, a number, or a vector of length p.
If NULL then all elements of \(\beta\) will be set to NA
.
If a single number then the \(\beta\) elements will be fixed at the given number.
betaL
Either NULL
, a number, or a vector of length p-1.
If NULL
then the 1...(p-1)th \(\beta\) elements will be set to NA
.
If a single number then the 1...(p-1)th \(\beta\) elements will be fixed at the given number.
betap
Either NULL
or a number.
If NULL
then the p
th element of \(\beta\) will be set to NA
, and ppi()
will estimate it.
If a number, then the pth element of \(\beta\) will be fixed at the given value.
p
The number of components. If NULL
then p
will be inferred from other inputs.
Astar
The \(A^*\) matrix (a p by p symmetric matrix)
The PPI parameter vector, created easily using ppi_paramvec()
and also returned by ppi()
. Use paramvec
instead of ...
.
The value calculated by dppi
is
$$z_L^TA_Lz_L + b_L^Tz_L + \beta^T \log(z),$$
where \(z\) is the multivariate observation (i.e. a row of Y
), and \(z_L\) omits the final element of \(z\).
Other PPI model tools:
ppi()
,
ppi_param_tools
,
ppi_robust()
,
rppi()
m <- rppi_egmodel(10)
dppi(m$sample, paramvec = m$theta)
Run the code above in your browser using DataLab