Compute Probability of a Multivariate Normal Distribution over Polytope

2 visualizaciones (últimos 30 días)
I have a Multivariate Normal Distribution with the mean vector and the covariance matrix given as
Now, I want to compute the probability that a realization of lies in a given polytopic set of the form
where the matrix and the vector describes m half-spaces and therefore a convex set.
The probability which I want to compute is given as
How can I compute/approximate this integration numerically in MATLAB for a given mean μ, a given covariance Σ, and a given set 𝒫. In my problem, the variable x has around 10 to 100 dimensions.
Edit: ->
  4 comentarios
Torsten
Torsten el 29 de Jun. de 2022
Editada: Torsten el 1 de Jul. de 2022
It could be quite time-consuming, but maybe Monte-Carlo integration is an option:

Iniciar sesión para comentar.

Respuestas (1)

Paul
Paul el 30 de Jun. de 2022
Hi Michael,
If A is nonsingular, perhaps a change of coordinates will work
% z = A*x
muz = A*mux;
Sigmaz = A*Sigmax*A.';
ProbAxLTb = mvncdf(-inf+b,b,muz,Sigmaz);
See the doc page for mvncdf for examples, info, options, etc.
  6 comentarios
Michael Fink
Michael Fink el 4 de Jul. de 2022
Hello Paul,
yes, exactly, this is the probability. But in my case, the Polytope (i.e. matrix A and vector b) is given/is deterministic and not random.
For example an unitbox for n=2 (Vertecise: (1,1),(-1,1),(1,-1),(-1,1) ) would be given as
A = [eye(2);-eye(2)]
A = 4×2
1 0 0 1 -1 0 0 -1
b = ones(4,1)
b = 4×1
1 1 1 1
Torsten
Torsten el 4 de Jul. de 2022
It was only an example.
Of course, you can directly use your values for sigma, mu, A and b in Paul's code instead of the randomly created.

Iniciar sesión para comentar.

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Productos


Versión

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by