# Defining the Choquet Integral in Mathematica

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)?

• 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? Commented Jul 9, 2017 at 17:19
• @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] . Commented Jul 21, 2017 at 7:10

Possibly:

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


ChoquetIntegral[#^2&, UniformDistribution[]]

• 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. Commented Jul 21, 2017 at 7:04