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
ALEither 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.
bLEither 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.
betaEither 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.
betaLEither 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.
betapEither NULL or a number.
If NULL then the pth 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.
pThe number of components. If NULL then p will be inferred from other inputs.
AstarThe \(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