giniCI: Computing Gini-based Composite Indicators

View source: R/giniCI.R

giniCIR Documentation

Computing Gini-based Composite Indicators

Description

Compute a composite index with weighting schemes based on the Gini coefficient of constituent indicators, with options for aggregation methods and horizontal variability adjustment.

Usage

giniCI(inds, method = c("equal", "gini", "reci"),
       agg = c("ari", "geo"), hv = TRUE, ci.pol = c("pos", "neg"),
       time = NULL, ref.time = NULL, only.ci = FALSE)

Arguments

inds

a matrix or data frame of indicators to be aggregated.

method

weighting method to be used. See 'Details'.

agg

aggregation function to be used, with "ari" denoting the weighted arithmetic mean and "geo" denoting the weighted geometric mean.

hv

a logical value indicating whether horizontal variability adjustment should be applied.

ci.pol

a character value indicating the polarity of composite index. Use "pos" if increasing values of the composite index correspond to positive variations of the phenomenon (e.g., socio-economic developments). Otherwise, use "neg" if increasing values of the composite index correspond to to negative variations of the phenomenon (e.g., vulnerability and poverty).

time

a vector of temporal factors for indicators. The length of time must equal the number of rows in inds. If NULL, the input indicators are treated as cross-sectional data.

ref.time

a value denoting the reference time for weighting. If provided, weights will be derived using only observations at the reference time.

only.ci

a logical value indicating whether only the composite index should be returned.

Details

The defaut method is "equal" that produces equal weights 1/n where n is the number of indicators. For methods "gini" (Gini-based weighting) and "reci" (reciprocal Gini-based weighting), weights are defined based on the Gini coefficient of indicators. Let G_i be the Gini coefficient of the i-th indicator, the weights by methods "gini" and "reci" are respectively computed as w^\mathrm{gini}_i = \frac{G_i}{\sum^n_{i = 1} G_i} and w^\mathrm{reci}_i = \frac{1 / G_i}{\sum^n_{i = 1} 1 / G_i}.

Temporal factors can be applied to methods "gini" and "reci". If either time or ref.time is NULL, the weighting process is run on all observations. If both time and ref.time are not NULL, only observations at the reference time are used for weight computation.

When aggregating the indicators, the aggregate score for the j-th unit is computed by applying the chosen aggregation function with the obtained weights to values in the j-th row. If hv = TRUE, horizontal variability adjustment is executed by introducing a penalty for units with unbalanced values among dimensions. The penalty for the j-th unit is defined as the the index of dispersion (variance-to-mean ratio) of values in the j-th row. If ci.pol = "pos", the penalties is subtracted from the aggregate scores to form the composite index. If ci.pol = "neg" the penalties is added to the aggregate scores to form the composite index.

Value

A list containing the following components:

ci

the composite index.

w

the weights assigned.

pen

the horizontal variability penalties (if hv = TRUE).

If only.ci = TRUE, the function will return only the composite index.

Note

Methods "gini" and "reci" require non-negative indicators for the calculation of Gini coefficients. In addition, option hv = TRUE cannot be used if any row contains negative values. Therefore, it may be necessary to use normalize to scale the indicators to non-negative ranges before computing the composite index.

A Gini coefficient of zero occurs when the indicators are constant or do not change over the reference time. If a zero Gini coefficient is obtained for for one or more indicators, method "gini" returns the corresponding weights as zero while method "reci" cannot be applied.

Author(s)

Viet Duong Nguyen, Chiara Gigliarano, Mariateresa Ciommi

References

Mazziotta, M. and Pareto, A. (2016). On a Generalized Non-compensatory Composite Index for Measuring Socio-economic Phenomena. Social Indicators Research, 127, 983–1003.

Ciommi, M., Gigliarano, C., Emili, A., Taralli, S., and Chelli, F. M. (2017). A new class of composite indicators for measuring well-being at the local level: An application to the Equitable and Sustainable Well-being (BES) of the Italian Provinces. Ecological Indicators, 76, 281–296.

See Also

normalize, rankComp.

Examples

data(bli)

# Indicator polarity
bli.pol = c("neg", "pos", "pos", "pos", "pos", "neg",
            "pos", "pos", "pos", "neg", "pos")

# Goalpost normalization without using time factors
bli.norm <- normalize(inds = bli[, 3:13], method = "goalpost",
                      ind.pol = bli.pol)

# Goalpost normalization using time factors and a reference time
bli.norm.2014 <- normalize(inds = bli[, 3:13], method = "goalpost",
                           ind.pol = bli.pol, time = bli$YEAR,
                           ref.time = 2014)

# Adjusted Mazziotta-Pareto index
bli.ampi <- giniCI(bli.norm, ci.pol = "pos")
bli.ampi$ci

# Gini-based weighted arithmetic mean with reference time
bli.gini <- giniCI(bli.norm.2014, method = "gini", ci.pol = "pos",
                   time = bli$YEAR, ref.time = 2014)
bli.gini$ci
bli.gini$w

# Reciprocal Gini-based weighted geometric mean with reference time
bli.reci <- giniCI(bli.norm.2014, method = "reci", agg = "geo",
                   ci.pol = "pos", time = bli$YEAR, ref.time = 2014)
bli.reci$ci
bli.reci$w


giniCI documentation built on April 3, 2025, 7:35 p.m.