mini.dist.capa.ident {kappalab} | R Documentation |
Creates an object of class Mobius.capacity
using a
minimum distance principle. More precisely, this function determines,
if it exists, the closest capacity to a user-given game compatible
with a set of linear constraints. The distance can be chosen among
three quadratic distances (see help and references hereafter). The
problem is solved using strictly convex quadratic programming.
mini.dist.capa.ident(a, k, distance = "Choquet.coefficients", A.Choquet.preorder = NULL, A.Shapley.preorder = NULL, A.Shapley.interval = NULL, A.interaction.preorder = NULL, A.interaction.interval = NULL, A.inter.additive.partition = NULL, epsilon = 1e-6)
a |
Object of class Mobius.game containing the
Möbius transform of the game to be approached. |
k |
Object of class numeric imposing that the solution is at
most a k-additive capacity (the Möbius transform of subsets whose cardinal is
superior to k vanishes). |
distance |
Object of class character indicating which
quadratic distance is to be used in the objective function. The choice
distance = "Choquet.coefficients" will result in the
minimization of the average distance between Choquet integral
coefficients, the choice distance = "binary.alternatives"
will result in the minimization of the average distance between binary
alternatives, and the choice distance = "global.scores" will
result in the minimization of the average distance between global scores. |
A.Choquet.preorder |
Object of class matrix containing the
constraints relative to the preorder of the alternatives. Each line
of the matrix corresponds to one constraint of the type "alternative
a is preferred to alternative b with preference threshold
delta.C ". A line is structured as follows: the first n
elements encode alternative a , the next n elements
encode alternative b , and the last element contains the
preference threshold delta.C . |
A.Shapley.preorder |
Object of class matrix containing the
constraints relative to the preorder of the criteria. Each line
of this 3-column matrix corresponds to one constraint of the type
"the Shapley importance index of criterion i is greater than
the Shapley importance index of criterion j with preference threshold
delta.S ". A line is structured as follows: the first element
encodes i , the second j , and the third element contains
the preference threshold delta.S . |
A.Shapley.interval |
Object of class matrix containing the
constraints relative to the quantitative importance of the
criteria. Each line of this 3-column matrix corresponds to one
constraint of the type "the Shapley importance index of criterion
i lies in the interval [a,b] ". The interval
[a,b] has to be included in [0,1] . A line of the
matrix is structured as follows: the first element encodes i ,
the second a , and the third b . |
A.interaction.preorder |
Object of class matrix
containing the constraints relative to the preorder of the pairs of
criteria in terms of the Shapley interaction index. Each line of this 5-column matrix
corresponds to one constraint of the type "the Shapley interaction
index of the pair ij of criteria is greater than the Shapley interaction
index of the pair kl of criteria with preference threshold delta.I ".
A line is structured as follows: the first two elements encode
ij , the second two kl , and the fifth element contains
the preference threshold delta.I . |
A.interaction.interval |
Object of class matrix
containing the constraints relative to the type and the magnitude of
the Shapley interaction index for pairs of criteria. Each line of
this 4-column matrix corresponds to one constraint of the type
"the Shapley interaction index of the pair ij of criteria
lies in the interval [a,b] ". The interval [a,b] has to
be included in [-1,1] . A line is structured as follows: the first two elements encode
ij , the third element encodes a , and the fourth element
encodes b . |
A.inter.additive.partition |
Object of class numeric
encoding a partition of the set of criteria imposing that there be
no interactions among criteria belonging to different classes
of the partition. The partition is to be given under the form of a
vector of integers from {1,...,n} of length n such
that two criteria belonging to the same class are "marked" by the
same integer. For instance, the partition {{1,3},{2,4},{5}} can
be encoded as c(1,2,1,2,3) . See Fujimoto and Murofushi (2000)
for more details on the concept of mu-inter-additive partition. |
epsilon |
Object of class numeric containing the
thresold value for the monotonicity constraints, i.e. the
difference between the "weights" of two subsets whose cardinals
differ exactly by 1 must be greater than epsilon . |
The quadratic program is solved using the solve.QP
function of
the quadprog package.
The function returns a list structured as follows:
solution |
Object of class Mobius.capacity containing the
Möbius transform of the k -additive solution, if any. |
value |
Value of the objective function. |
iterations |
Information returned by solve.QP . |
iact |
Information returned by solve.QP . |
K. Fujimoto and T. Murofushi (2000) Hierarchical decomposition of the Choquet integral, in: Fuzzy Measures and Integrals: Theory and Applications, M. Grabisch, T. Murofushi, and M. Sugeno Eds, Physica Verlag, pages 95-103.
I. Kojadinovic (2006), Quadratic objective functions for capacity and bi-capacity identification and approximation, A Quarterly Journal of Operations Research (40R), in press.
Mobius.capacity-class
,
lin.prog.capa.ident
,
mini.var.capa.ident
,
least.squares.capa.ident
,
heuristic.ls.capa.ident
,
ls.sorting.capa.ident
,
entropy.capa.ident
.
## some alternatives a <- c(18,11,18,11,11) b <- c(18,18,11,11,11) c <- c(11,11,18,18,11) d <- c(18,11,11,11,18) e <- c(11,11,18,11,18) ## preference threshold relative ## to the preorder of the alternatives delta.C <- 1 ## corresponding Choquet preorder constraint matrix Acp <- rbind(c(d,a,delta.C), c(a,e,delta.C), c(e,b,delta.C), c(b,c,delta.C) ) ## a Shapley preorder constraint matrix ## Sh(1) - Sh(2) >= -delta.S ## Sh(2) - Sh(1) >= -delta.S ## Sh(3) - Sh(4) >= -delta.S ## Sh(4) - Sh(3) >= -delta.S ## i.e. criteria 1,2 and criteria 3,4 ## should have the same global importances delta.S <- 0.01 Asp <- rbind(c(1,2,-delta.S), c(2,1,-delta.S), c(3,4,-delta.S), c(4,3,-delta.S) ) ## a Shapley interval constraint matrix ## 0.3 <= Sh(1) <= 0.9 Asi <- rbind(c(1,0.3,0.9)) ## an interaction preorder constraint matrix ## such that I(12) = I(34) delta.I <- 0.01 Aip <- rbind(c(1,2,3,4,-delta.I), c(3,4,1,2,-delta.I)) ## an interaction interval constraint matrix ## i.e. -0.20 <= I(12) <= -0.15 Aii <- rbind(c(1,2,-0.2,-0.15)) ## the capacity that we want to approach x <- runif(31) for (i in 2:31) x[i] <- x[i] + x[i-1] mu <- normalize(capacity(c(0,x))) ## and its Mobius transform a.mu <- Mobius(mu) ## some basic checks ## Not run: mini.dist.capa.ident(a.mu,5) mini.dist.capa.ident(a.mu,5,"binary.alternatives") mini.dist.capa.ident(a.mu,5,"global.scores") mini.dist.capa.ident(a.mu,3) mini.dist.capa.ident(a.mu,3,"binary.alternatives") mini.dist.capa.ident(a.mu,3,"global.scores") ## End(Not run) ## a minimum distance 2-additive solution min.dist <- mini.dist.capa.ident(a.mu,2,"binary.alternatives",A.Choquet.preorder = Acp) m <- min.dist$solution m ## a minimum distance 3-additive more constrained solution min.dist2 <- mini.dist.capa.ident(a.mu,3,"global.scores", A.Choquet.preorder = Acp, A.Shapley.preorder = Asp) m <- min.dist2$solution m rbind(c(a,mean(a),Choquet.integral(m,a)), c(b,mean(b),Choquet.integral(m,b)), c(c,mean(c),Choquet.integral(m,c)), c(d,mean(d),Choquet.integral(m,d)), c(e,mean(e),Choquet.integral(m,e))) Shapley.value(m) ## Not run: ## a minimum distance 5-additive more constrained solution min.dist3 <- mini.dist.capa.ident(a.mu,5, A.Choquet.preorder = Acp, A.Shapley.preorder = Asp, A.Shapley.interval = Asi, A.interaction.preorder = Aip, A.interaction.interval = Aii) m <- min.dist3$solution m rbind(c(a,mean(a),Choquet.integral(m,a)), c(b,mean(b),Choquet.integral(m,b)), c(c,mean(c),Choquet.integral(m,c)), c(d,mean(d),Choquet.integral(m,d)), c(e,mean(e),Choquet.integral(m,e))) summary(m) ## End(Not run)