Asignación U2A9: Caso de estudio: aplicaciones de la probabilidad a la problemática de la basura en México.

  • Importación de paquetes y datos
setwd("~/PyE 11 AM")
library(readr)
library(DT)
basura <- read_csv("basura.csv")
## Parsed with column specification:
## cols(
##   anio = col_double(),
##   basura = col_double(),
##   rellenos = col_double()
## )
datatable(basura)

Visuzalización de los datos

plot(basura$basura)

plot(basura$rellenos)

Viendo los cambios que se generan en la producción de basura en años específicos, conteste lo siguiente: ¿Que sucedio estos años que potencialmente pudiera haber causado este aumento? revisión literaria, noticias, entradas de blog

  • Coeficiente de correlación de pearson y matriz de diagramas de dispersión
cor(basura)
##               anio    basura  rellenos
## anio     1.0000000 0.9495559 0.9435149
## basura   0.9495559 1.0000000 0.9393043
## rellenos 0.9435149 0.9393043 1.0000000
pairs(basura)

¿De que manera podemos estimar la producción de basura utilizando la distribución normal?

Para poder utilizar la distribución de probabilidad normal, los datos tendrían que necesariamente ser normales

Análisis de distribución de frecuencia y prueba de normalidad

#Basura
sort(basura$basura)
##  [1] 29272.42 30509.61 30550.67 30733.26 30952.28 31488.48 31959.42 32173.61
##  [9] 32915.70 34604.00 35405.00 36135.00 36865.00 37595.00 38325.00 40058.75
## [17] 41062.50
summary(basura$basura)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   29272   30952   32916   34153   36865   41063
#Rellenos

sort(basura$rellenos)
##  [1]  30  31  46  64  66  68  70  71  89  90  95 104 114 128 137 186 196
summary(basura$rellenos)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   30.00   66.00   89.00   93.24  114.00  196.00
  • Tabla de distribución de frecuencias para basura
library(fdth)
## 
## Attaching package: 'fdth'
## The following objects are masked from 'package:stats':
## 
##     sd, var
dist <- fdt(basura$basura, breaks="Sturges")
dist
##           Class limits f   rf rf(%) cf  cf(%)
##  [28979.696,31061.934) 5 0.29 29.41  5  29.41
##  [31061.934,33144.172) 4 0.24 23.53  9  52.94
##   [33144.172,35226.41) 1 0.06  5.88 10  58.82
##   [35226.41,37308.649) 3 0.18 17.65 13  76.47
##  [37308.649,39390.887) 2 0.12 11.76 15  88.24
##  [39390.887,41473.125) 2 0.12 11.76 17 100.00
plot(dist,type="fh")

  • Medidas de dispersión para la basura
sd(basura$basura)
## [1] 3659.721

Estimación de probabilidades usando la distribución normal

  • Estimación de la probabilidad utilizando la función de densidad de probabilidad
pnorm(46000, mean=34153, sd=3659.721, lower.tail = TRUE)
## [1] 0.9993963

Asignación:

  • ¿Es la distribución normal la mejor manera de estimar probabilidad en estos conjuntos de datos observando lo anterior?
shapiro.test(basura$basura)
## 
##  Shapiro-Wilk normality test
## 
## data:  basura$basura
## W = 0.92441, p-value = 0.1753

El valor de p es mayor a 0.05, por lo tanto no es representativo y los datos no se comportan de manera nomal.

  • ¿Que tantos de estos residios no tienen control? es decir, no llegan a rellenos

Para esto utilce los siguientes datos: https://datos.gob.mx/busca/dataset/indicadores-clave--residuos

library(readr)
residuosc<- read_csv("residuos.csv")
## Parsed with column specification:
## cols(
##   anio = col_double(),
##   residuosSC = col_double()
## )
datatable(residuosc)

¿Que tantos residuos sin control se han ido generando desde 1997 hasta 2012?

-Suma acumulada

acumulados <- cumsum(residuosc$residuosSC)
acumulados
##  [1]  16655.12  29601.04  42887.49  55983.96  68125.89  80308.26  91263.06
##  [8] 102664.90 114008.90 125432.30 136403.60 147283.60 158008.60 168132.00
## [15] 177651.40 186331.01
plot(acumulados)

plot(residuosc$residuosSC)

Analice estos datos y estime la probabilidad de producción utilizando primero la distribución normal y posteriormente otra distribución que se ajuste mejor

El objetivo de esto es analizar los resultados que se tienen cuando se usa la distribución normal comparada con otros tipos de distribuciones de probabilidad.

Calculando probabilidad usando la distribución normal

¿Los datos son normales?

library(modeest)
## 
## Attaching package: 'modeest'
## The following object is masked from 'package:fdth':
## 
##     mfv
a <- (residuosc$residuosSC)
moda <- mfv(a)
moda 
##  [1]  8679.61  9519.40 10123.40 10725.00 10880.00 10954.80 10971.30 11344.00
##  [9] 11401.84 11423.40 12141.93 12182.37 12945.92 13096.47 13286.45 16655.12
hist(residuosc$residuosSC)

summary(residuosc$residuosSC)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    8680   10841   11373   11646   12373   16655
sd(residuosc$residuosSC)
## [1] 1831.542
shapiro.test(residuosc$residuosSC)#
## 
##  Shapiro-Wilk normality test
## 
## data:  residuosc$residuosSC
## W = 0.91562, p-value = 0.1434

Con el simple de hecho de observarse el histograma de distribuciones absolutas, es posible intuirse que la distribución de los datos no es normal, ya que la mayoría de los datos no se aglomeran alrededor de la media formando la característica apariencia de campana de dicha distribución. Además, para comprobarlo de una manera más clara, se utiliza una prueba de Shapiro-Wilks para medir la normalidad, demostrando por medio del valor de p (que para ser normal debe ser menor a 0.05) que la distribución de los datos es efectivamente no normal.

Distribución exponencial

Distribución normal

Usando la distribución normal para calcular probabilidad usando PDF, lo cuál se hace para comparar los resultados obtenidos con ambas distribuciones.

max(residuosc$VOLUMEN_DEPUESTO_SIN_CONTROL)
## Warning: Unknown or uninitialised column: `VOLUMEN_DEPUESTO_SIN_CONTROL`.
## Warning in max(residuosc$VOLUMEN_DEPUESTO_SIN_CONTROL): ningun argumento finito
## para max; retornando -Inf
## [1] -Inf
pnorm(18000, mean=11646, sd=1831.542, lower.tail = TRUE)
## [1] 0.999739

¿Estos resultados son óptimos?

No, ya que como se menciona más arriba, los datos no se comportan de manera normal, sino que siguen otro tipo de distribución.

¿Que distribuciones existen?

Distribución Alias Distribución binomial binom Distribución de Poisson pois Distribución normal norm Distribución exponencial exp Distribución t de Student t Distribución \(\chi^2\) chisq Distribución F f

¿Que prefijos se usan en estas distribuciones para hacer cálculos?

$$ \[\begin{array}{l|l|l|c} \text{Función} & \text{Significado} & \text{Uso}& \text{Observación}\\ \hline p & \text{probability} & \text{Calcula probabilidades acumuladas (cdf)} & \text{---}\\ q & \text{quantile} & \text{Calcula cuantiles (percentiles)} & \text{---}\\ d & \text{density} & \text{Calcula probabilidades puntuales} & \text{Sólo uso gráfico en el caso continuo}\\ r & \text{random} & \text{Genera datos aleatorios según una distribución específica} & \text{---}\\ \hline \end{array}\]

$$ ¿Qué se ajusta mejor?

  • Primero veamos la distribución exponencial ¿Por qué consideramos que la distribución exponencial será útil para predecir la generación de basura? - Dado que la generación de basura responde al incremento poblacional, y este a su vez SI se comporta de manera exponencial.

Para saber más acerca del comportamiento poblacional exponencial véase el siguiente documento: http://lya.fciencias.unam.mx/gfgf/ode/ode_files/result5b.pdf

  • Problema acerca de la distribución exponencial

Suponga que el tiempo medio de atención en la caja de un supermercado es de 3 minutos. Encuentre la probabilidad de que un cliente al azar sea atendido en menos de 2 minutos.

Para solucionar este problema debemos considerar que R asume la siguiente forma de la distribución exponencial:

$ f(x)=e^{-x},; x0,;>0 $

Luego, con λ=3 tenemos que:

pexp(2, rate=3)
## [1] 0.9975212

¿Cuál sería la probabilidad de demorar entre 5 y 6 minutos? P(X<=6)-P(X<=5)

pexp(6, rate=3) - pexp(5,rate=3)
## [1] 2.906723e-07

¿Cual es la curva función de densidad de esta probabilidad exponencial?

curve(dexp(x, rate=3), xlim=c(0,10), xlab="valores de x", y= "Densidad de probabilidad")

Ahora que conocemos esta premisa, responda lo siguiente:

¿Que probabilidad hay de que la generación de basura se genere al doble?

doble <- 2*186331.01
pexp(doble, rate = 11373)
## [1] 1
doble <- 2*186331.01
pexp(18000, rate = 11373)
## [1] 1

Lo anterior es indicativo, que las probabilidades de que los residuos sin cintrol se dupliquen o alcancen las 18 mil toneladas, son de 1, que para este caso, puede entenderse como el que es completamente seguro que alcancen dichos niveles. Esto es malo, debido a lo que representa para la sociedad el tener el doble de basura sin un control adecuado, ya que puede no solo contaminar el ambiente de manera catastrófica, sino también el aspecto visual del lugar en el que esos residuos son depositados, pudiendo así tener un impacto mayor en otras áreas como el turismo o la economía local. Todo eso sin mencionar además, los riesgos para la salud de la población.

  • Modelo representativo
curve(dexp(x, rate= 11373), xlim=c(0,.001), xlab="valores de x", y= "Densidad de probabilidad")