Exemple avec R: formules d’index

Toutes les formules de l’indice-nombre présentées dans cette section sont simplement des moyennes pondérées et sont assez faciles à calculer dans R étant donné les informations sur les prix et certains poids.

# Apportez dans la bibliothèque gpindex
library(gpindex) # install.packages("gpindex")

# Faites des prix apparentés
relatives <- c(1.1, 1.2, 0.9, 1.1)

# Faites des poids
weights <- c (0.25, 0.3, 0.3, 0.15)

# Calculer les indices
c(Carli = arithmetic_mean(relatives),
  Jevons = geometric_mean(relatives),
  Arithmétique = arithmetic_mean(relatives, weights),
  Géométrique = geometric_mean(relatives, weights))
##        Carli       Jevons Arithmétique  Géométrique 
##     1.075000     1.069184     1.070000     1.063125

Le type d’indices arithmétiques et géométriques que cela calcule dépend entièrement de la façon dont les poids sont calculés. Habituellement, les pondérations proviennent des données sur les parts des dépenses / recettes, et la manière dont ces informations sont utilisées pour pondérer les prix relatifs affectera le type d’indice de prix calculé.

# Part des dépenses / recettes de la période de base
share0 <- c (0.25, 0.3, 0.3, 0.15)

# Part des dépenses / recettes de la période en cours
share1 <- c (0.2, 0.2, 0.4, 0.2)

# Calculer les indices
c(Laspeyres = arithmetic_mean(relatives, share0),
  Paasche = harmonic_mean(relatives, share1),
  Fisher = sqrt(arithmetic_mean(relatives, share0) * 
                  harmonic_mean(relatives, share1)),
  `Géométrique Laspeyres` = geometric_mean(relatives, share0),
  `Géométrique Paasche` = geometric_mean(relatives, share1),
  Tornqvist = geometric_mean(relatives, (share0 + share1) / 2))
##             Laspeyres               Paasche                Fisher 
##              1.070000              1.025907              1.047721 
## Géométrique Laspeyres   Géométrique Paasche             Tornqvist 
##              1.063125              1.032976              1.047942

Il est intéressant de noter que tout indice géométrique peut être transformé en indice arithmétique par un changement approprié de poids. Cela permet de déterminer facilement la contribution de chaque prix relatif à la valeur de l’indice.

# Tornqvist index
geometric_mean(relatives, (share0 + share1) / 2) 
## [1] 1.047942
# Changer les poids
new_weights <- transmute_weights(0, 1)(relatives, (share0 + share1) / 2)
arithmetic_mean(relatives, new_weights) # same as geometric mean
## [1] 1.047942
# Contribution de chaque relative
(relatives - 1) * new_weights
## [1]  0.02095439  0.04455317 -0.03600469  0.01629786