I would like to define and use the Choquet integral in Mathematica.

I think the first step should be to define a representation of a non-additive (normalized) measure $\nu:\Omega \rightarrow [0,1]$. Thus, I tried to define some sort of distribution function $F_\nu(x)$ that represents the measure of the sets $(- \infty, x]$. A so-called distorted measure $\nu = h \circ P$, where $h:[0,1] \rightarrow [0,1]$ is an increasing function and $P$ a probability measure would do the job.

For instance, letting $h:[0,1] \rightarrow [0,1]$ be $h(x)=x^2$ and using the continuous uniform distribution for the sake of simplicity:

h[x_] = x^2
F[x_] = CDF[\[ProbabilityDistribution[{"CDF", \[CDF[UniformDistribution[], t]]}, {t, -∞, ∞}]], x]

But here I got stuck since I do not know how I need to tell Matheatica to evaluate something like $\int{\nu(\{\omega \in \Omega| f(\omega) \geq x\}) dx}$.

Any ideas to get this running (maybe there is a much more elegant solution)?

  • $\begingroup$ F[x_] = CDF[\[ProbabilityDistribution[{"CDF", \[CDF[UniformDistribution[], t]]}, {t, -∞, ∞}]], x] is an ill-fromed expression and will not evaluate. What is the real definition of F in your Mathematica notebook? $\endgroup$
    – m_goldberg
    Commented Jul 9, 2017 at 17:19
  • $\begingroup$ @m_goldberg .Thanks for the hint. First I define the function $h$ by h[x_]=x^2. Then I define the prob distribution by setting [ScriptCapitalD] = ProbabilityDistribution[{"CDF", h[CDF[UniformDistribution[], t]]}, {t, -[Infinity], [Infinity]}]. Finally I put F[x_] = CDF[[ScriptCapitalD], x] . $\endgroup$
    – user11937
    Commented Jul 21, 2017 at 7:10

1 Answer 1



ChoquetIntegral[h_, dist_] := NIntegrate[InverseCDF[dist, x] h'[x], {x, 0, 1}]

For your example:

ChoquetIntegral[#^2&, UniformDistribution[]]


  • $\begingroup$ First of all, sorry for the late response and thanks a lot for your support. Could you shortly outline how you came to this proposal? If I calculate the Choquet integral of $f(x)=x$ with respect to the measure $\nu = h \circ P$ (as defined above) then I come to the same result. $\endgroup$
    – user11937
    Commented Jul 21, 2017 at 7:04
  • $\begingroup$ I just used the alternate representation from your Wikipedia reference $\endgroup$
    – Carl Woll
    Commented Jul 21, 2017 at 7:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.