Defining dynamic social science microsimulation

What is microsimulation?

A useful way of defining simulation in the social sciences is to think of it as the purposeful use of a model. Therefore, going back one step, social science simulation is both a modeling exercise and the exercise to ‘run the model’, or to ‘play’ or ‘experiment’ with it. The range of purposes is as broad as are the reasons for doing research: solving problems, finding explanations, building theory, predicting the future, and raising consciousness. From a more practical view, we can also add training to this list. Pilots are trained on flight simulators. Why should policy makers not be trained to improve their awareness by computer simulations of policy effects? And why should voters not have tools to study the effects of proposed policy measures? Social science simulation enables such visions.

Dynamic simulation includes time. How did we get where we are now, what changes can we expect for the future, what drives those changes, and how can we influence these processes? Most informed statements about the future are based on dynamic simulations of some kind. Some require complex computer simulations; others are the result of thought experiments. The exploration of future scenarios and how the future is shaped by our individual action is a core achievement of our human brain closely linked to consciousness itself. Being able to predict the future state of a system improves the planning of our actions, both those influencing the outcome of the system, and those affected by it. For example, weather forecasts are produced using complex computer simulations—and we have both fairly adequate forecasting models for the weather tomorrow (which we cannot influence) and much more controversial simulation models for long-term climate change (which we can influence). Dynamic simulation raises the public awareness of potential future problems, be it the storm tomorrow or the effect of CO2 emissions over time. The same potential to raise awareness and improve the planning of our actions holds true in the social sciences for issues such as population aging, concentration of wealth or sustainability of social security systems.

Dynamic microsimulation is a specific type of dynamic simulation. Unfortunately microsimulation itself can be a confusing word because, despite the ‘micro’ prefix, we are nevertheless still simulating a ‘macro’ system. The ‘micro’ prefix essentially corresponds to how we simulate that system. Many systems are made up of smaller level units. Liquids consist of particles which change behaviour when heated, traffic systems are made up of cars driven on a network of roads, and societies and economies consist of people, households, firms, etc. All of these systems have one feature in common--macro level changes result from the actions and interactions of the micro units. The idea of microsimulation is that the best way to simulate such a system is often to model and simulate the actions and interactions of its smaller scale units and to obtain macro outcomes by aggregation.

Dynamic social science microsimulation can be perceived as experimenting with a virtual society of thousands - or millions – of individuals who are created and whose life courses unfold in a computer. Depending on the purpose of the model, individuals (or ‘actors’) make education and career choices, form unions, give birth, work, pay taxes, receive benefits, get divorced, migrate, retire, receive pensions, and eventually die. Creating such a ‘scientific computer game’ involves various steps, the first being the modeling of individual behaviour. The dominant micro model types in microsimulation are statistical and econometric models. While the literature is rich in statistical microdata analysis, most research stops after the estimation of models of individual processes. With a microsimulation model, we go one step further: microsimulation adds synthesis to analysis. Accordingly, the second step of microsimulation, after the modeling of individual behaviour, is the programming of the various behavioural models to enable us to run simulations of the whole system. Microsimulation can help us to understand the effect of different processes and changes in processes on the total outcome. The larger the number of interdependent processes that have to be considered, the more difficult it gets to identify and understand the contribution of individual factors on the macro outcome. However, microsimulation provides the tool to study such systems.

Modeling at the micro level facilitates policy simulations. Tax benefit and social security regulations are defined on the individual or family level which makes microsimulation a natural modeling approach, allowing their simulation at any level of detail. As such rules are usually complex and depend in a nonlinear way on various characteristics like family composition or income (e.g. progressive taxes), microsimulation is often the only way for studying the distributional impact and long-term sustainability of such systems. In policy analysis, parts of the power of the microsimulation approach already unfold in so-called static microsimulation models. These are models designed to study the cross-sectional effect of policy change, e.g. by identifying immediate winners and losers of policy reform. Dynamic microsimulation adds a whole new dimension in policy analysis, however, since it allows individuals to be followed over their entire life course.

In the social sciences, dynamic microsimulation goes back to Guy Orcutt's (1957) idea about mimicking natural experiments in economics (Orcutt 1957). His proposed modeling approach corresponds to what can be labelled as the empirical or data-driven stream of dynamic microsimulation models, i.e. models designed and used operatively for forecasting and policy recommendations (Klevmarken 1997). Associated with this type of microsimulation are microeconometric and statistical models as well as accounting routines. In contrast to this empirical stream is the theoretical stream or tradition of agent based simulation (ABS). While constituting microsimulation models under our broad definition, ABS is frequently considered as a separate branch of simulation different from microsimulation. This view is mostly based on the different purpose of ABS modeling (mainly to explore theories) and the different approaches used by ABS in the modeling of micro behaviour (rules based on theory and artificial intelligence). Unless otherwise stated, however, this discussion will only correspond to the data-driven stream of dynamic microsimulation models. (It should be noted, however, that the Modgen language has also successfully been used for ABS, as documented in Wolfson (1999).)

The main components of a typical data-driven microsimulation model can be summarized as follows. In the middle is a population microdatabase storing the characteristics of all members of the population. (From a more object-oriented perspective, the population database can also be viewed and implemented as decentralized individual 'brains' with actors possessing methods to report their states to a virtual statistician responsible for data collection and presentation.) This database is dynamically updated in a simulation run according to micro models of behaviour and policy rules (such as contribution and benefit rules in a pension model). All of these models can be parameterized by the user. Simulation results consist of aggregated tables produced by output routines. Additionally, output can consist of microdata files which can be analyzed by statistical software. Some models (such as all of those generated with Modgen) also allow the graphing of individual biographies.

Orcutt’s vision and today’s reality

Dynamic microsimulation was first introduced into the social sciences in 1957 by Guy Orcutt’s landmark paper ‘A new type of socio-economic system’, a proposal for a new model type mainly based on the frustration about existing macroeconomic projection models. In this paper, Orcutt addresses various shortcomings of macroeconomic models which can be overcome by using microsimulation. The first is the “limited predictive usefulness” of macro models especially related to the effects of governmental action, since macro models are too abstract to allow for fine-grained policy simulations. The second is the focus on aggregates and the ignorance of distributional aspects in macroeconomic studies and projections. Third, he stresses that macro models fail to capitalize on the available knowledge about elemental decision-making units. In contrast, microsimulation is not bound by restrictive assumptions of “absurdly simple relationships about elemental decision-making units” in order to be able to aggregate. Modeling on the level on which decisions are taken makes models not only more understandable, but also, in the presence of nonlinear relationships, “stable relationships at the micro level are quite consistent with the absence of stable relationships at the aggregate level”.

While these observations still hold true after half a century, some of his other observations are a good illustration of how computers have altered research. In fact, a considerable part of his paper is dedicated to the justification of using expensive computer power for simulations – doing something that was widely thought of as the domain of mathematicians and analytic solutions derivable on paper. As one of its advantages, Orcutt notes that microsimulation “… is intelligible to people of only modest mathematical sophistication”.

While this proposed modeling approach was in fact visionary in 1957, due to the lack of sufficient computer power and data availability at that time, Orcutt soon afterwards was in charge of the development of the first large-scale American microsimulation model Dynasim. He later contributed to its offspring CORSIM, which also served as a template for the Canadian CANSIM and Swedish SVERIGE models. In the meantime, dozens of large-scale general purpose models and countless specialized smaller models can now be found around the world, (for a list, see Spielauer 2007). Nevertheless, microsimulation still faces the continued resistance of the mainstream economic profession “imbued with physics envy and ascribing the highest status to mathematical elegance rather than realism and usefulness” (Wolfson 2007). This front is increasingly broken up by the demands of policy makers concerned with distributional questions and facing problems of sustainability of policies in the context of demographic change. This holds especially true for pension models which constitute a showcase for the new demands of policy makers faced with population aging and questions of sustainability and intergenerational fairness, as well as for the power of microsimulation in addressing such issues. As individual pension benefits depend on individual contribution histories as well as family characteristics (e.g. survivor pensions), pension models require very detailed demographic and economic simulations. On one hand, this can make the models very complex, but on the other, it enables them to serve very distinct and separate purposes. Many models are designed as general purpose models capable of studying various behaviours and policies, such as educational dynamics, the distributional impact of tax benefit systems, and health care needs and arrangements. It is the increasing demand of policy makers for more detailed projections necessary for planning purposes, together with advances in data collection and processing, which have triggered this development.

 
Date modified:

Browsing and changing the underlying chart data

Browing the data longitudinally

To browse the actual data underlying a specific state in the chart, use the Show Longitudinal Data  command in the state pop-up menu.  This command will open a window showing exact times and values used to plot the data. It typically contains values of two states, the tracking state and the actual state selected. The highlighted cell in the Time column of the grid will be the closest time of lesser or equal value to the X axis position of the mouse when the window was opened.

Sample display of underlying longitudinal data values

Copy any selected block of this data to the clipboard using Edit/Copy or Ctrl+C. To select an entire column, click its header tile. To select all data within the window, click and drag across all header tiles.

The Show Longitudinal Data window contains a subset of records from the History table of the database file.  Advanced users may wish to use the object identifier shown in the caption (optionally with the state identifier, also  shown there) to open the database file directly with MS Access and perform further analysis in that environment.

Browsing the data cross sectionally

To browse the chart data for all states at a specific point in time, use the Show Cross Sectional Data command in the state pop-up menu.  This command will open a window showing state values for all selected states at the point in time on the X axis where the mouse was clicked.

Sample displaying cross sectional data values

Changing the biography filter

Once the biography is open, use menu item Filter/Criteria to change both the biography filter and its description. If the filter is changed and the resulting query is not empty, the biography filter tracking band is reset to position 1.  Use menu item Filter/Description… to change only the filter description without affecting the position of the filter tracking band.

You may choose either 1 or 2 conditions for the criteria, both containing a state, operator and value combination. In the case of one condition, select the ‘No second criteria’ option within the Filter Criteria frame.  In the case of two conditions, choose either the ‘And with first criteria’ option or the ‘Or with first criteria’ option. The And criteria will be met if both conditions are satisfied at any time in the actor’s lifetime. Note very well that the conditions do not have to be met simultaneously (over the same period of time). The Or criteria will be met if either condition is satisfied at any time in the actor’s lifetime.

Dialog box to change a biography filter

The above filter demonstrates the use of an And condition. In this case, the person actor must be dominant (a state which is either True or False at birth and never changes) and earnings must have exceeded $100,000 at any time in that person’s lifetime.

Date modified:

State selection and navigation

State selection

Once a biography is created, you may modify and enhance it by adding display bands for different states.  You may add display bands of the states for the filtered-in actors (e.g.their earnings).  You may also add display bands for linked actors (e.g.their spouses) as well as for the states of these linked actors (e.g. the educational status of the spouses).

The following set of buttons is used for state selection and navigation:

Pictures of the navigation buttons or icons

In order: Add, First, Previous, Next and Last

Add more states by using the Add button shown above and displayed to the right of the chart area.  States added using the button are always added to the bottom of the chart area.  However, for more functionality, use the pop-up menus over the chart area. These menus allow both insertion and deletion of states anywhere on the screen. Insertion will insert the state after the clicked position. Deletion will delete the state at the clicked position without notification unless an actor band is deleted with dependent states below it. In this case, BioBrowser will issue a warning indicating how many states will be deleted and provide an option to ignore the delete. The filter tracking band cannot be deleted.

You may add any number of states, any number of times, subject to the limitations of your monitor. The states can be added in any order subject to maintaining the visual hierarchy of the link bands. In this case, the Add button for that band will be disabled.  The arrows indicate the indentation in the hierarchy.

Edit/Undo Last Add can be used to repeatedly delete any number of states from the bottom up.  To automate navigation of the filtered-in actors (the topmost display band), use the Timer command from the Tools Menu, which will navigate through each actor automatically. To go to a specific object in the filter band, use the GoTo command in the Browse Menu.  All state selections and the current positions of navigation bands are saved with File/Save.

Here is an example of the Add/insert states dialog box for the demo file supplied with this application.  In this case, the Add button from the top navigation band was clicked, showing the states for the person actor.  Use extended selection to select/unselect more than one state i.e. Ctrl-Click to select/unselect states, Shift-Click to select a range of states. Press the OK button when your selection is complete.

Dialog box to add or insert additional states to biography

Note above, that the description of the tracking state contains the tracking condition for this actor used at database creation time. In this case, non-dominant persons (spouses) are tracked only when their marital status is married or remarried. 

State Navigation

Navigate by using the First, Previous, Next, and Last buttons shown above or by using a pop-up menu over a navigation band. The pop-up menu has the additional functionality of a “Go To” command.

The first navigation band always refers to the filter query.  If you add a linked actor, a new navigation band is created by BioBrowser.  This band differs from the topmost band in several ways. First, unlike the topmost display band which shows the tracking state for the filtered-in actors, those for the linked actors graphically display the time frame in which the related actors are linked to the filtered-in actors (as opposed to when the related actors were tracked by Modgen).  If you wish to see the tracking state, then you may add it as a separate display band.

Secondly, for linked actors, you are permitted to navigate beyond the total count for the current set of actors within the band.  This is useful when adding the same link more than once.  For example, a person actor may be linked to multiple child actors.  This actor may have 0 to 6 children. If you wish to see certain states for the first 2 children within the same biography window, add the link to child state twice and position the navigation bands at 1 and 2 respectively. These positions are retained as you navigate from person to person.  If the current person-actor has no children, this navigation will still work although the bands will show (1/0) and (2/0) and no states will be displayed.  In this case, the First button will go to 1/0, the Last button will have no effect on the position.

With small screen resolutions, you may choose to hide the navigation bands and use the pop-up menus for movement. This is illustrated below.

Illustration of using pop-menu for navigation

Alternate keyboard navigation is available for the top filter band.  The Filter/Browse menu contains a Go To and the four movements with optional Ctrl key equivalents: Ctrl+G for GoTo, Ctrl+Q for First, Ctrl+W for Previous, Ctrl+E for Next and Ctrl+R for Last.

Date modified:

When is dynamic microsimulation the appropriate simulation approach?

Whenever we study the dynamics of a system made up of smaller scale units, microsimulation is a possible simulation approach – but when is it worth the trouble creating thousands or millions of micro units? In this section we give three answers to this question, the first focusing on population heterogeneity, the second on the difficulty in aggregating behavioural relations, and the third on individual histories.

Population heterogeneity

Microsimulation is the preferred modeling choice if individuals are different, if differences matter, and if there are too many possible combinations of considered characteristics to split the population into a manageable number of groups.

Most of classical macroeconomic theory is based on the assumption that the household sector can be represented by one representative agent. Individuals are assumed to be identical or, in the case of overlapping generation models, to differ only by age. (Each cohort is represented by one representative agent). However, such an approach is not applicable whenever finer grained distributions matter. Imagine we are interested in studying the sustainability and distributional impact of a tax benefit system. If there is only one representative individual and the tax benefit system is balanced, this average person will receive in benefits and services what she pays for through taxes and social insurance contributions (with some of her work hours spent to administer the system). To model tax revenues, we have to account for the heterogeneity in the population--if income taxes are progressive, tax revenues depend not only on total income but also its distribution. When designing tax reform, we usually aim at distributing burdens differently. We have to represent the heterogeneity of the population in the model to identify the winners and losers of reform.

Microsimulation is not the only modeling choice when dealing with heterogeneity. The alternative is to group people by combinations of relevant characteristics instead of representing each person individually. This is done in cell-based models. The two approaches have a direct analogy in how data are stored: a set of individual records versus a cross-classification table in which each cell corresponds to a combination of characteristics. A population census can serve as an example. If we were only interested in age and sex breakdowns, a census could be conducted by counting the individuals with each combination of characteristics. The whole census could be displayed in a single table stored as a spreadsheet. However, if we were to add characteristics to our description beyond age and sex, the number of table cells would grow exponentially, making this approach increasingly impractical. For example, 12 variables or characteristics with 6 levels each would force us to group our population into more than 2 billion cells (6^12 = 2,176,782,336). We would quickly end up with more cells than people. In the presence of continuous variables (e.g. income) the grouping approach becomes impossible altogether without losing information, since we would have to group data (e.g. defining income levels). The solution is to keep the characteristics of each person in an individual record – the questionnaire – and eventually a database row.

These two types of data representation (cross-classification table versus a set of individual records) correspond to the two types of dynamic simulation. In cell-based models, we update a table; in microsimulation models, we change the characteristics of every single record (and create a new record at each birth event). In the first case we have to find formulas on how the occupancy of each cell changes over time; in the second we have to model individual changes over time. Both approaches aim at modeling the same processes but on different levels. Modeling on the macro level might save us a lot of work but is only possible under restrictive conditions since the individual behavioural relations themselves need to be aggregated, which is not always possible. Otherwise no formulas will exist on how the occupancy of each cell changes over time.

Contrasting microsimulation to cell-based models is fruitful for the understanding of the microsimulation approach. In the following we further develop this comparison using population projections as an example. With a cell-based approach, if we are only interested in total population numbers by age, updating an aggregated table (a population pyramid) only requires a few pieces of information: age-specific fertility rates, age-specific mortality rates, and the age distribution in the previous period. In the absence of migration, the population of age x in period t is the surviving population from age x-1 in the period t-1. For a given mortality assumption, we can directly calculate the expected future population size of age x. With a microsimulation approach, survival corresponds to an individual probability (or rate, if we model in continuous time). An assumption that 95% of an age group will be still alive in a year results in a stochastic process at the micro level--individuals can be either alive or dead. We draw a random number between 0 and 1--if it is below the .95 threshold, the simulated person survives. Such an exercise is called Monte Carlo simulation. Due to this random element, each simulation experiment will result in a slightly different aggregated outcome, converging to the expected value as we increase the simulated population size. This difference in aggregate results is called Monte Carlo variation which is a typical attribute of microsimulation.

The problem of aggregation

Microsimulation is the adequate modeling choice if behaviours are complex at the macro level but better understood at the micro level.

Many behaviours are modeled much more easily at the micro level, as this is where decisions are taken and tax rules are defined. In many cases, behaviours are also more stable at the micro level at which there is no interference from composition effects. Even complete stability at the micro level does not automatically correspond to stability at the macro level. For example, looking at educational attainment, one of the best predictors of educational decisions is parents’ education. So if we observe an educational expansion – e.g. increasing graduation rates - at the population level, the reason is not necessarily a change of micro behaviour; it can lie entirely in the changing composition of the parents’ generation.

Tax and social security regulations tie rules in a non-linear way to individual and family characteristics, impeding the aggregation of their operations. Again, there is no formula to directly calculate the effect of reform or the sustainability of a system, not even ignoring distributive issues. To calculate total tax revenues, we need to know the composition of the population by income (progressive taxes), family characteristics (dependent children and spouses) and all other characteristics which affect the calculation of individual tax liability. Using microsimulation, we are able to model such a system at any level of detail at the micro level and to then aggregate individual taxes, contributions and benefits.

Individual histories

Microsimulation is the only modeling choice if individual histories matter, i.e. when processes possess memory.

School dropout is influenced by previous dropout experiences, mortality by smoking histories, old age pensions by individual contribution histories, and unemployment by previous unemployment spells and durations. Processes of interest in the social sciences are frequently of this type, i.e. they have a memory. For such processes, events that have occurred in the past can have a direct influence on what happens in the future. This impedes the use of cell-based models because once a cell is entered, all information on previous cell membership is lost. In such cases, microsimulation thus becomes the only available modeling option.

Date modified:

Strengths and drawbacks

The strengths of microsimulation unfold in three dimensions. Microsimulation is attractive from a theoretical point of view, as it supports innovative research embedded into modern research paradigms like the life course perspective. (In this respect, microsimulation is the logical next step following life course analysis.) Microsimulation is attractive from a practical point of view, as it can provide the tools for the study and projection of sociodemographic and socioeconomic dynamics of high policy relevance. And microsimulation is attractive from a technical perspective, since it is not restricted with respect to variable and process types, as is the case with cell-based models.

Strengths of microsimulation from a theoretical perspective

The massive social and demographic change in the last decades went hand in hand with tremendous technological progress. The ability to process large amounts of data has boosted data collection and enabled new survey designs and methods of data analysis. These developments went hand in hand with a general paradigm shift in the social sciences, many of the changes pointing in the same direction as Orcutt’s vision. Among them is the general shift from macro to micro, moving individuals within their context into the centre of research. Another change relates to the increasing emphasis on processes rather than static structures, bringing in the concepts of causality and time. While the microsimulation approach supports both of these new focuses of attention, it constitutes the main tool for a third trend in research: the move from analysis to synthesis (Willekens 1999). Microsimulation links multiple elementary processes in order to generate complex dynamics and to quantify what a given process contributes to the complex pattern of change.

These trends in social sciences are mirrored in the emergence of the life course paradigm which connects social change, social structure, and individual action (Giele and Elder 1998). Its multidimensional and dynamic view is reflected in longitudinal research and the collection of longitudinal data. Individual lives are described as a multitude of parallel and interacting careers like education, work, partnership, and parenthood. The states of each career are changed by events whose timing is collected in surveys and respectively simulated in microsimulation models. Various strengths of the microsimulation approach have a direct correspondence to key concepts of the life course perspective, making it the logical approach for the study and projection of social phenomena.

Microsimulation is well suited to simulate the interaction of careers, as it allows for both the modeling of processes that have a memory (i.e. individuals have a memory of past events of various career domains) and the modeling of various parallel careers with event probabilities or hazards of one career responding to state changes in other careers.

Besides the recognition of interactions between careers, the life course perspective emphasizes the interaction between individuals--the concept of linked lives. Microsimulation is a powerful tool to study and project these interactions. This could include changes in kinship networks (Wachter 1995), intergenerational transfers and transmission of characteristics like education  (Spielauer 2004), and the transmission of diseases like AIDS.

According to the life course perspective, the current situation and decisions of a person can be seen as the consequence of past experiences and future expectations, and as an integration of individual motives and external constraints. In this way, human agency and individual goal orientation are part of the explanatory framework. One of the main mechanisms with which individuals confront the challenges of life is by the timing of life course events of parallel – and often difficult to reconcile - careers like work and parenthood. Microsimulation supports the modeling of individual agency, as all decisions and events are modeled at the level where they take place and models can account for the individual context. Besides these intrinsic strengths of microsimulation, microsimulation also does not impose any restrictions of how decisions are modeled, i.e. it allows for any kind of behavioural models which can be expressed in computer code.

Strengths of microsimulation from a practical perspective

The ability to create models for the projection of policy effects lies at the core of Orcutt’s vision. The attractiveness of dynamic microsimulation in policymaking is closely linked to the intrinsic strengths of this approach. It allows the modeling of policies at any level of detail, and it is prepared to address distributional issues as well as issues of long-term sustainability. A part of this power unfolds already in static tax benefit microsimulation models, which have become a standard tool for policy analysis in most developed countries. These models resulted from the increased interest among policy makers in distributional studies, but are limited to cross-sectional studies by nature. While limited tax benefit projections into the future are possible with static microsimulation models by re-weighting the individuals of an initial population to represent a future population (and by upgrading income and other variables), this approach lacks the longitudinal dimension, i.e. the individual life courses (and contribution histories) simulated in dynamic models. The importance of dynamics in policy applications was most prominently recognized in the design and modeling of pension systems, which are highly affected by population aging. Pension models are also good examples of applications where both individual (contribution) histories and the concept of linked lives (survivor pensions) matter. Another example is the planning of care institutions whose demand is driven by population aging as well as by changing kinship networks and labour market participation (i.e. the main factors affecting the availability of informal care).

Given the rapid rate of social and demographic change, the need for a longitudinal perspective has quickly been recognized in most other policy areas which benefit from detailed projections and the “virtual world” or test environment provided by dynamic microsimulation models. The longitudinal aspect of dynamic microsimulation is not only important for sustainability issues but also extends the scope of how the distributional impact of policies can be analyzed. Microsimulation can be used to analyze distributions on a lifetime basis and to address questions of intergenerational fairness. An example is the possibility to study and compare the distribution of rates of return of individual contribution and benefit histories over the whole individual lifespan.

Strengths of microsimulation from a technical perspective

From a technical point of view, the main strength of microsimulation is that it is not subject to the restrictions which are typical in other modeling approaches. Unlike cell-based models, microsimulation can handle any number of variables of any type. Compared to macro models, there is no need to aggregate behavioural relations which, in macro models, is only possible under restrictive assumptions. With microsimulation, there are no restrictions on how individual behaviours are modeled, as it is the behavioural outcomes which are aggregated. In other words, there are no restrictions on process types. Most importantly, microsimulation allows for Non-Markov processes, i.e. processes which possess a memory. Based on micro data, microsimulation allows flexible aggregation, as the information may be cross-tabulated in any form, while in aggregate approaches, the aggregation scheme is determined a priori. Simulation results can be displayed and accounted for simultaneously in various ways--in aggregate time series, cross-sectional joint distributions, and individual and family life paths.

What is the price? Drawbacks and limitations

Microsimulation has three types of drawbacks (and preconceptions) which are of a very different nature: aesthetics, the fundamental limitations inherent to all forecasting, and costs.

If beauty is to be found in simplicity and mathematical elegance (a view not uncommon in mainstream economics), microsimulation models violate all rules of aesthetics. Larger scale microsimulation models require countless parameters estimated from various data sources which are frequently not easy to reconcile. Policy simulation requires tiresome accounting, and microsimulation models, due to their complexity, are always in danger of becoming hard- to-operate-and-understand black boxes. While there is clearly room for improvement in the documentation and user interface of microsimulation models, the sacrifice of elegance for usefulness will always apply to this modeling approach.

The second drawback is more fundamental. The central limitation of microsimulation lies in the fact that the degree of model detail does not go hand in hand with overall prediction power. The reason for this can be found in what is called randomness, partly caused by the stochastic nature of microsimulation models, and partly due to accumulated errors and biases of variable values. The trade-off between detail and possible bias is already present in the choice of data sources, since the sample size of surveys does not go hand in hand with the model’s level of detail. There is a trade-off between the additional randomness introduced by additional variables and misspecification errors caused by models that are too simplified. This means that the feature that makes microsimulation especially attractive, namely the large number of variables that models can include, comes at the price of randomness and the resulting prediction power that weakens or decreases as the number of variables increases. This generates a trade-off between good aggregate predictions versus a good prediction regarding distributional issues in the long run, a fact that modellers have to be aware of. This trade-off problem is not specific to microsimulation, but since microsimulation is typically employed for detailed projections, the scope for randomness becomes accordingly large. Not surprisingly, in many large-scale models some processes are aligned or calibrated towards aggregated projections obtained by external means.

Besides the fundamental nature of this type of randomness, its extent also depends on data reliability or quality. In this respect we can observe and expect various improvements as more and more detailed data becomes available for research, not only in the form of survey data but also administrative data. The latter has boosted microsimulation, especially in the Nordic European countries.

Since microsimulation produces not expected values but instead random variables distributed around the expected values, it is subject to another type of randomness: Monte Carlo variability. Every simulation experiment will produce different aggregate results. While this was cumbersome in times of limited computer power, many repeated experiments and/or the simulation of large populations can eliminate this sort of randomness and deliver valuable information on the distribution of results, in addition to point estimates.

The third type of drawback is related to development costs. Microsimulation models have a need for high-quality, longitudinal and sometimes highly specific types of data--and there are costs involved to acquire and compile such data. Note that such costs are not explicit costs associated with the actual microsimulation itself but represent the price to be paid for longitudinal research in general and informed policy making in particular.

Microsimulation models also usually require large investments with respect to both manpower and hardware. However, these costs can be expected to further decrease over time as hardware prices fall and more powerful and efficient computer languages become available. Still, many researchers perceive entry barriers to be high. While many do recognize the potential of microsimulation, they remain sceptical about the feasibility of its technical implementation within the framework of smaller research projects. We hope that the availability of the Modgen language lowers this perceived barrier and makes microsimulation more accessible in the research community. In the last couple of years, various smaller-scale microsimulation models have been developed alongside PhD projects or as parts of single studies. Modgen can both speed up the programming of smaller applications and provide a tested and maintained modeling platform for large-scale models, such as Statistics Canada’s LifePaths and Pohem models.

Date modified:

Introduction

Modgen is a microsimulation model development package developed by and distributed through Statistics Canada. It was designed to ease the creation, maintenance, and documentation of microsimulation models without the need for advanced programming skills as a prerequisite. It accommodates many different model approaches (continuous or discrete time, case-based or time-based, general or specialized, etc.) Modgen also provides a common visual interface for each model that implements useful functionality such as scenario management, parameter input, the display of output tables from a model run, graphical output of individual biographies, and the display of detailed Modgen-generated model documentation.

In this discussion we introduce a simple microsimulation model called RiskPaths that has been implemented using Modgen. We start with a description of its underlying statistical models and then explore follow-up questions, such as what microsimulation can add to the initial statistical analysis and what other benefits microsimulation can bring to the overall analysis. We then demonstrate parts of Modgen's visual interface to examine elements of the RiskPaths model.

RiskPaths can be used as a model to study childlessness and was developed for training purposes. Technically, RiskPaths is a demographic single sex (female only), data-driven, specialized, continuous time, case-based, competing risk cohort model. It is based on a set of piecewise constant hazard regression models.

In essence, RiskPaths allows the comparison of basic demographic behaviour before and after the political and economic transitions experienced by Russia and Bulgaria around 1989. Its parameters were estimated from Russian and Bulgarian data of the Generations and Gender Survey conducted around 2003/04. Russia and Bulgaria comprise interesting study cases since both countries, after the collapse of socialism, underwent the biggest fertility declines ever observed in history during periods of peace. Furthermore, demographic patterns were very similar and stable in socialist times for both countries, which helps to justify the use of single cohorts as a means of comparison (one representing life in socialist times, the other the life of a post-transition cohort). In this way, the model allows us to compare demographic behaviour before and after the transition, as well as between the two countries themselves.

Date modified:

Introduction

In this discussion we explore the microsimulation model development package Modgen and the Modgen application RiskPaths from the model developer's point of view. We first introduce the Modgen programming environment, and then discuss basic Modgen language concepts and the RiskPaths code. Modgen requires only moderate programming skills; thus, after some training, it enables social scientists to create their own models without the need for professional programmers. This is possible because Modgen hides underlying mechanisms like event queuing and automatically creates a stand-alone model with a complete visual interface, including scenario management and model documentation (as introduced in the previous chapter). Model developers can therefore concentrate on model specific code: the declaration of parameters, the states defining the simulated actors, and the events changing the states. High efficiency coding extends also to model output. Modgen includes a powerful language to handle continuous time tabulation. These tabulations are created on-the-fly when simulations are run and the programming to generate them usually requires only a few lines of code per table. Modgen also has a built-in mechanism for estimating the Monte Carlo variation for any cell of any table, without requiring any programming by the model developer.

Being a simple model, RiskPaths does not make use of the full range of available Modgen language concepts and capabilities. The discussion in this chapter does not intend to replace existing Modgen documentation, such as the Modgen Developer's Guide, either. But by introducing the main concepts of Modgen programming, we aim to help you get started in Modgen model development and to engage in further exploration.

Date modified:

Basic Modgen concepts

Actor: An actor is the entity whose life is simulated in a Modgen model. A model's actor is often a person, although this is not a requirement--other models have been developed that use dwellings or occupations as actors. Nevertheless, in RiskPaths, the actor is a person or more specifically, a female (since it is a model for the study of childlessness)

State: States describe the characteristics of a model's actors. Some states can be continuous, such as age, whereas others are categorical, such as gender. For categorical states, the actual categories or levels are defined via Modgen's classification command.

Overall, there are two major kinds of states in Modgen-simple states and derived states, both of which are used by RiskPaths and both of which are declared within an actor declaration. A simple state is a state whose value can be initialized and changed by the code that a model developer creates. Simple states are changed by explicitly declared events. A derived state, on the other hand, is a state whose value is given as an expression which is normally derived from or based on other states. A derived state's values are automatically maintained by Modgen throughout a simulation run. An additional useful Modgen concept is the self-scheduling derived state. This is a state which changes in a predefined time sequence, such as integer_age, a state in RiskPaths that changes at each birthday.

Event: In Modgen, simulation takes place through the execution of events. Each event consists of two functions: a time function to determine the time of the next occurrence of the event, and an implementation function to determine the consequences when the event happens. RiskPaths has several events, including a mortality event, union formation and dissolution events, and a first pregnancy event.

Parameter: Parameters are used to give model users a degree of control over the simulations they run. The ability to change different hazards or probabilities that affect various aspects of a simulation allows different scenarios to be explored. Parameters can have many dimensions (such as age, gender, and year) and are stored in .dat data files. In RiskPaths, there is one parameter file, Base(RiskPaths).dat, which stores parameters such as death probabilities by age and risks of first pregnancy by age group. More complex models will usually incorporate more than one .dat file.

Table: Modgen has a powerful cross-tabulation facility built in to report aggregated results in the form of tables. There are two central elements of a table declaration-its captured dimensions (defining when an actor enters and leaves a cell) and its analysis dimension (recording what happens while an actor is in that cell). When running simulations, the tabulations to fill a table are created on the fly, thus removing the need to create and write to large temporary interim files for subsequent reporting. Several examples of table declarations are shown later in this document for the RiskPaths model.

Date modified:

How to use BioBrowser: The basics

Beginning a BioBrowser session

To begin a BioBrowser session, click the Start button on your toolbar, choose Programs, and then select BioBrowser.

Opening an existing database file: The File / Open Database command

BioBrowser automatically invokes this command at the start of every session. A database file (created by Modgen) must be open before any graphical representations (saved as a biography) can be created.  Although only one database file can be open at a time, any number of biographies can be viewed simultaneously.

A sample database demo(trk).mdb has been supplied as part of the BioBrowser installation.

Dialog box to open demo(trk).mdb database file

Opening a saved biography: The File / Open command

After you have opened the database upon the startup of BioBrowser, you will be asked to either create a new biography or open a saved biography.  One saved biography demo.bbr has been supplied with the installation software.  Choose the Open button.

Information dialog box for opening biography files

You will be prompted for the name of the saved file to open. Choose demo.bbr.

Dialog box to open the saved biography demo.bbr

Creating a new biography: The File / New Biography command

Creating a new biography involves the selection of the actors which you want to graph by choosing a starting actor and a filter.  The way in which the open database was defined in the Modgen model will limit the available choices.  The Starting actor is the type of actor whose state characteristics will be graphed.  Other actors who are linked to these starting actors (e.g.parents, spouses or children) may be added later in the BioBrowser process.  In our example, two starting actors are available: (i) persons, whose states are included in the database only if they are dominant actors or other married or remarried individuals, and (ii) children.

This choice of starting actor may give a large set of actors to be graphed, depending on the size of the Modgen database.  The filter criteria enables you to narrow the focus of the biography. Select a state, an operator on that state, and a value.  This generates a SQL query on the database.  The result of the query is a set of actors which satisfy the filter criteria.  At present, two states can be used to determine the filter.  When selecting two states, you must choose if the criteria will be joined with an “And” or an “Or” condition. If the result of the query is non-empty, then a new biography is opened. Once the biography is open, you may change the criteria using menu item Filter/Criteria…, as discussed in Changing the Biography Filter.

The tracking state is a variable which indicates the ranges of time in which the actors and their states are included in the database.  If you wish to browse all the starting actors, set the filter to Tracking = TRUE in the Filter Criteria section of the Biography Filter dialog box.. 

In the “Filter Description”box you may change the textual description of the filter you have chosen.  It will appear on the bottom of the BioBrowser screen.

In the example below, all person actors whose dominant state is True were selected for browsing. This is a logical state whose value is either True or False for the actor’s lifetime. Since the demo(trk).mdb file was created with only 20 cases, all 20 actors will meet this criteria.

Biography Filter

The new biography contains only one display band, the navigation band for the filter tracking state.  It indicates the dates in which the actor’s state characteristics were captured by the model (the axis at the bottom of the screen indicates the start and end dates).  The display band does not have to be continuous.  On the top of this display band the number of actors which satisfied the filter criteria is displayed as well as which actor is presently being shown on the screen.  In the example below, the first actor out of the twenty which were filtered is being displayed. The section State Selection and Navigation explains how more states can be added to the biography.

Sample biography display screen

Saving a biography: The File / Save and File / Save As... commands

Once all desired states have been added (formatted for style and colour), you may optionally save the biography to file. These files have extension .bbr and may be retrieved at a later time against a compatible data base.  For compatibility, the filter query must be non-empty and all previously selected actor/state pairs must exist in the open database. All style, colour and navigation positions are saved.

Dialog box to save a biography file

If you have altered the state data within a biography, the window caption will display an asterisk (*) after the file name until you save the biography.  This visual asterisk cue is not set, however, by navigation or by changes to global biography options.

Date modified: