Post date: Feb 23, 2014 8:28:45 PM
I don't have a bathtub, so I used the kitchen sink in my apartment. Ugh. As I mentioned on Thursday, we have a good general (exact) solution to the bridge problem assuming independent component rates. Here's an example calculation:
[If you can't see the picture, it's slide 23 of the attached file.] There is no puffiness (artifactual inflation of uncertainty) in this result. Those component rates are c-boxes, computed from k-out-of-n sample data as indicated on the graphs. I've drawn the left edges in red to highlight them. The R script that computed them and the resulting bridge reliability is below in blue. You probably won't be able to run it until I give you some R routines for wrangling p-boxes.
My calculation may actually be totally wrong; I cannot seem to reproduce the simple interval calculation given in the "Numerical examples" section on the page that Mohamed left with me. But I do not see how anyone could have possibly gotten the answer reported on this page. What is the "conjunctive rule of combination"? Is that some Dubois thing?
What we'd like next I guess is to evaluate the bridge's reliability without making any assumptions about the dependencies between the component rates. We call this the Fréchet case. I know that the Frank-Nelsen-Sklar theorem for functions that are monotone in each variable generalizes to the multivariate case without modification, so that theorem lets us get the answer directly, so long as we are willing to do the necessary five-dimensional calculation. It shouldn't be too hard. I know I've implemented a three- or four-dimensional version of the algorithm once before, but I've not been able to locate that code. I can't even find the reference that pointed out that the FNS theorem generalizes from two to any number of dimensions. I don't think it's Williamson and Downs. My recollection is that it was mentioned in one of the papers by those economist guys in the Low Countries. Maybe...
Goovaerts, KU Leuven,
Dhaene, KU Leuven
Denuit, Universite Libre de Bruxelles
Cossairts, ?
I think they were referring to the operation of addition, because they were talking about insurance portfolio values, but my subtle Google search with
monotone|monotonic Frank|Williamson|Frechet Louvain|Leuven economic|actuarial multivariate
didn't find any obvious candidates. After I accumulated a list of several references as possible places to look for it, I realized that it might be a lot smarter to just telephone one or more of them and ask them for the relevant reference, and maybe also for some software if they've implemented it themselves. We know someone who speaks their language, don't we?
Sébastien, when I was rummaging through some slide presentations looking for the reference to the multivariate generalization of the FNS theorem, I notice that one of the files kind of addressed the concern you voiced on our first meeting several days ago about how to handle puffiness in calculations. So I brushed off that file and added the bridge calculation as a nice teaching example for monotonicity. It's the file that's attached to this email. I think it gives a pretty complete summary of where we are on the problem: We have a long list of partial solutions, and not much hope for a final, general, practical solution.
See the possible (but doubtful) references in gray below, and the R code to make bridge calculations in blue below.
Cheers,
Scott
Michel M. DENUIT, Louis EECKHOUDT and Mario MENEGATTI. Correlated risks, bivariate utility and optimal choices. Economic Theory, 46(1), 39-54, 2011.
Michel DENUIT, Louis EECKHOUDT and Béatrice REY. Some consequences of correlation aversion in decision science. Annals of Operations Research, 176(1), 259-269, 2010.
Dhaene, J., & Goovaerts, M.J. (1996). Dependency of risks and stop-loss order. ASTIN Bulletin 26, 201-212.
Dhaene, J., & Goovaerts, M.J. (1997). On the dependency of risks in the individual life model. Insurance: Mathematics fj Economics 19, 243-253.
Dhaene, J, Vanneste, M., & Wolthuis, H. (1997). A note on dependencies in multiple life statuses. Research Report, Departement Toegepaste Economische Wetenschappen, K.U.Leuven.
Dhaene, J., Wang, S., Young, V.R., & Goovaerts, M.J. (1997). Comonotonicity and maximal stop-loss premiums. Research Report, Departement Toegepaste Economische Wetenschappen, K.U.Leuven.
#
# This function evaluates the reliability of a bridge with structure
#
# +---a----+----c---+
# | | |
# ------| e |-------
# | | |
# +---b----+----d---+
#
# where the reliabilities of the five (unrepairable) components are
# given as independent uncertain numbers. This calculation uses
# a combination of monotonicity and Monte Carlo methods to
# take account of independence assumptions and sidestep
# the problem of the repeated variables.
#
# The Boolean function is (a&c)|(b&d)|(a&e&d)|(b&e&c) which
# implies an arithmetic function 1+(ac-1)(1-bd)(1-ade)(1-bec),
# after simplification.
#
parameter.bernoulli = function(x) {n <- length(x); k <- sum(x); return(env(beta(k, n-k+1), beta(k+1, n-k)))}
kn = function(k,n) return(env(beta(k, n-k+1), beta(k+1, n-k)))
bridgeI = function(a,b,c,d,e,many=100000) {
bb = function(a,b,c,d,e) pbox(sort(1+(a*c-1)*(1-b*d)*(1-a*d*e)*(1-b*e*c)))
L = function(x) x@u[round(runif(many)*(Pbox$steps-1))+1]
R = function(x) x@d[round(runif(many)*(Pbox$steps-1))+1]
return(env(bb(L(a),L(b),L(c),L(d),L(e)), bb(R(a),R(b),R(c),R(d),R(e))))
}
bridgeI.interval = function(a,b,c,d,e) {
bb = function(a,b,c,d,e) 1+(a*c-1)*(1-b*d)*(1-a*d*e)*(1-b*e*c)
L = function(x) left(x)
R = function(x) right(x)
return(interval(bb(L(a),L(b),L(c),L(d),L(e)), bb(R(a),R(b),R(c),R(d),R(e))))
}
a = b = kn(23,24)
c = d = kn(14,17)
e = kn(12,12)
z = bridgeI(a,b,c,d,e)
par(mfrow=c(2,3))
plot(a); title('a')
plot(b); title('b')
plot(c); title('c')
plot(d); title('d')
plot(e); title('e')
plot(z); title('bridge (assuming independence)')
z # P-box: ~ ( range=[0,1], mean=[0.9833402,0.9976864], var=[1.851411e-05,0.005012456])
# cannot reproduce the interval calculation from the page that Mohamed gave me
a = interval(0.7,0.8)
b = interval(0.75,0.9)
c = interval(0.9,0.95)
d = 0.95
e = 0.82
bridgeI.interval(a,b,c,d,e) # Interval: [0.9784034, 0.9960806]
bb = function(a,b,c,d,e) 1+(a*c-1)*(1-b*d)*(1-a*d*e)*(1-b*e*c)
bb(.7,.75,.9,.95,.82) # 0.9784034
bb(.8,.9,.95,.95,.82) # 0.9960806