[R] pmnorm: probabilites don't sum up to 1
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!
University of Basel
lic. phil. Nicolas A. J. Berkowitsch
Fakultät für Psychologie
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