Giter VIP home page Giter VIP logo

modelo_preditivo_onsv's Introduction

Modelo Preditivo de Mortes Viárias Anuais

Objetivo

Este projeto é um estudo baseado em dados viários para previsão de mortes relacionadas à segurança viária e veicular no Brasil com o intuito de avaliar diferentes abordagens e técnicas para criação de um modelo de melhor ajuste que expresse a quantidade futura de vítimas da sinistralidade no trânsito, a fim de gerar um relatório técnico para o Observatório Nacional de Segurança Viária (ONSV).

Método

Os estudo contempla técnicas de modelagem de análise de regressão e análise de séries temporais, cultivando diferentes modelos e os testando para avaliar a qualidade de das previsões, as taxas de acertos, a influência das variáveis consideradas e a capacidade de cada tipo de método em expressar o fenômeno real dos óbitos em trânsito, utilizando frameworks como tidymodels e forecast.

Estrutura dos Arquivos

  • report/ contém relatórios em Quarto Markdown sobre o processo de criação do projeto
  • data-raw/ possui dados brutos e scripts de extração deles
  • data/ possui os dados tratados utilizados no modelo durante o projeto e disponibilizados para reuso
  • R/ possui os scripts de modelos

Principais resultados

O conteúdo do artigo pode ser lido no site oficial do ONSV.

modelo_preditivo_onsv's People

Contributors

jotasaraiva avatar pabsantos avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

pabsantos onsv

modelo_preditivo_onsv's Issues

Ajustar a organização do projeto

Os arquivos estão meio fora do lugar padrão:

  • Não é necessário salvar um .rda com os resultados das metricas. Esse tipo de arquivo serve pra salvar os dados de entrada e/ou saída, e não resultados.
  • Tirar os scripts .R do report/
  • Nomear os arquivos .qmd iniciando com um número que represente a ordem deles: 01_tratamento_dados.qmd, etc.
  • Qual a diferença entre os scripts auto_p_value.R e auto_p_value2.R ? Caso um seja uma "segunda versão", não crie um script novo. O git serve justamente para controlar a versão do arquivo.
  • Mudar o nome do scripts.R para algo que represente o que esse script faz.

Organizar os scripts

Depois de encerrar o passo de processamento das nossas variáveis, temos que ajustar as funções em scripts .R e depois inserir tudo em uma pasta R/, para manter a organização.

Ajustar CSS

  • Mudar header da tabela para fundo azul com texto branco
  • Mudar texto do corpo da tabela para cor padrão

Correção

  • Trocar PNATRANS de slide
  • Tirar "diferentes modelos"
  • Em correlação, colocar colinearidade
  • Trocar "média móvel" por análise temporal

Considerações

Explicar a saída das variáveis do modelo:

  • PIB
  • População
  • Quantidade de mortes
  • Quantidade de feridos

Organizar dados de entrada

  • Organizar os dados de entrada de acordo com o padrão de projetos do R, inserindo tudo que for input na pasta data/.
  • Remover subdiretórios desnecessários.
  • Automatizar a importação das bases

Escrever README

Fazer um README explicando o conteúdo do repositório.

  • Objetivo
  • Método
  • Estrutura dos arquivos
  • Principais resultados

Desenvolver um modelo com outras variáveis

Observando o resultado das métricas de performance, acho que vale a pena usar todas as variáveis com p-valor < 0.05:

variavel rmse mae rsq pvalor
qnt_mortos 865.8512 706.6311 0.9579798 0.0000000
qnt_acidentes_fatais 913.1796 817.6820 0.9532605 0.0000000
qnt_acidentes 1354.6265 1074.8836 0.8971486 0.0000001
qnt_feridos 1427.6276 1195.6978 0.8857645 0.0000002
condutores 1680.8810 1259.2298 0.8725690 0.0000257
quilometragem_10_bilhoes 3717.3388 3147.0193 0.3778462 0.0334246
populacao 4172.5730 3459.6890 0.1385570 0.0668977
ano 4172.3833 3468.5688 0.1052341 0.1059146
motocicleta 4316.4195 3582.9926 0.0453158 0.3415265
veiculos_total 4356.4911 3596.8765 0.0275079 0.4607260
pib 4366.6385 3605.1779 0.0229722 0.5007461
automovel 4371.8499 3605.2500 0.0206387 0.5235889

Elaborar relatório

  • Referenciar base teórica
  • Adicionar figuras e referenciar
  • Rever introdução
  • Consertar gráficos
  • Mudar PIB anual de IBGE para Bacen
  • Calcular p-valores do correlograma (pacote Hmisc)
  • Explicar dados melhor

Testar ANN

Futuramente testar modelos de redes neurais:

  • Multi-Layer Perceptron
  • Long Short Term Memory

Modelos

Modelos a testar para modelo mensal/estadual:

  • Regressão Linear
  • Random Forest
  • ARIMA
  • Exponential Smoothing
  • #47

Condutores

  • Determinar quantidade de novos condutores por ano
  • Testar modelo com população novamente

Ajustar valor do PIB

O PIB importado está errado. Cada valor da planilha é o PIB absoluto daquele trimestre, e não acumulado. Para extraír o valor anual é necessário somar os quatro trimestres de um ano

Diferença nos dados de frota mensal e anual

Os dados da frota brasileira, quando calculados para a metodologia mensal e anual, resultam em valores finais divergentes:

  • Possivelmente ao fato das estimativas anuais serem feitas a partir de um mês apenas (Julho no caso do modelo anual)
  • Isso possivelmente causará uma alteração no modelo anual
  • Modelo deverá ser treinado e testado novamente

Consertar `R/join.R`

Script não será mais compatível quando o modelo for atualizado a nível mensal

Notas

Issue para destacar algumas observações importantes sobre o modelo:

  • Atualmente, o dado utilizado para condutores em 2023 é de novembro e não dezembro pela falta do mesmo
  • O modelo Random Forest sempre terá um desempenho ligeiramente diferente a cada execução devido à aleatoriedade das árvores (mesmo com set.seet())
  • No script datasus.R as mortes foram parseadas de uma forma onde algumas mortes foram perdidas, a correção pode fazer o modelo ter um resultado diferente

Reatividade

Fazer relatório ser reativo ao tamanho da tela, pois gráficos quebram em telas de celular

Correções no relatório

Revisão de código e aplicar correções de correcoes_15_relatorio.md

1 Introdução

  • Modificar as referencias do Global status report 2018 da WHO para a versão mais recente de 2023 (global status report on road safety 2023).

  • Na frase "sendo a oitava causa de óbitos em todas as faixas etárias e a principal entre indivíduos de 5 a 29 anos [@worldhealthorganization2018]" verificar se isso ainda é válido no relatório de 2023.

  • O Pnatrans foi atualizado através da resolução contran 1004. Atualizar a descrição feita na frase "se apoia em seis principais pilares: gestão da segurança no trânsito, vias seguras, segurança veicular, educação para o trânsito, atendimento às vítimas, e normalização e fiscalização" e descrever as atualizações feitas pela resolução 1004.

  • Criar uma seção ao fim do capítulo 1 explicando que o código fonte do trabalho pode ser acessado no repositório do github do observatório.

Resultados dos modelos

  • Ficou faltando inserir os parâmetros de cada variável independente (coeficiente estimado, p-valor, etc.)

  • Nos casos de treino e teste, explicar como foi feito o processo (qual foi a divisão, quantas vezes o processo de regressão foi aplicado no cross-validation, etc.)

  • No item 3.5, os gráficos anuais considerando as taxas vão até 2021. Aumentar a escala dos anos até 2023.

Geral

  • Mudar o estilo de citação para o estilo ABNT: pesquisar na documentação do Quarto

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.