Um modelo univariado para Homicídios por Intervenção Policial no RJ

Ontem, o Jornal Nacional apresentou uma matéria sobre o número recorde de homicídios por intervenção policial no Rio de Janeiro nesse ano, dando como causa a nova política de segurança pública do governador Wilson Witzel. Fiquei curioso e fui dar uma olhada na ótima base de dados do Instituto de Segurança Pública (ISP). Peguei o arquivo Séries históricas do estado por mês desde 1991 (números absolutos) e importei para o R com o código abaixo, já carregando os pacotes que iria utilizar na análise.


library(readr)
library(forecast)
library(ggplot2)
library(TStools)
library(scales)

data = read_csv2('DOMensalEstadoDesde1991.csv')

 

Os dados de homicídios por intervenção policial estão disponíveis desde janeiro de 1998, apenas. Com isso, fazemos uma amostra dos nossos dados com o código a seguir.


data = ts(data, start=c(1991,01), freq=12)
hip = window(data[,6], start=c(1998,01))

E um gráfico rápido para visualizar os nossos dados.


df = data.frame(time=as.Date(time(hip)),
hip=hip, cmav=cmav(hip,12))

ggplot(df, aes(x=time))+
geom_line(aes(y=hip, colour='HIP'))+
geom_line(aes(y=cmav, colour='Média Móvel'), size=.8)+
scale_colour_manual('',
values=c('HIP'='black',
'Média Móvel'='red'))+
theme(legend.position = c(.15,.8))+
theme(axis.text.x = element_text(angle=45, hjust=1))+
scale_x_date(breaks = date_breaks("1 year"),
labels = date_format("%Y"))+
labs(x='', y='quantidade de pessoas',
title='Homícidios por intervenção policial no Rio de Janeiro',
caption='Fonte: analisemacro.com.br com dados do ISP/RJ')

Observe que acrescentei uma média móvel de 12 meses nos dados, de modo a suavizar a série. O que se observa é de fato um aumento preocupante na série desde ao menos 2013. Ou seja, o aumento é bem anterior à gestão do atual governador. A matéria do JN está, portanto, equivocada ao apontar como causa a nova política de segurança.

Como não sou especialista no assunto, não posso opinar sobre as causas para esse aumento. Minha função aqui é apenas ilustrar como tratar os dados. Isso dito, resolvi fazer uma projeção usando um modelo univariado simples, isto é, um modelo ARIMA, usando o pacote forecast. O gráfico abaixo ilustra o ajuste do modelo.

E abaixo um gráfico com a projeção para os próximos 12 meses.

O código completo do exercício estará disponível na Edição 66 do Clube do Código.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Regimes da Política Monetária Brasileira com Markov Switching no Python

Este exercício analisa a política monetária brasileira utilizando modelos de Markov Switching Regression. O objetivo é identificar diferentes regimes de política monetária e como eles influenciam a taxa Selic, a meta de inflação e o hiato do produto. Usamos a linguagem de programação Python para o processo de coleta, tratamento, análise e modelagem dos dados.

Como criar janelas móveis de séries temporais usando o Python

Janelas Móveis/Deslizantes, ou Rolling Windows, são termos frequentes na análise de séries temporais. Mas o que são e como aplicá-las no Python? Neste tutorial, mostramos como essa ferramenta é essencial para a análise de dados utilizando como exemplo a correlação móvel de ações brasileiras.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.