[R] pmnorm: probabilites don't sum up to 1

Nicolas Berkowitsch nicolas.berkowitsch at unibas.ch
Wed Dec 15 11:40:49 CET 2010

Dear list member,

I struggle with the problem, why the probabilities of choosing one of  
three mutually exclusive alternatives don?t sum up to 1!

Let?s assume we have three alternatives X, Y, and Z. Let?s further  
assume we know their respective utilities:
uX, uY, uZ. I?m interested in calculating the probability of choosing  
X, Y, and Z.

Since I assume that the alternatives are mutually exclusive, the  
probabilities p(X), p(Y), and p(Z) have to sum up to one. The  
utilities of the 3 alternatives can be expressed in 2 utility  
differences and, hence, the multivariate case reduces to a bivariate  
normal distribution. If I assume that X, Y, and Z are independent,  
their corresponding correlations have to be zero and, hence, the  
variance-covariance-matrices are set to be a diagonal-matrix (i.e.,  

To calculate p(X), p(Y), and p(Z) I was using the following R-code:

library(mnormt) # can handle multivariate normal distributions
uX = 2
uY = 1
uZ  = .5
mu = c(uX, uY, uZ)
LX = matrix(c(1,-1,0,1,0,-1), 2, 3, byrow = TRUE)
LY = matrix(c(-1,1,0,0,1,-1), 2, 3, byrow = TRUE)
LZ = matrix(c(-1,0,1,0,-1,1), 2, 3, byrow = TRUE)
muX = LX %*% mu
muY = LY %*% mu
muZ = LZ %*% mu
Sigma = diag(2)
mean = c(0,0)
pX = pmnorm(muX, mean, Sigma)
pY = pmnorm(muY, mean, Sigma)
pZ = pmnorm(muZ, mean, Sigma)
pX + pY + pZ

I don?t see why the three probabilities don?t sum up to 1?

I know two ?solutions? to this problem so far. However, neither of  
them satisfies me:
1.	I can set pZ to 1 ? pX ? pY, but doing so, returns a different  
result for pZ, than calculating pZ directly using pmnorm.
2.	I could calculate the relationship of pX to the sum of pX + pY + pZ  
(? pX/(pX + pY + pZ)   )

Can anyone explain to me why the probabilities don?t sum up to 1? How  
should I rewrite the R-code to overcome this problem?
Thanks a lot for any advice!

Nicolas Berkowitsch
Ph.D. Student
University of Basel


lic. phil. Nicolas A. J. Berkowitsch
Universität Basel
Fakultät für Psychologie
Economic Psychology
Missionsstrasse 62a
CH-4055 Basel

Tel.     +41 61 267 05 75
E-Mail   nicolas.berkowitsch at unibas.ch

This message was sent using IMP, the Internet Messaging Program.

More information about the R-help mailing list