17
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) PHILIPPE LIÉGEOIS (CEPS/INSTEAD and DULBEA, ULB) RAPHAËL DESMET (Federal Planning Bureau) RAYMOND WAGENER (IGSS) CATHAL O’DONOGHUE (TEAGASC and NUIR) IGSS Luxembourg

GAËTAN DE MENTEN ( Federal Planning Bureau)

  • Upload
    shasta

  • View
    42

  • Download
    0

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

Page 1: GAËTAN DE MENTEN ( Federal Planning Bureau)

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

Page 2: GAËTAN DE MENTEN ( Federal Planning Bureau)

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

Page 3: GAËTAN DE MENTEN ( Federal Planning Bureau)

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

Page 4: GAËTAN DE MENTEN ( Federal Planning Bureau)

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

Page 5: GAËTAN DE MENTEN ( Federal Planning Bureau)

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

Page 6: GAËTAN DE MENTEN ( Federal Planning Bureau)

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

Page 7: GAËTAN DE MENTEN ( Federal Planning Bureau)

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

Page 8: GAËTAN DE MENTEN ( Federal Planning Bureau)

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

Page 9: GAËTAN DE MENTEN ( Federal Planning Bureau)

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

Page 10: GAËTAN DE MENTEN ( Federal Planning Bureau)

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

Page 11: GAËTAN DE MENTEN ( Federal Planning Bureau)

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

Page 12: GAËTAN DE MENTEN ( Federal Planning Bureau)

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

Page 13: GAËTAN DE MENTEN ( Federal Planning Bureau)

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%)

Page 14: GAËTAN DE MENTEN ( Federal Planning Bureau)

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

Page 15: GAËTAN DE MENTEN ( Federal Planning Bureau)

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

Page 16: GAËTAN DE MENTEN ( Federal Planning Bureau)

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

Page 17: GAËTAN DE MENTEN ( Federal Planning Bureau)

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