A partir de los datos del Banco de México de la inflación mensual en el periodo Enero 2020 a Marzo 2023 se realizará un análisis de cómo ha variado la inflación.
setToken("c15ab0ab6be47d4798a72cdc28e7055afb6a1f6acd2e761b327cb728885d1895")
idSeries <- c("Sp30578")
series <- getSeriesData(idSeries, '2020-01-01','2023-03-31')
series
## $SP30578
## $SP30578$date
## [1] "2020-01-01" "2020-02-01" "2020-03-01" "2020-04-01" "2020-05-01"
## [6] "2020-06-01" "2020-07-01" "2020-08-01" "2020-09-01" "2020-10-01"
## [11] "2020-11-01" "2020-12-01" "2021-01-01" "2021-02-01" "2021-03-01"
## [16] "2021-04-01" "2021-05-01" "2021-06-01" "2021-07-01" "2021-08-01"
## [21] "2021-09-01" "2021-10-01" "2021-11-01" "2021-12-01" "2022-01-01"
## [26] "2022-02-01" "2022-03-01" "2022-04-01" "2022-05-01" "2022-06-01"
## [31] "2022-07-01" "2022-08-01" "2022-09-01" "2022-10-01" "2022-11-01"
## [36] "2022-12-01" "2023-01-01" "2023-02-01" "2023-03-01"
##
## $SP30578$value
## [1] 3.24 3.70 3.25 2.15 2.84 3.33 3.62 4.05 4.01 4.09 3.33 3.15 3.54 3.76 4.67
## [16] 6.08 5.89 5.88 5.81 5.59 6.00 6.24 7.37 7.36 7.07 7.28 7.45 7.68 7.65 7.99
## [31] 8.15 8.70 8.70 8.41 7.80 7.82 7.91 7.62 6.85
inflacion <- series$SP30578$value
inflacion
## [1] 3.24 3.70 3.25 2.15 2.84 3.33 3.62 4.05 4.01 4.09 3.33 3.15 3.54 3.76 4.67
## [16] 6.08 5.89 5.88 5.81 5.59 6.00 6.24 7.37 7.36 7.07 7.28 7.45 7.68 7.65 7.99
## [31] 8.15 8.70 8.70 8.41 7.80 7.82 7.91 7.62 6.85
mediainflacion=mean(inflacion)
mediainflacion
## [1] 5.795641
Esto nos lleva a un valor de rango 5.795641
La mediana, la calculamos con la función median:
medianainflacion=median(inflacion)
medianainflacion
## [1] 6
Esto nos lleva a un valor de mediana 6.
La moda se calcula con la función mfv:
modainflacion=mfv(inflacion)
modainflacion
## [1] 3.33 8.70
El valor de la moda es 3.33, 8.7.
El mínimo se calcula con la función min:
minimoinflacion=min(inflacion)
minimoinflacion
## [1] 2.15
Esto nos lleva a un valor de mínimo 2.15.
El máximo se calcula con la función max:
maximoinflacion=max(inflacion)
maximoinflacion
## [1] 8.7
Esto nos lleva a un valor de máximo 8.7.
El rango se calcula con la operación de max-min:
rangoinflacion=maximoinflacion-minimoinflacion
rangoinflacion
## [1] 6.55
Esto nos lleva a un valor de rango 6.55.
minimoinflacion
## [1] 2.15
maximoinflacion
## [1] 8.7
rangoinflacion
## [1] 6.55
Se calcula el número de intérvalos utilizando la regla de Sturges para calcularlos se utiliza la fórmula
k=1+(log2(n))
n=length(inflacion)
k=ceiling(1+(log2(n)))
k
## [1] 7
Esto nos lleva a tener los siguientes 7 intervalos.
Se crea un histograma con los intervalos calculados.
hist(inflacion,breaks = k,main = "Histograma a partir de Regla de Sturges", xlab="Valores",ylab="Frecuencia")
### Amplitud de intervalos
Se calcula la amplitud de los intervalos (h), se divide el rango (r) entre el número de intervalos (k):
h=rangoinflacion/k
h
## [1] 0.9357143
La amplitud de los intervalos es 0.9357143.
Se definen los intervalos con la función seq.
intervalos=seq(minimoinflacion,maximoinflacion, by=h)
intervalos
## [1] 2.150000 3.085714 4.021429 4.957143 5.892857 6.828571 7.764286 8.700000
Se realiza una tabla de frecuencias con los valores de n distribuidos en los intervalos, se utiliza la función cut.
frecuenciasinflacion=cut(inflacion,breaks = intervalos, include.lowest = TRUE, right = FALSE)
frecuenciasinflacion
## [1] [3.09,4.02) [3.09,4.02) [3.09,4.02) [2.15,3.09) [2.15,3.09) [3.09,4.02)
## [7] [3.09,4.02) [4.02,4.96) [3.09,4.02) [4.02,4.96) [3.09,4.02) [3.09,4.02)
## [13] [3.09,4.02) [3.09,4.02) [4.02,4.96) [5.89,6.83) [4.96,5.89) [4.96,5.89)
## [19] [4.96,5.89) [4.96,5.89) [5.89,6.83) [5.89,6.83) [6.83,7.76) [6.83,7.76)
## [25] [6.83,7.76) [6.83,7.76) [6.83,7.76) [6.83,7.76) [6.83,7.76) [7.76,8.7]
## [31] [7.76,8.7] [7.76,8.7] [7.76,8.7] [7.76,8.7] [7.76,8.7] [7.76,8.7]
## [37] [7.76,8.7] [6.83,7.76) [6.83,7.76)
## 7 Levels: [2.15,3.09) [3.09,4.02) [4.02,4.96) [4.96,5.89) ... [7.76,8.7]
Se contabilizan las frecuencias por cada intervalo para ordenar los datos, se utiliza la función table.
Tablafrecuenciasinflacion=table(frecuenciasinflacion)
Tablafrecuenciasinflacion
## frecuenciasinflacion
## [2.15,3.09) [3.09,4.02) [4.02,4.96) [4.96,5.89) [5.89,6.83) [6.83,7.76)
## 2 10 3 4 3 9
## [7.76,8.7]
## 8
Se calcula la frecuencia acumulada para comprobar los datos n, se utiliza la función cumsum.
frecuenciaacumuladainflacion=cumsum(Tablafrecuenciasinflacion)
frecuenciaacumuladainflacion
## [2.15,3.09) [3.09,4.02) [4.02,4.96) [4.96,5.89) [5.89,6.83) [6.83,7.76)
## 2 12 15 19 22 31
## [7.76,8.7]
## 39
Se calculan las marcas de clase con la operación que se representa en la siguiente fórmula: c=(Li+Ls)/2
marcasclaseinflacion=(intervalos+(intervalos+h))/2
marcasclaseinflacion
## [1] 2.617857 3.553571 4.489286 5.425000 6.360714 7.296429 8.232143 9.167857
Se calculan los cuartiles de los intervalos.
intervalos <- seq(minimoinflacion, maximoinflacion, by=h)
limites_inferiores= intervalos[-length(intervalos)]
limites_superiores= intervalos[-1]
letras <-LETTERS[1:length(limites_inferiores)]
variable_categorica <- cut(inflacion, breaks = intervalos, right = FALSE, labels = letras)
for (i in 1:length(limites_inferiores)) {
nombre_inferior <- paste("limite_inferior", letras [i], sep = "_")
assign(nombre_inferior, limites_inferiores[i])
nombre_superior <- paste("limite_superior", letras [i], sep = "_")
assign(nombre_superior, limites_superiores[i])
}
limites_inferiores
## [1] 2.150000 3.085714 4.021429 4.957143 5.892857 6.828571 7.764286
limites_superiores
## [1] 3.085714 4.021429 4.957143 5.892857 6.828571 7.764286 8.700000
La posición de los cuartiles se obtiene con la fórmula Qk=k(n+1)/4
# Primer cuartil
n=40
k1=1
Q1=(k1*(n+1))/4
Q1
## [1] 10.25
# Segundo cuartil (mediana)
k2=2
Q2=(k2*(n+1))/4
Q2
## [1] 20.5
# Tercer cuartil
k3=3
Q3=(k3*(n+1))/4
Q3
## [1] 30.75
Se calcula el rango intercuartilico con la fórmula RI=Q3-Q1
rango_intercuartilico=Q3-Q1
rango_intercuartilico
## [1] 20.5
El rango intercuartilico es 20.5.
Se calcula la varianza con la función var.
varianza=var(inflacion)
varianza
## [1] 4.024025
La varianza de los datos es 4.0240252.
Se calcula la desviación estándar con la función sd
desviacionestandar=sd(inflacion)
desviacionestandar
## [1] 2.005997
La desviación estándar de los datos es 2.0059973.
Se calcula la media muestral con la función mean.
media1=mean(inflacion)
media1
## [1] 5.795641
La media muestral es 5.795641.
La desviación media absoluta se calcula con la función mad.
dmabs=mad(inflacion)
dmabs
## [1] 2.831766
La desviación media absoluta es 2.831766.
La asimetría se calcula con la función skewness.
asimetria=skewness(inflacion)
asimetria
## [1] -0.1930972
La asimetría es -0.1930972.
La medida de forma curtosis se calcula con la función kurtosis.
curtosis=kurtosis(inflacion)
curtosis
## [1] 1.558767
El valor de curtosis es 1.5587665.
Se calculan los grados de libertad con la fórmula gradoslibertad=n-1.
gradoslibertad=n-1
gradoslibertad
## [1] 39
Los grados de libertad son 39.
Para obtener el valor de Zi se utilizan las tablas de distribución normal
Zi=qnorm(0.99767)
Zi
## [1] 2.829643
El valor de Zi es 2.8296428.
proporcion <- sum(abs(inflacion - medianainflacion) <=2*desviacionestandar)/ length(inflacion)
kc=2
limite_inferior=1-(1/k^2)
if (proporcion >= limite_inferior) { print("El teorema de Chebyshev se cumple para kc=2")} else {print("El teorema de Chebyshev no se cumple para kc=2")
}
## [1] "El teorema de Chebyshev se cumple para kc=2"
plot(inflacion,type="l",col="orange",ylab="Inflación",xlab="Datos")
resumeninflacion=summary(inflacion)
resumeninflacion
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 2.150 3.730 6.000 5.796 7.635 8.700
resumen1 <- list(Media = mediainflacion, Mediana = medianainflacion, Moda = modainflacion, Varianza = varianza, DesviacionEstandar = desviacionestandar, DesviacionMediaAbsoluta = dmabs, Rango = rangoinflacion)
resumen1
## $Media
## [1] 5.795641
##
## $Mediana
## [1] 6
##
## $Moda
## [1] 3.33 8.70
##
## $Varianza
## [1] 4.024025
##
## $DesviacionEstandar
## [1] 2.005997
##
## $DesviacionMediaAbsoluta
## [1] 2.831766
##
## $Rango
## [1] 6.55
Media <- c(mediainflacion)
Mediana <- c(medianainflacion)
Moda <- c(modainflacion)
Varianza <- c(varianza)
DesviacionEstandar <- c(desviacionestandar)
DesviacionMediaAbsoluta <- c(dmabs)
Rango <- c(rangoinflacion)
misDatos <-data.frame(Media, Mediana, Moda, Varianza, DesviacionEstandar, DesviacionMediaAbsoluta, Rango)
misDatos
## Media Mediana Moda Varianza DesviacionEstandar DesviacionMediaAbsoluta
## 1 5.795641 6 3.33 4.024025 2.005997 2.831766
## 2 5.795641 6 8.70 4.024025 2.005997 2.831766
## Rango
## 1 6.55
## 2 6.55
stargazer(misDatos, type = "text")
##
## ====================================================
## Statistic N Mean St. Dev. Min Max
## ----------------------------------------------------
## Media 2 5.796 0.000 5.796 5.796
## Mediana 2 6.000 0.000 6 6
## Moda 2 6.015 3.797 3.330 8.700
## Varianza 2 4.024 0.000 4.024 4.024
## DesviacionEstandar 2 2.006 0.000 2.006 2.006
## DesviacionMediaAbsoluta 2 2.832 0.000 2.832 2.832
## Rango 2 6.550 0.000 6.550 6.550
## ----------------------------------------------------
La inflación es el crecimiento continuo de los precios de bienes y servicios existentes en una economía(Larroulet & Mochón, 1995), o también se refiere a la disminución del poder adquisitivo del dinero, los valores de la inflación están dados por los indicadores de la variación del Índice de Precios al Consumo (IPC) y el deflactor de Producto Interno Bruto (PIB) (Casani et al., 2009; González González et al., 2009), en este ensayo analizaremos la inflación en México desde enero del 2020 hasta marzo del 2023.
La tasa de inflación en enero del 2020 fue de 3.24 y la tasa de inflación actual es de 6.85, quiere decir que subió 3.61. en el periodo de análisis se observa un mínimo 2.15 (abril 2020) y un máximo de 8.7 (agosto-septiembre2022), el rango se encuentra en 5.79, la mediana es 6, la moda es de 3.33 y 8.7, una varianza de 4.02 y una desviación estándar de 2.0059.
En los últimos años en la base de datos del Banco de México se observa que la tasa de inflación aumenta y disminuye, sin embargo desde el 2020 se observa un aumento constante esto se debe a varias razones como lo son: los costes de los alimentos y energía después de la pandemia del Covid-19, la invasión de Rusia a Ucrania, cierre de fábricas, restricciones en puertos, congestión del transporte marítimo, escasez de contenedores y ausencia de trabajadores (Alvarez & Barrett, 2022; Markovitz, 2022), otras causas se deben a que las personas tienen más dinero para gastar, por lo tanto la demanda de los productos aumenta y la cantidad de bienes y servicios en el mercado es la misma.
En perspectiva, la tasa de inflación tenderá a disminuir, ya que los mercados se empiezan a estabilizar después de la crisis de la pandemia, además el Banco de México está apoyando aumentando las tasas de interés, estás ayudan a frenar la inflación, aunque afectan a los endeudados.
Referencias
Alvarez, J., & Barrett, P. (2022, April 28). La inflación se mantendrá elevada más tiempo por la guerra, la demanda y los mercados de trabajo. Fondo Monetario Internacional.
Casani, F., Llorente, A., & Pérez, E. (2009). Economía. Editorial Editex S.A.
González González, M. J., Pérez Zabaleta, A., Castejón Montijano, R., Méndez Pérez, E., Martínez Merino, J. L., Gómez Barroso, J. L., & Monchón Sáez, A. (2009). Introducción a la Economía.
Larroulet, C., & Mochón, F. (1995). Economia. McGraw Hill education.
Markovitz, G. (2022, May 18). ¿Por qué la inflación es tan alta y seguirá siéndolo? World Economic Forum.