smaa-package: SMAA: Stochastic Multi-criteria Acceptability Analysis

Description Details Author(s) References Examples

Description

This R package implements the Stochastic Multi-criteria Acceptability Analysis (SMAA) family of methods for stochastic Multiple Criteria Decision Analysis (MCDA). In SMAA methods, uncertainty in criteria measurements and incomplete information on the weights are accounted for by Monte Carlo integration of probability distributions.

Details

The smaa function implements the core Monte Carlo integration method. It calculates the SMAA decision metrics (rank acceptabilities and central weights) in one go.

Alternatively, the smaa.values, smaa.ranks, smaa.ra, and smaa.cw perform the individual steps. Note that smaa is slightly more efficient because it does not store the alternatives' values or rankings.

The hitandrun-package is complementary to this package in that it provides methods for sampling weights when incomplete preference information is available in the form of linear constraints on the weight vector.

Author(s)

Gert van Valkenhoef

References

T. Tervonen and J.R. Figueira (2008), A survey on stochastic multicriteria acceptability analysis methods, Journal of Multi-Criteria Decision Analysis 15(1-2):1-14. [doi:10.1002/mcda.407]

T. Tervonen, G. van Valkenhoef, N. Basturk, and D. Postmus (2012), Hit-And-Run enables efficient weight generation for simulation-based multiple criteria decision analysis, European Journal of Operational Research 224(3):552-559. [doi:10.1016/j.ejor.2012.08.026]

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
N <- 1E4; m <- 2; n <- 3
meas <- dget(system.file("extdata/thrombo-meas.txt.gz", package="smaa"))
pref <- dget(system.file("extdata/thrombo-weights-nopref.txt.gz", package="smaa"))

# Calculate SMAA metrics (one-stage)
result <- smaa(meas, pref)
print(result)

# Calculate SMAA metrics (multi-stage)
values <- smaa.values(meas, pref)
summary(values)
ranks <- smaa.ranks(values)
smaa.ra(ranks)
smaa.entropy.ranking(ranks)
smaa.cw(ranks, pref)

# Calculate confidence factors
smaa.cf(meas, result$cw)

Example output

Rank acceptabilities (N = 10000 iterations): 
             [,1]   [,2]
Heparin    0.3504 0.6496
Enoxaparin 0.6496 0.3504

Central weights (N = 10000 iterations): 
            Prox DVT  Dist DVT     Bleed
Heparin    0.1865097 0.2772205 0.5362698
Enoxaparin 0.4073100 0.3641477 0.2285423
    Heparin          Enoxaparin    
 Min.   :-0.1642   Min.   :0.1176  
 1st Qu.: 0.4879   1st Qu.:0.5974  
 Median : 0.5885   Median :0.6690  
 Mean   : 0.5895   Mean   :0.6584  
 3rd Qu.: 0.6950   3rd Qu.:0.7309  
 Max.   : 0.9734   Max.   :0.9371  
Rank acceptabilities (N = 10000 iterations): 
             [,1]   [,2]
Heparin    0.3504 0.6496
Enoxaparin 0.6496 0.3504
[1] 0.9344248
Central weights (N = 10000 iterations): 
            Prox DVT  Dist DVT     Bleed
Heparin    0.1865097 0.2772205 0.5362698
Enoxaparin 0.4073100 0.3641477 0.2285423
Central weights (N = 10000 iterations) and
  confidence factors (N = 10000 iterations): 
                   Prox DVT  Dist DVT     Bleed
Heparin    0.6682 0.1865097 0.2772205 0.5362698
Enoxaparin 0.8956 0.4073100 0.3641477 0.2285423

smaa documentation built on May 1, 2019, 10:21 p.m.