Index conversion function: Difference between revisions
(first half of the new idea based on own thinking) |
(technical edits) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
{{method}} | {{method}} | ||
<section begin=glossary /> | <section begin=glossary /> | ||
:'''Index conversion function (ICF)''' is a [[ | :'''Index conversion function (ICF)''' is a [[method]] describing how one [[index]] can be converted to another in a particular context. To this aim, a weight [[variable]] is needed. It is indexed by the two indices, and the values in cells represent the fraction of the total amount of substance (e.g., area, population) in the intersection determined by the two indices. For example, a country may be treated as a whole, or it may be divided into (i.e., indexed by) counties or municipalities. In this case, the three indices are "crisp" in the sense that a municipality belongs to exactly one county, and a county belongs to exactly one country. There can also be "overlapping" indices. For example, for a given population, a certain fraction of (not all) men or women belong to a particular age group. If the [[result domain]]s of the two indices are not the same, the fraction of substance that goes beyond the second index must be specified. | ||
<section end=glossary /> | <section end=glossary /> | ||
==Scope== | ==Scope== | ||
What structure does an [[ | What structure does an [[index conversion function]] have and how should it be used for [[index]] conversions? | ||
==Definition== | ==Definition== | ||
Line 14: | Line 14: | ||
===Input format=== | ===Input format=== | ||
The data should contain the original data to be converted, the input index, the output index, and some kind of weighting scheme. If other information is needed, it is a disadvantage. | The data should contain the original data to be converted, the input index, the output index, and some kind of weighting scheme. If other information is needed, it is a disadvantage, because the conversion should be simple. | ||
===Output format=== | ===Output format=== | ||
The output is the original data indexed by the output index (and no longer by the input index). The output must be consistent with the original data. I.e., | The output is the original data indexed by the output index (and no longer by the input index). The output must be consistent with the original data. I.e., it must be possible to convert the result back to the original index by using the ICF in the opposite direction. | ||
===Rationale=== | ===Rationale=== | ||
The procedure is based on Si_pi and Pi_si functions in the [[:image:Composite traffic.ANA|version 1.0.1 of the composite traffic]] model. The idea is further developed here. | The idea of the procedure is based on Si_pi and Pi_si functions in the [[:image:Composite traffic.ANA|version 1.0.1 of the composite traffic]] model. The idea is further developed here. | ||
The values in the weight can be given as fractions of the total or in substantive units (e.g. surface area for spatial indices, population size for populations). | |||
==Result== | ==Result== | ||
===Procedure=== | |||
The function has the following parameters: | |||
* '''Data''': variable to be converted into another index. | |||
* '''In1''': index to be converted from. It must be an index of Data. | |||
* '''In2''': index to be converted to. This is an implicit parameter and is not needed in the function call. | |||
* '''Weight''': the weighting parameter. It must be indexed by both In1 and In2. | |||
* '''Marginal''': The Data variable may have boundaries along In1 wider than In2. In this case, marginal is the total of the Weight with the same boundaries along In1 as Data. If the boundaries of In1 and In2 are the same, marginal is equal to sum(Weight,In2). See the example in the figure. | |||
The actual function (in [[Analytica]] is as follows: | |||
<anacode> | |||
var a:= weight/marginal; | |||
sum(data*a,in1) | |||
</anacode> | |||
The indices In1 and In2 may have different boundaries. If this is the case, the result of the function covers only the intersection In1 ∩ In2. | |||
===Management=== | |||
The index conversion function can be applied in [[Analytica]] directly by using the [[:image:Open assessment functions.ANA|Open assessment functions.ANA]]. | |||
'''Spatial disaggregation module | |||
There is an [[Analytica]] [[:Image:Open assessment functions.ANA|Open assessment functions.ANA]] module available for index conversion. | |||
Note that in a [[:image:Composite traffic.ANA|previous version]], there were separate functions for aggregation (Pi_si) and disaggregation (Si_pi). ICF does both. | |||
In an Analytica model, the spatial disaggregation is operationalised as a single index. The index has one row for each sub-area. Sub-areas may be from any level of disaggregation, as long as the combination of subareas in the index are exclusive and mutually exhaustive. Note that some sub-areas may be spatial and some non-spatial. For example, in a European model, municipalities in Germany may be spatially defined, but in Finland municipalities may be categorised into three groups based on population size. In this example, the spatial index would contain one row for each German municipality and three rows for all municipalities in Finland. In addition, there would be a need for frequency information for each row of the spatial index. Each German row would have 1, and the rows for Finland would reflect the number of municipalities of different sizes, summing up to the total amount of municipalities in Finland. | |||
[[Image:Index conversion function example.PNG|thumb|400px]] | |||
'''Figure.''' An example of an index conversion. ''Population by country'' (Data) contains the population data expressed with the original index, ''Country'' (In1). ''Population weight'' (Weight) contains the weights for index conversion. Note that for France, the weights are fractions of the total population and sum to 1. In contrast, for Germany they are true population sizes, and they do not sum to the total population of Germany, because only a part of the country is covered by index ''Area1'' (In2). Even if the rationale is different for different rows of ''In1'' (i.e. countries in this case), the [[Index conversion function]] works correctly. The result does not contain information about England, Wales, and Spain, because they are outside the intersection of the boundaries of ''In1'' and ''In2''. | |||
==See also== | ==See also== | ||
* [[Using non-predetermined spatial disaggregation] | * [[Using non-predetermined spatial disaggregation]] | ||
* [[Merging models with different grids]] | * [[Merging models with different grids]] |
Latest revision as of 08:01, 24 November 2008
Moderator:Nobody (see all) Click here to sign up. |
|
Upload data
|
<section begin=glossary />
- Index conversion function (ICF) is a method describing how one index can be converted to another in a particular context. To this aim, a weight variable is needed. It is indexed by the two indices, and the values in cells represent the fraction of the total amount of substance (e.g., area, population) in the intersection determined by the two indices. For example, a country may be treated as a whole, or it may be divided into (i.e., indexed by) counties or municipalities. In this case, the three indices are "crisp" in the sense that a municipality belongs to exactly one county, and a county belongs to exactly one country. There can also be "overlapping" indices. For example, for a given population, a certain fraction of (not all) men or women belong to a particular age group. If the result domains of the two indices are not the same, the fraction of substance that goes beyond the second index must be specified.
<section end=glossary />
Scope
What structure does an index conversion function have and how should it be used for index conversions?
Definition
Input format
The data should contain the original data to be converted, the input index, the output index, and some kind of weighting scheme. If other information is needed, it is a disadvantage, because the conversion should be simple.
Output format
The output is the original data indexed by the output index (and no longer by the input index). The output must be consistent with the original data. I.e., it must be possible to convert the result back to the original index by using the ICF in the opposite direction.
Rationale
The idea of the procedure is based on Si_pi and Pi_si functions in the version 1.0.1 of the composite traffic model. The idea is further developed here.
The values in the weight can be given as fractions of the total or in substantive units (e.g. surface area for spatial indices, population size for populations).
Result
Procedure
The function has the following parameters:
- Data: variable to be converted into another index.
- In1: index to be converted from. It must be an index of Data.
- In2: index to be converted to. This is an implicit parameter and is not needed in the function call.
- Weight: the weighting parameter. It must be indexed by both In1 and In2.
- Marginal: The Data variable may have boundaries along In1 wider than In2. In this case, marginal is the total of the Weight with the same boundaries along In1 as Data. If the boundaries of In1 and In2 are the same, marginal is equal to sum(Weight,In2). See the example in the figure.
The actual function (in Analytica is as follows:
<anacode> var a:= weight/marginal; sum(data*a,in1) </anacode>
The indices In1 and In2 may have different boundaries. If this is the case, the result of the function covers only the intersection In1 ∩ In2.
Management
The index conversion function can be applied in Analytica directly by using the Open assessment functions.ANA.
Spatial disaggregation module
There is an Analytica Open assessment functions.ANA module available for index conversion.
Note that in a previous version, there were separate functions for aggregation (Pi_si) and disaggregation (Si_pi). ICF does both.
In an Analytica model, the spatial disaggregation is operationalised as a single index. The index has one row for each sub-area. Sub-areas may be from any level of disaggregation, as long as the combination of subareas in the index are exclusive and mutually exhaustive. Note that some sub-areas may be spatial and some non-spatial. For example, in a European model, municipalities in Germany may be spatially defined, but in Finland municipalities may be categorised into three groups based on population size. In this example, the spatial index would contain one row for each German municipality and three rows for all municipalities in Finland. In addition, there would be a need for frequency information for each row of the spatial index. Each German row would have 1, and the rows for Finland would reflect the number of municipalities of different sizes, summing up to the total amount of municipalities in Finland.
Figure. An example of an index conversion. Population by country (Data) contains the population data expressed with the original index, Country (In1). Population weight (Weight) contains the weights for index conversion. Note that for France, the weights are fractions of the total population and sum to 1. In contrast, for Germany they are true population sizes, and they do not sum to the total population of Germany, because only a part of the country is covered by index Area1 (In2). Even if the rationale is different for different rows of In1 (i.e. countries in this case), the Index conversion function works correctly. The result does not contain information about England, Wales, and Spain, because they are outside the intersection of the boundaries of In1 and In2.