expert {expert}R Documentation

Modeling of Data Using Expert Opinion

Description

Compute an aggregated distribution from expert opinion using either of the Cooke, Mendel-Sheridan or predefined weights models.

Usage

expert(x, method = c("cooke", "ms", "weights"), probs, true.seed,
       alpha = NULL, w = NULL)

## S3 method for class 'expert':
print(x, ...)

## S3 method for class 'expert':
summary(object, ...)

## S3 method for class 'summary.expert':
print(x, ...)

Arguments

x a list giving experts' quantiles for the seed variables and the decision variable. See details below for the exact structure of the object. For the methods: an object of class "expert".
method method to be used to aggregate distributions.
probs vector of probabilities corresponding to the quantiles given by the experts.
true.seed vector of true values for the seed variables.
alpha confidence level in Cooke model. If NULL or missing, the function determines the confidence level that maximizes the weight given to the aggregated distribution for the seed variables.
w vector of weights in predefined weights model. If NULL or missing, equal weights are given to each expert.
object an object of class "expert"
... further arguments to format for the print and print.summary methods; unused for the summary method.

Details

Expert opinion is given by means of quantiles for k seed variables and one decision variable. Results for seed variables are compared to the true values and used to determine the influence of each expert on the aggregated distribution. The three methods supported are different ways to aggregate the information provided by the experts in one final distribution.

The aggregated distribution in the "cooke" method is a convex combination of the quantiles, with weights obtained from the calibration phase. The "weights" method is similar, but weights are provided in argument to the function.

In the "ms" (Mendel-Sheridan) method, the probabilities associated with each quantile are adjusted by a bayesian procedure to reflect results of the calibration phase.

Object x is a list of lists, one for each expert. The latter contains k + 1 vectors of quantiles, one for each seed variable and one for the decision variable (in this order).

If x does not contain the 0th and/or the 100th quantile, they are determined by removing and adding 10% of the smallest interval containing all quantiles given by the experts to the bounds of this interval. Note also that only the Mendel-Sheridan model allows non-finite lower and upper bounds.

Value

Function expert computes the aggregated distribution using the model specified in model. The value returned is an object of class "expert".
An object of class "expert" is a list containing at least the following components:

breaks vector of knots of the aggregated distribution.
probs vector of probabilities of the aggregated distribution.
nexp number of experts in the model.
nseed number of seed variables in the model.
quantiles vector of probabilities corresponding to the quantiles given by the experts.


In addition, for method = "cooke", a component alpha containing the confidence level: either the value given in argument to the function or the optimized value.
There are methods available to represent (print), plot (plot), compute quantiles (quantile), summarize (summary) and compute the mean (mean) of "expert" objects.

References

Cooke, R. (1991), Expert in Uncertainty, Oxford University Press.

Mendel, M. and Sheridan, T. (1989), Filtering information from human experts, IEEE Transactions on Systems, Man and Cybernetics, 36, 6–16.

Pigeon, M. (2008), Utilisation d'avis d'experts en actuariat, M.Sc. thesis, Université Laval.

Examples

## An example with three experts (E1, E2, E3), two seed variables
## (A1, A2) and three quantiles (10th, 50th and 90th).
x <- list(E1 <- list(A1 <- c(0.14, 0.22, 0.28),
                     A2 <- c(130000, 150000, 200000),
                     X <- c(350000, 400000, 525000)),
          E2 <- list(A1 <- c(0.2, 0.3, 0.4),
                     A2 <- c(165000, 205000, 250000),
                     X <- c(550000, 600000, 650000)),
          E3 <- list(A1 <- c(0.2, 0.4, 0.52),
                     A2 <- c(200000, 400000, 500000),
                     X <- c(625000, 700000, 800000)))
probs <- c(0.1, 0.5, 0.9)
true.seed <- c(0.27, 210000)

## Cooke model
expert(x, "cooke", probs, true.seed, alpha = 0.03) # fixed alpha
expert(x, "cooke", probs, true.seed)               # optimized alpha

## Mendel-Sheridan model
fit <- expert(x, "ms", probs, true.seed)
fit                             # print method
summary(fit)                    # more information

## Predefined weights model
expert(x, "weights", probs, true.seed)             # equal weights
expert(x, "weights", probs, true.seed, w = c(0.25, 0.5, 0.25))

[Package expert version 1.0-0 Index]