1000
1
1
2
0
1
-1
Time
Dynamic simulation periods are specified in Time's definition. This is usually a list of numbers or labels, typically in some unit of time (days, weeks, months, etc.). Use the ÒDynamic()Ó function in your variables to perform dynamic simulation.
[0,1,2]
Log
VOI 2
jtue
11. Julta 2005 14:25
jtue
11. Julta 2005 15:23
48,24
1,44,32,451,300,17
0,Model Voi_2,2,2,0,1,N:\Huippuyksikko\Tutkimus\Mallit\Functions\VOI_2.ANA
Mode
The transport mode: either personal car or composite traffic.
['Buy car','Lease car']
192,168,1
48,12
2,220,199,476,224
11.4.2005 Jouni Tuomisto
Nimi vaihdettu Travel -> Mode (Mode1)
Uncertain var
A list of uncertain variables used in the model.
['Car price','Car lifetime','Blank']
304,256,1
48,12
1,1,1,1,1,1,0,0,0,0
2,102,90,476,469
2,351,356,688,342,0,MIDM
2,168,178,582,361,0,MIDM
[Self,Self]
Uncertain inputs
A list of uncertain variables used in the model. This list is used to analyse the role of each variable by e.g. value-of-information analysis or importance analysis. The variables with 'V:' are not uncertain but describe variability within the population. Note that the last variable 'Blank' is NOT included in the model and therefore whatever significance is attached to this variable, is just a random effect.
Table(Uncertain_var)(
Car_price,Car_lifetime,Uniform(0,1))
['Pollutant levels in fish feed after lower limits (S+P)','Salmon consumption after feed limits (S+P)','Does omega-3 help CHD patients or everyone? (S)','Dose-response of health benefit (S)','Highest omega-3 dose with health benefit (S)','Current average consumption of salmon (S)','Fraction of farmed from total salmon use (S)','Omega3 content in salmon (S)','Consider pollutant or net health effect? (P)','Dieldrin concentration in farmed salmon (S)','Toxaphene concentration in farmed salmon (S)','PCB concentration in farmed salmon (S)','Farmed salmon use after recommendation (S)','Lower limits for pollutants in fish feed? (P)','Recommend restricted farmed salmon consumption? (P)']
304,224,1
48,24
1,1,1,1,1,1,0,0,0,0
2,541,193,476,275
2,30,112,465,479,0,MIDM
2,148,242,582,361,1,PDFP
52425,39321,65535
Graphtool:0
Distresol:10
Diststeps:0
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:1
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:-20K
Xmaximum:140K
Yminimum:0
Ymaximum:30u
Zminimum:1
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
[0,0,0,0]
Cost
euro/month
var car:= car_price/car_lifetime/12;
array(mode1,[car,leasing])
192,136,1
48,24
2,122,153,476,567
2,351,85,680,471,1,SAMP
Graphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:4
Baroverlap:0
Linestyle:4
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1000
Yminimum:-3
Ymaximum:3
Zminimum:1
Zmaximum:2
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1, 1, 1, 1, 1, 0, 0, 0]
Probindex:[5%, 25%, 50%, 75%, 95%]
Arial, 8
[Run,Mode1]
Variation
[0,0,0,0]
10.5.2004 Jouni Tuomisto
Keksin mielestni paremman tavan laskea tm. Uudessa systeemiss on etuna, ett vaihtelu lasketaan joka iteraatiossa erikseen ja siis vhennetn tsmllisesti pois. Vanha syntaksi:
var a:= cost_variation[Mode1='Composite']-cost_variation[Mode1='Car'];
a:= rank(a,run)/samplesize;
var b:= expected_total_varia;
a:= Linearinterp(b.i,b, a,b.i);
cost-a
(out:prob;deci:indextype;input:prob;input_ind:indextype;classes)
VOI
Value of information (VOI) Version 2.
This function calculates the total VOI (expected value of perfect information, EVPI) for a given decision, and VOI (expected value of partial perfect information, EVPPI) for certain variables. The outcome to be optimised is out; the decision to be made must be indexed by deci; the variables for EVPPI calculation must be listed in input, which is indexed by input_ind. The solution is numerical, and for this purpose, the outcome is classified into a number of bins (the number is defined by classes, which may be a number or an array of numbers). The VOI function assumes that costs are calculated and that the correct optimising function is MIN.
Procedure
First, a new index is generated. It contains 'Total VOI' in the first row and the EVPPI variables in the subsequent rows. Then, net cost under uncertainty (ncuu) and evpi are calculated.
The rest of the procedure is calculated separetely for each value of classes.
Varia is a temporary index that has classes number of bins.
Each iteration is located in one of the bins depending on the value of input. After this classification, the value of out is located into the bin for that iteration. When the mean is taken, the result is the average of outcome multiplied by the probability that the true value of input is in the same bin. The best decision is made given the bin, and then the expected outcomes of each bin are summed up. When ncuu is subtracted from this value, we get EVPPI. Finally, the EVPI and EVPPI are concatenated into a single index.
It may be a good idea to include a row 'Blank' in the input_ind and use it for a random variable that is NOT part of the model. This gives a rough estimate on how much random noise may produce VOI in the system. It might also be good to use different values for Classes, because there may be numerical instability with low iteration numbers, and it is not obvious what low is in each case.
Developed by Jouni Tuomisto and Marko Tainio, National Public Health Institute (KTL), Finland, 2005.
index a:= ['Total VOI'];
index variable:= concat(a,input_ind);
var ncuu:= min(mean(sample(out)),deci);
var evpi:= (if a='Total VOI' then mean(min(sample(out),deci))-ncuu else 0);
for x[]:= classes do (
index varia:= sequence(1/x,1,1/x);
var evppi:= ceil(rank(input,run)*x/samplesize)/x;
evppi:= if evppi=Varia then out else 0;
evppi:= sum(min(mean(evppi),deci),varia)-ncuu;
concat(evpi,evppi,a,input_ind,variable) )
64,40,1
48,24
2,620,19,476,676
out,deci,input,input_ind,classes
?.?Ennen maaliskuuta.2005 Jouni Tuomisto
Keksin juuri uuden konseptin: Value of consensus (VOC) joka lasketaan niist muuttujista, jotka eivt ole epvarmuutta vaan vaihtelua vestss. Se lasketaan siis samalla tavalla kuin VOI mutta tulkinta on eri: mik on arvo sille, jos saataisiin kaikki konsensukseen jonkin muuttujan arvon taakse (eri arvoja painotetaan sen suhteessa, paljonko niiden alkuperinen kannatus on).
11.7.2005 Jouni Tuomisto
Pivitettiin VOI versio 1 versioksi 2. Laskentaa ei muutettu muuta kuin rivijrjestyst siistimll. Lisksi kirjoitettiin ensimminen kunnon (?) Description-osa.
Classes
The number of classes in the value-of-information analysis. This is a technical parametre only, and it should be large enough. However, the samplesize should be at least 100 times larger than this to avoid random noise.
[17,29]
72,224,1
48,12
2,102,90,476,405
52425,39321,65535
Huom! Kaikki alajuoksun solmut eivt toimi, jos tm on indeksi. Kuitenkin uusi VOI-solmu toimii.
Car VOI
euro/month
Value of information analysis for the input variables with the passenger decision between composite and car traffic. The analysis calculates the expected benefit for the passenger when the uncertainty of a variable is resolved.
Voi1(Cost,Mode1,uncertain_inputs,uncertain_var,Classes)
192,224,1
48,24
2,172,98,324,480,0,MIDM
Graphtool:0
Distresol:10
Diststeps:1
Cdfresol:5
Cdfsteps:1
Symbolsize:6
Baroverlap:0
Linestyle:1
Frame:1
Grid:1
Ticks:1
Mesh:1
Scales:1
Rotation:45
Tilt:0
Depth:70
Frameauto:1
Showkey:1
Xminimum:0
Xmaximum:1
Yminimum:0
Ymaximum:1
Zminimum:0
Zmaximum:1
Xintervals:0
Yintervals:0
Includexzero:0
Includeyzero:0
Includezzero:0
Statsselect:[1,1,1,1,1,0,0,0]
Probindex:[0.05,0.25,0.5,0.75,0.95]
1,D,4,3,0,0
10.5.2005 Jouni Tuomisto
Vanha syntaksi silt ajalta, kun cost__variation laskettiin Costista:
var a:= array(Mode1,[sample(Cost__variation),0]);
a:= sum(a[stakeholder='Passenger']*sum(trip_fraction,mode1),length);
Voi(a,Mode1,uncertain_inputs,uncertain_var,Classes)
Car price
euro
lognormal(19k,1.5)
192,72,1
48,24
65535,52427,65534
Car lifetime
years
triangular(8,10,15)
304,72,1
48,24
65535,52427,65534
Leasing
euro/month
Uniform( 100, 300 )
304,136,1
48,24
65535,52427,65534