Package 'PLordprob'

Title: Multivariate Ordered Probit Model via Pairwise Likelihood
Description: Multivariate ordered probit model, i.e. the extension of the scalar ordered probit model where the observed variables have dimension greater than one. Estimation of the parameters is done via maximization of the pairwise likelihood, a special case of the composite likelihood obtained as product of bivariate marginal distributions. The package uses the Fortran 77 subroutine SADMVN by Alan Genz, with minor adaptations made by Adelchi Azzalini in his "mvnormt" package for evaluating the two-dimensional Gaussian integrals involved in the pairwise log-likelihood. Optimization of the latter objective function is performed via quasi-Newton box-constrained optimization algorithm, as implemented in nlminb.
Authors: Euloge Clovis Kenne Pagui [aut,cre], Antonio Canale [aut], Alan Genz [ctb], Adelchi Azzalini [ctb]
Maintainer: Euloge Clovis Kenne Pagui <[email protected]>
License: GPL-2
Version: 1.1
Built: 2025-03-06 03:01:40 UTC
Source: https://github.com/cran/PLordprob

Help Index


Multivariate Ordered Probit Model via Pairwise Likelihood

Description

Fit multivariate ordered probit model, i.e. the extension of the scalar ordered probit model where the observed variables have dimension greater than one. Estimation of the parameters is done via maximization of the pairwise likelihood, a special case of the composite likehood obtained as product of bivariate marginal distributions. The package uses the Fortran 77 subroutine SADMVN by Alan Genz, with minor adaptations made by Adelchi Azzalini in his "mvnormt" package for evaluating the two-dimensional Gaussian integrals involved in the pairwise log-likelihood. Optimization of the latter objective function is performed via quasi-Newton box-constrained optimization algorithm, as implemented in nlminb.

Details

Package: PLordprob
Type: Package
Version: 1.1
Date: 2018-04-20
License: GPL-2

Author(s)

Euloge Clovis Kenne Pagui [aut,cre], Antonio Canale [aut], Alan Genz [ctb], Adelchi Azzalini [ctb]
Maintainer: Euloge Clovis Kenne Pagui <[email protected]>

References

Cox D. R. , Reid N. (2004) A note on pseudolikelihood constructed from marginal densities. Biometrika, 91, 729–737.

Genz A. (1992) Numerical computation of multivariate normal probabilities. Journal of computational and graphical statistics, 2, 141–149.

Kenne Pagui, E. C. and Canale, A. (2014) Pairwise likelihood inference for multivariate categorical responses, Technical Report, Department of Statistics, University of Padua.

Lindsay B. (1988) Composite likelihood methods. Comtemporary Mathematics, 80, 221–240.


Tresholds Mapping

Description

Functions to transform (and antitrasforms) the thresholds into an unconstrained space.

Usage

delta2a(delta)
a2delta(a)

Arguments

delta

a set of increaing thresholds

a

a vector (of size length(delta)-1) of threshold log-differences

Details

delta_k = log(a_k - a_k+1)

Value

A vector of tresholds or of tresholds log-differences

Author(s)

Euloge Clovis Kenne Pagui and Antonio Canale

Examples

thresh <- c(0,2,4)
logdiffs <- a2delta(thresh)

Maximum Pairwise Likelihood Estimation

Description

Estimate the parameters of a multivariate ordered probit model maximizing the pairwise log-likelihood function.

Usage

ordprob.mple(y, x = NULL, K, start.par = list(type = "default"), 
       same.means = FALSE, eval.max = 1000, iter.max = 600, ...)

Arguments

y

matrix with n rows and q columns containing the categorical responses. Each line is a vector of size q representing the responses for a single statistical unit.

x

additional n times p matrix of subject specific covariates.

K

Number of levels of the categorical responses.

start.par

list containing parameters for the maximization algorithm: type is character string. If "default" the initialization is as default. Otherwise each value should be passed, cor is a vector with the initial values for the polycoric correlations, beta is a vector with the initial values for the regression coefficients, xi is a vector with the initial values for the column specific means, and thres is a vector with the initial values for the thresholds.

same.means

logical. If codeTRUE all the q variable are assumed to have the same mean.

eval.max

see help(nlminb)

iter.max

see help(nlminb)

...

additional arguments to be passed.

Details

The code is implemented in R software with call to C functions for the most demanding operations. To evaluate the Gaussian integrals, the package uses the Fortran 77 subroutine SADMVN. The default choice of initialization is the first threshold equal to zero and the remaining thresholds equally spaced with distance one. As for the covariance components, we consider as starting values the sample covariances of the observed categorical variables treated as continuous. Optimization of the pairwise log-likelihood function is performed via quasi-Newton box-constrained optimization algorithm, as implemented in nlminb.

Value

A list with components:

par

The best set of parameters found.

objective

The value of the negative pairwise likelihood corresponding to par

convergence

An integer code. 0 indicates successful convergence.

message

A character string giving any additional information returned by the optimizer, or NULL. For details, see nlminb documentation.

iterations

Number of iterations performed.

evaluations

Number of objective function and gradient function evaluations.

thresh

The set of thresholds partitioning the latent sample space.

xi

Vector of the item means.

cor

Estimated polychoric correlation matrix.

References

Cox D. R. , Reid N. (2004) A note on pseudolikelihood constructed from marginal densities. Biometrika, 91, 729–737.

Genz A. (1992) Numerical computation of multivariate normal probabilities. Journal of computational and graphical statistics, 2, 141–149.

Kenne Pagui, E. C. and Canale, A. (2014) Pairwise likelihood inference for multivariate categorical responses, Technical Report, Department of Statistics, University of Padua.

Lindsay B. (1988) Composite likelihood methods. Comtemporary Mathematics, 80, 221–240.

Examples

library(mnormt)

## Not run: # constrained polychoric correlation matrix
sigma <- matrix(0.6,5,5)
diag(sigma) <- 1
set.seed(123)
y <- rmnorm(50, varcov=0.5*sigma)
y <- floor(y)+3
fit <- ordprob.mple(y, K=4, same.mean=TRUE)
#polychoric correlations
fit$cor

# unconstrained polychoric correlation matrix
set.seed(1)
S <- matrix(rWishart(1, df=5, Sigma=diag(1,5)), 5, 5)
prec <- diag(1/sqrt(diag(S)))
cor <- prec%*%S%*%prec
sigma <- cor
set.seed(123)
y=rmnorm(70, c(1,1,0,0,0), varcov=sigma)
y=floor(y)+4
fit <- ordprob.mple(y, K=7, same.mean=FALSE)
#polychoric correlations
fit$cor

## End(Not run)