Upload
shasta
View
42
Download
0
Tags:
Embed Size (px)
DESCRIPTION
IGSS Luxembourg. LIAM 2: A NEW OPEN SOURCE DEVELOPMENT TOOL FOR THE DEVELOPMENT OF DISCRETE-TIME DYNAMIC MICROSIMULATION MODELS. GAËTAN DE MENTEN ( Federal Planning Bureau) GIJS DEKKERS ( Federal Planning Bureau, CESO University of Leuven, and CEPS/INSTEAD ) - PowerPoint PPT Presentation
Citation preview
LIAM 2: A NEW OPEN SOURCE DEVELOPMENT TOOL
FOR THE DEVELOPMENT OF DISCRETE-TIME DYNAMIC MICROSIMULATION MODELS
GAËTAN DE MENTEN ( Federa l P l ann ing Bureau)GIJS DEKKERS ( Federa l P l ann ing Bureau , CESO
Un ive r s i t y o f Leuven , and CEPS / INSTEAD )PHIL IPPE L IÉGEOIS (CEPS/ INSTEAD and DULBEA,
ULB)RAPHAËL DESMET (Fede ra l P l ann ing Bureau)RAYMOND WAGENER ( IGSS)CATHAL O’DONOGHUE (TEAGASC and NUIR )
IGSS Luxembourg
2
CONTENTS OF THE PRESENTATION
LIAM2 : Objectives
Situating LIAM2 in the family of modelling packages
Some key elements of LIAM2
PERFORMANCE of LIAM2
Conclusions
L I A M 2
IGSS Luxembourg
G I J S D E K K E R S - S É M I N A I R E S C I E N T I F I Q U E C A I S S E D E S D É P Ô T S , B O R D E A U X L A C . J E U D I 1 5 N O V E M B R E 2 0 1 2
3
Microsimulation models simulate compound objects, such as holdings/firms/plants; groups/households/individuals) on a moment in time, or their events over time.
In a dynamic setting, individuals are born (firms are started), they marry/divorce (firms merge, parts are sold), go through an economic career (idem), they retire and die (go bankrupt; are absorbed by another firm).
All these processes can be modelled and simulated by LIAM2
G I J S D E K K E R S - S É M I N A I R E S C I E N T I F I Q U E C A I S S E D E S D É P Ô T S , B O R D E A U X L A C . J E U D I 1 5 N O V E M B R E 2 0 1 2
L I A M 2
IGSS Luxembourg
MICROSIMULATION
4
INTRODUCTION
LIAM2 is a new tool for the development of (large scale) dynamic microsimulation models (prospective as well as retrospective) with dynamic cross-sectional ageing (but also static models as a by-product)
The result of a collaborative project Development and testing: Federal Planning Bureau Testing and complementary funding: CEPS/INSTEAD and the
General Inspectorate of Social Security (IGSS) in Luxembourg LIAM and conceptual assistance: Cathal O’Donoghue
European funding (MiDaL Project 2009-2011, PROGRESS programme, Grant VS/2009/0569)
L I A M 2
IGSS Luxembourg
G I J S D E K K E R S - S É M I N A I R E S C I E N T I F I Q U E C A I S S E D E S D É P Ô T S , B O R D E A U X L A C . J E U D I 1 5 N O V E M B R E 2 0 1 2
5
LIAM2 : OBJECTIVES
L I A M 2
IGSS Luxembourg
A development framework for the modelling and simulation of large scale discrete-time dynamic microsimulation models with cross-sectional dynamic ageing and alignment
A user-friendly and efficient development framework : Separate “modellers” and “programmers” Implementation of language which is easy to use for the modellers Use state-of-the-art methods for data handling and simulation
Stimulate collaboration between development teams through the use of a common development approach
Be open source, so that developers worldwide may add to the toolbox and make accessible their own modules when relevant for the community
G I J S D E K K E R S - S É M I N A I R E S C I E N T I F I Q U E C A I S S E D E S D É P Ô T S , B O R D E A U X L A C . J E U D I 1 5 N O V E M B R E 2 0 1 2
6
SITUATING LIAM2
Developed based on the experience gained through using LIAM, but more general, faster, higher capacity, YAML, user interaction, modeling on multiple object levels, etc.
GENESIS : a generic SAS model and dataset. JAMSIM, ModGen : libraries for microsimulation in Java, respectively C++.
GENESIS used only by the UK MW&P. Not available ModGen, JAMSIM : Available but not open source LIAM : Available and open source ad hoc on request LIAM2: Available and open source (GNU Public License version 3)
LIAM2; GENESIS = discrete-time dynamic ageing MSM JAMSIM = discrete-time agent-based (?) models, ModGen = (mostly) continuous-time modelling.
L I A M 2
IGSS Luxembourg
G I J S D E K K E R S - S É M I N A I R E S C I E N T I F I Q U E C A I S S E D E S D É P Ô T S , B O R D E A U X L A C . J E U D I 1 5 N O V E M B R E 2 0 1 2
7
A MODEL IN LIAM2 : (A) THE BRICKS ENTITIES : objects (persons, households, firms, cell,
…) with a unique identifier FIELDS : attributes of an entity (e.g. person’s age) LINKS : relation between entities (e.g. person’s
children) ; can lead to subsequent use (e.g. spouse.mother.age)
GLOBALS : a parameter not related to a specific entity, may vary through time (e.g. CPI)
PROCESSES : assignments, which change the value of a variable (e.g. « age+1 ») using an expression, and actions which do not (e.g. remove dead person)
MACROS : piece of code, re-evaluated each time it is referenced (e.g. « WIDOW: civilstate == 5 »)
L I A M 2
IGSS Luxembourg
G I J S D E K K E R S - S É M I N A I R E S C I E N T I F I Q U E C A I S S E D E S D É P Ô T S , B O R D E A U X L A C . J E U D I 1 5 N O V E M B R E 2 0 1 2
8
A MODEL IN LIAM2 : (B) PREPARING THE INPUT DATASET
One CSV file for « globals » and one file for all entities and fields
Create a description file, then run it (e.g. bundled editor, F5) => HDF5
Þ Input created« normal.h5 »NB : This creation must be done only once(then LIAM2 reads the HDF5 input as it has been setearlier)
L I A M 2
IGSS Luxembourg
G I J S D E K K E R S - S É M I N A I R E S C I E N T I F I Q U E C A I S S E D E S D É P Ô T S , B O R D E A U X L A C . J E U D I 1 5 N O V E M B R E 2 0 1 2
9
A MODEL IN LIAM2 : (C) THE GENERAL STRUCTURE
L I A M 2
IGSS Luxembourg
G I J S D E K K E R S - S É M I N A I R E S C I E N T I F I Q U E C A I S S E D E S D É P Ô T S , B O R D E A U X L A C . J E U D I 1 5 N O V E M B R E 2 0 1 2
10
A MODEL IN LIAM2 : (C) DEFINING – ADDITIONAL FEATURES
LIAM2 allows for « many2one » or
« one2many » links mathematical functions, conditional expressions, aggregate functions, temporal functions, link functions,
random functions,
stochastic simulations, life-cycle functions, matching functions, output functions
L I A M 2
IGSS Luxembourg
G I J S D E K K E R S - S É M I N A I R E S C I E N T I F I Q U E C A I S S E D E S D É P Ô T S , B O R D E A U X L A C . J E U D I 1 5 N O V E M B R E 2 0 1 2
11
« logit_regr(expr[, align=‘filename’)]) » No specific routine for monetary alignment is needed. LIAM2 allows for state alignment by sorting on –up to-
3 dimensions at a time. E.g. alignment to gender, age-category and previous labour
market state. LIAM2 allows for « soft » and « hard » take- and
leave- routines Soft take and leave: manipulate the risks Hard take and leave: specify categories within the alignment
procedure
A MODEL IN LIAM2 : A WORD ON ALIGNMENT
L I A M 2
IGSS Luxembourg
G I J S D E K K E R S - S É M I N A I R E S C I E N T I F I Q U E C A I S S E D E S D É P Ô T S , B O R D E A U X L A C . J E U D I 1 5 N O V E M B R E 2 0 1 2
12
A MODEL IN LIAM2 : (D) RUNNING AND (E) DEBUGGING & OUTPUTTING
Run the model (e.g. bundled Notepad++ editor => F6) Debugging e.g. through interactive console
while running (error messages or intermediate results)
or at the end or ex post
Breakpoints (« breakpoint([period]) ») can be introduced in the model, which will automatically launch the interactive console
L I A M 2
IGSS Luxembourg
G I J S D E K K E R S - S É M I N A I R E S C I E N T I F I Q U E C A I S S E D E S D É P Ô T S , B O R D E A U X L A C . J E U D I 1 5 N O V E M B R E 2 0 1 2
13
PERFORMANCE of LIAM2
L I A M 2
IGSS Luxembourg
G I J S D E K K E R S - S É M I N A I R E S C I E N T I F I Q U E C A I S S E D E S D É P Ô T S , B O R D E A U X L A C . J E U D I 1 5 N O V E M B R E 2 0 1 2
Starting dataset of 300K individuals Starting dataset of 2,200K individuals
Total runtime:
31 minutes 18.58 seconds
16792 individuals/s/period on average
top 10 processes:
1- output_process: 9 m. 38.00 s. (31%) 2- dead_procedure: 4 m. 23.51 s. (14%) 3- family_allowances: 2 m. 28.46 s. (8%) 4- welfare: 1 m. 32.77 s. (5%) 5- matching_process: 1 m. 23.81 s. (4%) 6- ssc_tax_process: 55.47 s. (3%) 7- hours_process: 51.18 s. (3%) 8- inwork_process_working_t-1: 48.76 s. (3%) 9- inwork_process_not_working_t-1: 42.92 s. (2%) 10 - clean_empty: 37.41 s. (2%)
Total for top 10 processes: 23 minutes 22.30 seconds (75%)
Total runtime:
3 hours 13 minutes 51.94 seconds
17356 individuals/s/period on average
top 10 processes:
1- output_process: 1 hr 14.65 s. (31%) 2- dead_procedure: 27 m. 50.41 s. (14%) 3- family_allowances: 15 m. 32.62 s. (8%) 4- matching_process: 9 m. 55.66 s. (5%) 5- welfare: 9 minutes 50.01 s. (5%) 6- ssc_tax_process: 5 m. 19.80 s. (3%) 7- hours_process: 5 m. 4.92 s. (3%) 8- inwork_process_working_t-1: 4 m. 42.53 s. (2%) 9- clean_empty: 4 m. 22.95 s. (2%) 10 - inwork_process_not_working_t-1: 4 m. 4.12 s. (2%)
Total for top 10 processes: 2 hours 26 minutes 57.66 seconds (76%)
14
THE STATE OF AFFAIRS: WHERE IS LIAM2 BEING USED?
The model MIDAS_BE is operational in Belgium Model developments are being done in
Luxembourg (CEPS/INSTEAD: MIDAS_Lu), Hungary (CANPI: MIDAS_Hu), Italy (Tesoro: T-DYMM)
Testing is going on in the Netherlands (Uitvoeringsinstituut Werknemersverzekeringen) UK (Department of Work and Pensions) Academics in Japan, South Korea, Suriname, the Netherlands, Spain
L I A M 2
IGSS Luxembourg
G I J S D E K K E R S - S É M I N A I R E S C I E N T I F I Q U E C A I S S E D E S D É P Ô T S , B O R D E A U X L A C . J E U D I 1 5 N O V E M B R E 2 0 1 2
15
LIAM2 : HOW TO PROCEED?
Download the LIAM2 bundle from http://liam2.plan.be/
The bundle includes : The executable (either 32 or 64 bit version) A text editor (Notepad++), pre-configured to work with LIAM2 Documentation A demonstration model (20,200 persons, 14,700 households)
Create the starting dataset, alignment tables and behavioural equations
have fun!
L I A M 2
IGSS Luxembourg
G I J S D E K K E R S - S É M I N A I R E S C I E N T I F I Q U E C A I S S E D E S D É P Ô T S , B O R D E A U X L A C . J E U D I 1 5 N O V E M B R E 2 0 1 2
16
CONCLUSIONS
LIAM2, a new development tool for the development of (large scale) static and discrete-time dynamic microsimulation models
User-friendly and Open source (low entry cost) Efficient and fast, using state-of-the-art methods for
data-handling and simulation methods, transparant for the end-user (modeller), using YAML and macros.
Available for free
L I A M 2
IGSS Luxembourg
G I J S D E K K E R S - S É M I N A I R E S C I E N T I F I Q U E C A I S S E D E S D É P Ô T S , B O R D E A U X L A C . J E U D I 1 5 N O V E M B R E 2 0 1 2
17
THANK YOU – MERCI BIEN
L I A M 2
G I J S D E K K E R S - S É M I N A I R E S C I E N T I F I Q U E C A I S S E D E S D É P Ô T S , B O R D E A U X L A C . J E U D I 1 5 N O V E M B R E 2 0 1 2
IGSS Luxembourg