## bivariate
U <- c(1,1)
L <- -U
Q <- matrix(c(10,7.5,7.5,10),2)
mvpd::pmvlogis(L, U, nterms=1000, Q=Q)
## trivariate
U <- c(1,1,1)
L <- -U
Q <- matrix(c(10,7.5,7.5,7.5,10,7.5,7.5,7.5,10),3)
mvpd::pmvlogis(L, U, nterms=1000, Q=Q)
## How `delta` works: same as centering
U <- c(1,1,1)
L <- -U
Q <- matrix(c(10,7.5,7.5,7.5,10,7.5,7.5,7.5,10),3)
D <- c(0.75, 0.65, -0.35)
mvpd::pmvlogis(L-D, U-D, nterms=100, Q=Q)
mvpd::pmvlogis(L , U , nterms=100, Q=Q, delta=D)
## recover univariate from trivariate
crit_val <- -1.3
Q <- matrix(c(10,7.5,7.5,7.5,20,7.5,7.5,7.5,30),3) / 10
Q
pmvlogis(c(-Inf,-Inf,-Inf),
c( Inf, Inf, crit_val),
Q=Q)
plogis(crit_val, scale=sqrt(Q[3,3]))
pmvlogis(c(-Inf, -Inf,-Inf),
c( Inf, crit_val, Inf ),
Q=Q)
plogis(crit_val, scale=sqrt(Q[2,2]))
pmvlogis(c( -Inf, -Inf,-Inf),
c( crit_val, Inf, Inf ),
Q=Q)
plogis(crit_val, scale=sqrt(Q[1,1]))
Run the code above in your browser using DataLab