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

O que é um Vector Database e como criar um com LangChain

Nesta postagem, mostramos como construir um pipeline simples de RAG (Retrieval-Augmented Generation) usando o LangChain, o modelo Gemini 2.0 Flash e o Vector Database Chroma. Utilizamos como exemplo o Relatório de Inflação de junho de 2025 do Banco Central do Brasil. O fluxo envolve o download e leitura do PDF, divisão do texto com RecursiveCharacterTextSplitter, geração de embeddings com Gemini, armazenamento vetorial com Chroma e busca semântica para responder perguntas com base no conteúdo do relatório. É uma aplicação prática e didática para economistas que desejam integrar IA ao seu fluxo de análise.

Automatizando a Construção de Códigos em Python com LangGraph

Neste post, mostramos como construir um agente de código em Python utilizando LangGraph, LangChain e Gemini. A proposta é construir um protótipo para automatizar o ciclo completo de geração, execução e correção de código com o uso de LLMs, organizando o processo em um grafo de estados.

Análise de Dados com REPL Tool e LLM usando LangGraph

Neste post, vamos mostrar como você pode criar um agente que interpreta e executa código Python em tempo real, utilizando o REPL-Tool e um LLM da família Gemini. Começamos com um exemplo genérico e, em seguida, aplicamos a mesma estrutura à análise econômica de uma série histórica do IPCA.

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.