Guide to Scenario Analysis in International Futures (IFs): Difference between revisions
No edit summary |
No edit summary |
||
Line 13: | Line 13: | ||
:<math>TFR=F(GDPPCP,EDYRSAG15,CONTRUSE,INFMORT)</math> | :<math>TFR=F(GDPPCP,EDYRSAG15,CONTRUSE,INFMORT)</math> | ||
Parameters of several kinds can alter the details of such a relationship. That is, parameters are numbers (also represented by names in IFs), that help specify the exact relationship between independent and dependent variables in equations or other formulations (including logical procedures called algorithms). For instance, the model may contains different parameters that tell us how much TFR rises or falls per unit change in GDP per 6 capita, education levels, contraception use, and infant mortality | Parameters of several kinds can alter the details of such a relationship. That is, parameters are numbers (also represented by names in IFs), that help specify the exact relationship between independent and dependent variables in equations or other formulations (including logical procedures called algorithms). For instance, the model may contains different parameters that tell us how much TFR rises or falls per unit change in GDP per 6 capita, education levels, contraception use, and infant mortality<sup>1</sup> and it contains still others to set bounds on the lower and/or upper values of TFR over the long run (obviously TFR should never go negative and probably we will not even want it to go, at least for a long time, to a very low level such as an average of 0.5 children per woman). Some of these parameters are more technical than others in the sense that they may significantly affect the overall stability of the model if users are not very careful with the magnitude or direction of the changes they make; we will focus heavily in this manual on parameters that are easiest to interpret and modify. | ||
In many cases, we are more interested in using a parameter to make a direct change to a variable, rather than indirectly affecting a variable like TFR through one of its drivers. We often refer to this as the "brute force" method of changing a variable, and this can be done by multiplying the entire result of a basic equation like that above by a number, adding something to that result, or simply over-riding the result with an exogenously (externally) specified series of values. In the case of TFR we use the multiplier approach, which is described below. The strengths of this approach should be obvious: it preserves model stability, and makes the model more accessible for users. However, the weakness is that in many instances it is more realistic to affect one of the drivers of TFR rather than TFR directly. | In many cases, we are more interested in using a parameter to make a direct change to a variable, rather than indirectly affecting a variable like TFR through one of its drivers. We often refer to this as the "brute force" method of changing a variable, and this can be done by multiplying the entire result of a basic equation like that above by a number, adding something to that result, or simply over-riding the result with an exogenously (externally) specified series of values. In the case of TFR we use the multiplier approach, which is described below. The strengths of this approach should be obvious: it preserves model stability, and makes the model more accessible for users. However, the weakness is that in many instances it is more realistic to affect one of the drivers of TFR rather than TFR directly. | ||
Beyond multipliers, there are many other types of parameters that IFs uses, although we are forced to abandon TFR to provide examples. For instance, a switch parameter may turn on or off a particular formulation in preference to another. A target may specify a value towards which we want a variable to move gradually (we would need to specify both the target level and the years of convergence to it). | Beyond multipliers, there are many other types of parameters that IFs uses, although we are forced to abandon TFR to provide examples. For instance, a switch parameter may turn on or off a particular formulation in preference to another. A target may specify a value towards which we want a variable to move gradually (we would need to specify both the target level and the years of convergence to it). | ||
Line 23: | Line 23: | ||
1. '''Equation Result Parameters'''. Most users will use these parameter types far more often than any other. The three types are: | 1. '''Equation Result Parameters'''. Most users will use these parameter types far more often than any other. The three types are: | ||
:a. '''Multipliers'''. This most common of all parameter types in scenario analysis comes into play after an equation has been calculated. They multiply the result by the value of the parameter. The default value, i.e. the value for which the parameter has no effect and to which multipliers almost invariably are set in the Base Case, is 1.0. These parameters are usually denoted with the suffix -m at the end of the parameter name. | :a. '''Multipliers'''. This most common of all parameter types in scenario analysis comes into play after an equation has been calculated. They multiply the result by the value of the parameter. The default value, i.e. the value for which the parameter has no effect and to which multipliers almost invariably are set in the Base Case, is 1.0. These parameters are usually denoted with the suffix -m at the end of the parameter name. | ||
:b. '''Additive factors'''. Like multipliers, these change the results after an equation computation, but add to the result rather than multiplying. The default value is normally 0.0. These are usually denoted with the suffix -add at the end of the parameter name. | :b. '''Additive factors'''. Like multipliers, these change the results after an equation computation, but add to the result rather than multiplying. The default value is normally 0.0. These are usually denoted with the suffix -add at the end of the parameter name. | ||
:c. '''Exogenous Specification'''. Sometimes these parameters override the computation of an equation. In other cases, they are actually substitutes for having an equation; that is, they are actually equivalent to specifying the values of a variable over time for which the model has no equation. This typically means establishing a new exogenous series. They typically will have the name of the variable that they over-ride within their own name. | :c. '''Exogenous Specification'''. Sometimes these parameters override the computation of an equation. In other cases, they are actually substitutes for having an equation; that is, they are actually equivalent to specifying the values of a variable over time for which the model has no equation. This typically means establishing a new exogenous series. They typically will have the name of the variable that they over-ride within their own name. | ||
2. '''Targets'''. Especially for the purposes of policy analysis, we often want to force the result of an equation toward a particular value over time (e.g. to achieve the elimination of indoor use of solid fuels). Target | 2. '''Targets'''. Especially for the purposes of policy analysis, we often want to force the result of an equation toward a particular value over time (e.g. to achieve the elimination of indoor use of solid fuels). Target parameters are generally paired, one for the target level and one for the number of years to reach the target (from the initial year of the model forecast, 2010). Targets have different types: | ||
:a. '''Absolute targets'''. In this case the target value and year define the absolute value the variable should move toward and the number of years after the first model year over which the goal should be achieved. Together they determine a path in which the value for the variable moves quite directly<sup>2</sup> from the value in first year to the target value in the target year. Trgtval and trgtyr are the parameter suffixes used for this parameter type. The first of these changes the target itself, and the second alters the number of years to the target. The default value of *trgtyr parameters should normally be 10 years, but in some cases it is 0, meaning that users must set the number of years to target as well as the target value in order to use these parameters.<br/> | |||
:b. '''Relative (standard error) targets'''. In this case, the target value and year define a relative value towards which the variable should move and the number of years that will pass before the target is reached. The relative value is defined as the number of standard errors above or below the “predicted” value of the variable of interest (a prediction usually based on the country's GDP per capita). Target values less than 0 set the target below the typical or predicted (as indicated by cross-sectional estimations) value of the variable. Target values above 0 set the target above the predicted value. As with the absolute targets, the value calculated using relative targeting is compared to the default value estimated in the model. The computed value then gradually moves from the normal or default-equation based value to the target value. If, however, the computed value already is at or beyond the target (that could be above or below depending on whether the target is above or below the default or predicted value), the model will not move it toward the target. Two different parameter suffixes direct relative targeting: '''setar''' and '''seyrtar'''. The first of these changes the target itself and the second alters the number of years to the target. The default value of the *'''seyrtar''' parameters varies based on the module and even variable. Governance parameters are set to a default of 10 years from the year of model initialization, while infrastructure parameters are set to a default of 20 years. These defaults mean that users do not have to change *'''seyrtar''' as well as *'''setar''' in order to build standard error target scenarios. Changing *'''setar''' should be enough. | |||
3. '''Rates of change'''. Some parameters specify an annual percentage rate of change. Unfortunately, IFs does not consistently use percentage rates (5 percent per year) versus proportional rates (0.05 increase rate per year, which is equivalent to 5 percent), so the user should be attentive to definitions. There are multiple suffixes that may apply to these, including -'''r''' (changes in the rate) and -'''gr''' (changes the rate of change, growth or decline). | |||
4. '''Limits'''. As indicated for the TFR example, long-term national rates are unlikely to fall and stay below a minimum value. Limits can be minimum or maximum values. These are typically denoted by the suffixes - min, -max, or -lim. | |||
5. '''Switches'''. These turn off and on elements in the model. These most often affect linkages between modules, but can also change relationships within modules. They are typically denoted by the suffix -sw. | |||
6. '''Other parameters''' in equations and algorithms. Equations within IFs can become quite complicated. The parameter types discussed to this point provide the easiest control over them for most model users. Relatively few users will proceed further with parameters, and to do so will typically require attention to the specific nature of the equation (e.g. whether independent variables are related to dependent ones via linear, logarithmic, exponential or other relationship forms). That is, one would normally need to understand the model via the Help system or other project documentation in order to use them meaningfully and without causing substantial risk of bad model behavior. The sections of this manual will provide very little information about these technical parameters. | |||
:a. '''Elasticities''': These are relatively common within IFs and specify the percentage change in the dependent variable associate with a percentage change in the independent variable. They are typically prefixed '''el'''- or '''elas'''-. | |||
:b. Equilibration '''control parameters'''. IFs balances supply and demand for goods and services via prices, savings and investment with interest rates, and so on. These processes typically use an algorithmic controller system that responds to both the magnitude of imbalance or disequilibrium and the direction and extent of its change over time (see the Help system descriptions of the model). Although they are not typical elasticities, the two parameters that control each such process usually have the prefix '''el'''- and the suffixes -'''1''' or -'''2'''. Parameters ending with '''1''' relate to disequilibrium magnitude; and parameters end with '''2''' relate to the direction of change. | |||
:c. '''Other coefficients in equations'''. Beyond elasticities, many other forms of parameter can manipulate an equation. When analysts in many fields think of parameters, this is what they mean. In IFs, most users will use them quite rarely because, in the absence of knowledge concerning equation forms and reasonable ranges, the parameters often have little transparent meaning—experts in a field may use them more often. Many analysts think of such parameters as having a constant value over time, and some are unchangeable over time in IFs. IFs allows almost all, however, to be entered as time series and vary with great flexibility across time. Some can be changed for each country and/or sub-dimensions of the associated variable, such as energy types, but others can only be changed globally. | |||
:d. '''Equation forms'''. Although most users will change parameters using the Scenario Tree (see again the Training Manual), the IFs model has made it possible over time to change an increasing number of functions directly (both bivariate and multivariate ones). The advantage this confers is the ability to alter the nature of the formulation (e.g. going from linear to logarithmic) and even, to a very limited degree, the independent or driver variables in the equation. Although some module discussions will occasionally suggest this option, most users will not avail themselves of it. Users who wish to make such changes can do so via the Change Selected Functions options, which can be accessed from the Scenario Analysis Menu on the main page.<br/> | |||
7. '''Initial conditions''' for endogenous variables and convergence of initial discrepancies | |||
:a. '''Initial conditions '''are not, strictly speaking, true parameters, but should reflect data. Yet some users will believe that they have data superior to that in IFs, and the system allows the user to change most initial conditions. After the first year, the model will compute subsequent values internally (endogenously). Initial conditions don’t have a suffix; their names are, in fact, those of the variable itself (e.g., '''POP''' for population). | |||
:b. '''Convergence speed''' of initial-condition based discrepancies to forecasting functions. Because initial conditions taken from empirical data often vary from the values that are computed in the estimated equation used for forecasting, the model protects the empirically-based initial condition by computing shift factors that represent that initial discrepancy (they can be additive or multiplicative). For many variables, values rooted in initial conditions in the first model year should converge to the value of the estimated equation over time; convergence parameters control the speed of such convergence. Most model users will never change the convergence speed. These are denoted by the suffixes -cf or -conv. | |||
In the use of all parameters, especially those other than equation result parameters, users will often be uncertain how much it is reasonable to move them—as are often even the model developers. The Scenario Tree form provides some support for judgments on this by indicating high and low alternatives to that of that Base Case. This manual will sometimes provide some additional information. | |||
---- | |||
<sup>1</sup>Because the nature of the equation or formulation will vary (sometimes a driving variable is linearly linked to the dependent variable, sometimes the equation uses a logarithmic, exponential, or other formulation), the coefficients in the equation cannot invariably or even regularly be interpreted as units of change linked to units of change. You may need to explore the Help system and specific equations to fully understand the relationship. This is one of the key reasons we very often turn to the multipliers and additive factors explained in the next paragraph. | |||
<sup>2</sup>The movement normally will be linear, except that it is possible to set moving targets that create non-linear progression patterns. In some cases, the model explicitly uses non-linear convergence; e.g. to accelerate movement in early years and then to slow it as the target is approached. | |||
== <span style="font-size:x-large;">Manipulating Parameters in IFs</span> == | == <span style="font-size:x-large;">Manipulating Parameters in IFs</span> == |
Revision as of 00:21, 25 August 2017
Introduction
The purpose of this document is to facilitate the development of scenarios with the International Futures (IFs) system. This document supplements the IFs Training Manual. That manual provides a general introduction to IFs and assistance with the use of the interface (e.g., how do I create a graphic?). In turn, the broader Help system of IFs supplements this manual. It provides detailed information on the structure of IFs, including the underlying equations in the model (e.g., what does the economic production function look like?). This document should help users understand the leverage points that are available to change parameters (and in a few cases even equations) and create alternative scenarios relative to the Base Case scenario of IFs (e.g., how do I decrease fertility rates or increase agricultural production?). It proceeds across the modules of IFs, such as demographic, economic, energy, health, and infrastructure, to (1) identify some of the key variables that you might want to influence to build scenarios and (2) the parameters that you will want to manipulate to affect your variables of interest. The Training Manual will help you actually make the parameter changes in the computer program and the Help system will facilitate your understanding of the structures, equations and algorithms that constitute the model. We begin by introducing the types of parameters within IFs and then proceed to a discussion of variables and parameters within each of the IFs modules.
A Note on Parameter Names
In this manual we will provide the internal computer program names of variables and parameters, as well as their descriptions. Those names are especially important for use of the Self-Managed Display form, which provides model users with complete access to all variables and parameters in the system. Most model use, however, employs the Scenario Tree form to build scenarios and the Flexible Display form to show scenario-specific forecasts, and both of those forms rely primarily on natural language descriptions of variables and parameters. To match the names provided here with the options in those forms, you can use the Search feature from the menu. The Training Manual describes how to use features such as the Flexible Display form to see computed forecast variables in natural language. And it also describes how to use the Scenario Tree form to access parameters in something close to natural language. Nonetheless, it helps very much in the use of those features and the model generally to know the actual variable and parameter names.
Types of Parameters in IFs
Equations in IFs have the general form of a dependent or computed variable, as a function of one or more driving or independent variables. Variables, like population and GDP, are the dynamic elements of forecasts in which you are ultimately interested. For instance, total fertility rate or TFR (the number of children a woman has in her lifetime) is a function of GDP per capita at purchasing power parity (GDPPCP), education of adults 15 or more years of age (EDYRSAG15), the use of contraception within a country (CONTRUSE), and the level of infant mortality (INFMORT). In the most general terms the equation is
Parameters of several kinds can alter the details of such a relationship. That is, parameters are numbers (also represented by names in IFs), that help specify the exact relationship between independent and dependent variables in equations or other formulations (including logical procedures called algorithms). For instance, the model may contains different parameters that tell us how much TFR rises or falls per unit change in GDP per 6 capita, education levels, contraception use, and infant mortality1 and it contains still others to set bounds on the lower and/or upper values of TFR over the long run (obviously TFR should never go negative and probably we will not even want it to go, at least for a long time, to a very low level such as an average of 0.5 children per woman). Some of these parameters are more technical than others in the sense that they may significantly affect the overall stability of the model if users are not very careful with the magnitude or direction of the changes they make; we will focus heavily in this manual on parameters that are easiest to interpret and modify.
In many cases, we are more interested in using a parameter to make a direct change to a variable, rather than indirectly affecting a variable like TFR through one of its drivers. We often refer to this as the "brute force" method of changing a variable, and this can be done by multiplying the entire result of a basic equation like that above by a number, adding something to that result, or simply over-riding the result with an exogenously (externally) specified series of values. In the case of TFR we use the multiplier approach, which is described below. The strengths of this approach should be obvious: it preserves model stability, and makes the model more accessible for users. However, the weakness is that in many instances it is more realistic to affect one of the drivers of TFR rather than TFR directly.
Beyond multipliers, there are many other types of parameters that IFs uses, although we are forced to abandon TFR to provide examples. For instance, a switch parameter may turn on or off a particular formulation in preference to another. A target may specify a value towards which we want a variable to move gradually (we would need to specify both the target level and the years of convergence to it).
Overall, key parameter types are:
1. Equation Result Parameters. Most users will use these parameter types far more often than any other. The three types are:
- a. Multipliers. This most common of all parameter types in scenario analysis comes into play after an equation has been calculated. They multiply the result by the value of the parameter. The default value, i.e. the value for which the parameter has no effect and to which multipliers almost invariably are set in the Base Case, is 1.0. These parameters are usually denoted with the suffix -m at the end of the parameter name.
- b. Additive factors. Like multipliers, these change the results after an equation computation, but add to the result rather than multiplying. The default value is normally 0.0. These are usually denoted with the suffix -add at the end of the parameter name.
- c. Exogenous Specification. Sometimes these parameters override the computation of an equation. In other cases, they are actually substitutes for having an equation; that is, they are actually equivalent to specifying the values of a variable over time for which the model has no equation. This typically means establishing a new exogenous series. They typically will have the name of the variable that they over-ride within their own name.
2. Targets. Especially for the purposes of policy analysis, we often want to force the result of an equation toward a particular value over time (e.g. to achieve the elimination of indoor use of solid fuels). Target parameters are generally paired, one for the target level and one for the number of years to reach the target (from the initial year of the model forecast, 2010). Targets have different types:
- a. Absolute targets. In this case the target value and year define the absolute value the variable should move toward and the number of years after the first model year over which the goal should be achieved. Together they determine a path in which the value for the variable moves quite directly2 from the value in first year to the target value in the target year. Trgtval and trgtyr are the parameter suffixes used for this parameter type. The first of these changes the target itself, and the second alters the number of years to the target. The default value of *trgtyr parameters should normally be 10 years, but in some cases it is 0, meaning that users must set the number of years to target as well as the target value in order to use these parameters.
- b. Relative (standard error) targets. In this case, the target value and year define a relative value towards which the variable should move and the number of years that will pass before the target is reached. The relative value is defined as the number of standard errors above or below the “predicted” value of the variable of interest (a prediction usually based on the country's GDP per capita). Target values less than 0 set the target below the typical or predicted (as indicated by cross-sectional estimations) value of the variable. Target values above 0 set the target above the predicted value. As with the absolute targets, the value calculated using relative targeting is compared to the default value estimated in the model. The computed value then gradually moves from the normal or default-equation based value to the target value. If, however, the computed value already is at or beyond the target (that could be above or below depending on whether the target is above or below the default or predicted value), the model will not move it toward the target. Two different parameter suffixes direct relative targeting: setar and seyrtar. The first of these changes the target itself and the second alters the number of years to the target. The default value of the *seyrtar parameters varies based on the module and even variable. Governance parameters are set to a default of 10 years from the year of model initialization, while infrastructure parameters are set to a default of 20 years. These defaults mean that users do not have to change *seyrtar as well as *setar in order to build standard error target scenarios. Changing *setar should be enough.
3. Rates of change. Some parameters specify an annual percentage rate of change. Unfortunately, IFs does not consistently use percentage rates (5 percent per year) versus proportional rates (0.05 increase rate per year, which is equivalent to 5 percent), so the user should be attentive to definitions. There are multiple suffixes that may apply to these, including -r (changes in the rate) and -gr (changes the rate of change, growth or decline).
4. Limits. As indicated for the TFR example, long-term national rates are unlikely to fall and stay below a minimum value. Limits can be minimum or maximum values. These are typically denoted by the suffixes - min, -max, or -lim.
5. Switches. These turn off and on elements in the model. These most often affect linkages between modules, but can also change relationships within modules. They are typically denoted by the suffix -sw.
6. Other parameters in equations and algorithms. Equations within IFs can become quite complicated. The parameter types discussed to this point provide the easiest control over them for most model users. Relatively few users will proceed further with parameters, and to do so will typically require attention to the specific nature of the equation (e.g. whether independent variables are related to dependent ones via linear, logarithmic, exponential or other relationship forms). That is, one would normally need to understand the model via the Help system or other project documentation in order to use them meaningfully and without causing substantial risk of bad model behavior. The sections of this manual will provide very little information about these technical parameters.
- a. Elasticities: These are relatively common within IFs and specify the percentage change in the dependent variable associate with a percentage change in the independent variable. They are typically prefixed el- or elas-.
- b. Equilibration control parameters. IFs balances supply and demand for goods and services via prices, savings and investment with interest rates, and so on. These processes typically use an algorithmic controller system that responds to both the magnitude of imbalance or disequilibrium and the direction and extent of its change over time (see the Help system descriptions of the model). Although they are not typical elasticities, the two parameters that control each such process usually have the prefix el- and the suffixes -1 or -2. Parameters ending with 1 relate to disequilibrium magnitude; and parameters end with 2 relate to the direction of change.
- c. Other coefficients in equations. Beyond elasticities, many other forms of parameter can manipulate an equation. When analysts in many fields think of parameters, this is what they mean. In IFs, most users will use them quite rarely because, in the absence of knowledge concerning equation forms and reasonable ranges, the parameters often have little transparent meaning—experts in a field may use them more often. Many analysts think of such parameters as having a constant value over time, and some are unchangeable over time in IFs. IFs allows almost all, however, to be entered as time series and vary with great flexibility across time. Some can be changed for each country and/or sub-dimensions of the associated variable, such as energy types, but others can only be changed globally.
- d. Equation forms. Although most users will change parameters using the Scenario Tree (see again the Training Manual), the IFs model has made it possible over time to change an increasing number of functions directly (both bivariate and multivariate ones). The advantage this confers is the ability to alter the nature of the formulation (e.g. going from linear to logarithmic) and even, to a very limited degree, the independent or driver variables in the equation. Although some module discussions will occasionally suggest this option, most users will not avail themselves of it. Users who wish to make such changes can do so via the Change Selected Functions options, which can be accessed from the Scenario Analysis Menu on the main page.
7. Initial conditions for endogenous variables and convergence of initial discrepancies
- a. Initial conditions are not, strictly speaking, true parameters, but should reflect data. Yet some users will believe that they have data superior to that in IFs, and the system allows the user to change most initial conditions. After the first year, the model will compute subsequent values internally (endogenously). Initial conditions don’t have a suffix; their names are, in fact, those of the variable itself (e.g., POP for population).
- b. Convergence speed of initial-condition based discrepancies to forecasting functions. Because initial conditions taken from empirical data often vary from the values that are computed in the estimated equation used for forecasting, the model protects the empirically-based initial condition by computing shift factors that represent that initial discrepancy (they can be additive or multiplicative). For many variables, values rooted in initial conditions in the first model year should converge to the value of the estimated equation over time; convergence parameters control the speed of such convergence. Most model users will never change the convergence speed. These are denoted by the suffixes -cf or -conv.
In the use of all parameters, especially those other than equation result parameters, users will often be uncertain how much it is reasonable to move them—as are often even the model developers. The Scenario Tree form provides some support for judgments on this by indicating high and low alternatives to that of that Base Case. This manual will sometimes provide some additional information.
1Because the nature of the equation or formulation will vary (sometimes a driving variable is linearly linked to the dependent variable, sometimes the equation uses a logarithmic, exponential, or other formulation), the coefficients in the equation cannot invariably or even regularly be interpreted as units of change linked to units of change. You may need to explore the Help system and specific equations to fully understand the relationship. This is one of the key reasons we very often turn to the multipliers and additive factors explained in the next paragraph.
2The movement normally will be linear, except that it is possible to set moving targets that create non-linear progression patterns. In some cases, the model explicitly uses non-linear convergence; e.g. to accelerate movement in early years and then to slow it as the target is approached.