sábado, 21 de septiembre de 2013

Homicidios intencionales. Imputación de datos faltantes

Tasas de homicidio a nivel mundial con énfasis en las tasas de Venezuela, 1995-2011. Parte II

Tasas de homicidio a nivel mundial con énfasis en las tasas de Venezuela, 1995-2011. Parte II

Queremos analizar la data sobre homicidios intencionales en el mundo para intentar responder las siguientes preguntas:

  • ¿Venezuela es el país más violento del mundo? Si no lo es,
  • ¿Está entre los países más violentos del mundo?
  • ¿Cómo podríamos clasificar los países tomando como referencias tasas de homicidios intencionales?
  • ¿Qué tan parecidos o diferentes son los paises según la tasa de homicidios reportadas?

Hemos comenzado por un diagnóstico de los datos faltantes. Una información necesaria para estar en capacidad de determinar hasta qué punto, con esta data podriamos responder las preguntas anteriores. Y hemos comprobado que la data presenta una proporción bastante elevada de datos faltantes que dificulta, por ejemplo, llegar a conclusiones sólidas si se compara el nivel de violencia -partimos del supuesto de que la tasa de homicidio intencional es un indicador proxy del grado de violencia en una sociedad dada- por regiones y subregiones. En este post completaremos este análisis observando con mayor detenimiento el comportamiento de los datos faltantes años a año.

Data

Tal como indicamos en la primera parte de este análisis, la data sobre homicidios intencionales recopilada por Oficina de las Naciones Unidas Contra la Droga y el Delito contiene una gran cantidad de datos pérdido. Las regiones con mayor cantidad de datos pérdidos son Africa y Oceanía. En la siguiente matriz, los datos faltantes se resaltan en color rojo:

matrixplot(homicidios)

plot of chunk unnamed-chunk-1

Separemos entonces la data para:

  • obtener los países con data completa
  • obtener los paises con data incompleta y dentro de estos
  • extraer los casos completos en cada años
  • Descartar los casos incompletos cada año
  • analizar las tasas de homicidios en los países con data completa y comparar esas observaciones con las tasas en Venezuela
  • analizar las tasas año año tomando los casos con información completa cada año

Primero vamos a obtener la data correspondiente a Venezuela, la exploramos, imputamos el valor faltante para 2011 y luego obtenemos los dos tipos de muestras, la completa y la que contiene datos faltantes. Seleccionemos los datos correspondientes a Venezuela

venezuela <- homicidios[which(homicidios$pais == "venezuela"), ]
# información básica sobre la data
venezuela[, 1:5]
##      region     subregion      pais tipo  fuente
## 99 americas south america venezuela   cj ngo (c)

Venezuela está clasificado como el país número 99, en la región denominada americas, la subgerion sur america el tipo de fuente corresponde a lo que la Oficina clasificaca como criminal justice y la fuente es The Venezuelan Program of Action and Education in Human Rights (PROVEA)

Veamos la distribución de la tasas de homicidios intencionales disponibles para Venezuela:

barplot(as.matrix(venezuela[, 7:22]), names.arg = c("1995", "1996", "1997", 
    "1998", "1999", "2000", "2001", "2002", "2003", "2004", "2005", "2006", 
    "2007", "2008", "2009", "2010"), ylim = c(0, 60), las = 2, border = "white")
grid(nx = "", ny = 6, col = "white")

plot of chunk faltanteAnuales

Venezuela solo presenta como faltante la data correspondiente al año 2011. Vamos a imputar. Algunas personas emplean la media. Esta práctica, sin embargo, presentar serios inconvenientes. Por otra parte, R cuenta con un paquete para imputar valores a series de tiempo. El paquete longitudinalData. Emplearemos este paquete para comparar qué tanto difiere la imputación del valor de la tasa para el año 2011 usando la media, o empleando uno de los métodos del paquete longitudinalData:

# usando la media de los casos
rowMeans(venezuela[, 7:22])
##    99 
## 35.36
require(longitudinalData)
imputation(as.matrix(venezuela[, 7:23], "crossMean"))
##    A1995 A1996 A1997 A1998 A1999 A2000 A2001 A2002 A2003 A2004 A2005 A2006
## 99 20.34 22.05  18.4 19.42 24.99 32.95 32.08 38.05 44.07  37.1 37.37 45.18
##    A2007 A2008 A2009 A2010 A2011
## 99 47.68    52 49.04 45.13 45.13

Si usamos la media posiblemente subvaloramos las tasas de homicidios para 2011,35.35, colocándola muy por debajo de la tendencia en los últimos años, y por tanto, generando una impresión bastante errada. La tasa generada empleando el paquete longituinalData, 45.13, conserva la tendencia presente en la serie por lo que representa un valor mucho más plausible:

matplot(t(imputation(as.matrix(venezuela[, 7:23], method = "crossMean"))), ylab = "metodo= crossMean", 
    xlab = "periodos", ylim = c(0, 60))
grid(nx = 3, ny = 2)

plot of chunk graficoMatPlot

Agregamos el valor obtenido a la data

# valor actual
homicidios$A2011[99]
## [1] NA
# imputamos
homicidios$A2011[99] <- 43.13
# valor agregado para la tasa de homicidio de 2011
homicidios$A2011[99]
## [1] 43.13

Procedemos a extraer las submuestras necesarias para nuestros análisis. Observamos que 56 países tienen datos completos: 2 africanos, 14 en las américa, 8 en aasia, 30 en europa y 2 en oceania:

Homicidios intencionales. Casos completos
region subregion pais
africa eastern africa mauritius
africa southern africa south africa
americas caribbean dominican republic
americas caribbean jamaica
americas caribbean saint vincent and the grenadines
americas central america costa rica
americas central america el salvador
americas central america guatemala
americas central america mexico
americas central america nicaragua
americas central america panama
americas northern america canada
americas northern america united states of america
americas south america colombia
americas south america guyana
americas south america venezuela
asia central asia kazakhstan
asia central asia kyrgyzstan
asia eastern asia japan
asia south-eastern asia singapore
asia south-eastern asia thailand
asia southern asia india
asia western asia georgia
asia western asia israel
europe eastern europe bulgaria
europe eastern europe czech republic
europe eastern europe hungary
europe eastern europe poland
europe eastern europe republic of moldova
europe eastern europe romania
europe eastern europe slovakia
europe northern europe denmark
europe northern europe estonia
europe northern europe finland
europe northern europe iceland
europe northern europe ireland
europe northern europe lithuania
europe northern europe norway
europe northern europe sweden
europe northern europe u.k.england and wales
europe northern europe u.k.northern ireland
europe northern europe u.k.scotland
europe southern europe albania
europe southern europe croatia
europe southern europe greece
europe southern europe italy
europe southern europe slovenia
europe southern europe spain
europe western europe austria
europe western europe france
europe western europe germany
europe western europe liechtenstein
europe western europe luxembourg
europe western europe switzerland
oceania australia and new zealand australia
oceania australia and new zealand new zealand

No hay comentarios: