• Nenhum resultado encontrado

Implementação de técnicas de preparação de dados em índices pluviométricos do Rio Grande do Norte

N/A
N/A
Protected

Academic year: 2021

Share "Implementação de técnicas de preparação de dados em índices pluviométricos do Rio Grande do Norte"

Copied!
56
0
0

Texto

(1)

Jan Marans Agnella Justi

Implementação de Técnicas de Preparação

de Dados em Índices Pluviométricos do Rio

Grande do Norte

Natal – RN

Junho de 2019

(2)

Jan Marans Agnella Justi

Implementação de Técnicas de Preparação de Dados

em Índices Pluviométricos do Rio Grande do Norte

Trabalho de Conclusão de Curso de Engenha-ria de Computação da Universidade Federal do Rio Grande do Norte, apresentado como requisito parcial para a obtenção do grau de Bacharel em Engenharia de Computação Orientador: Luiz Affonso Henderson Guedes de Oliveira

Universidade Federal do Rio Grande do Norte – UFRN Departamento de Engenharia de Computação e Automação – DCA

Curso de Engenharia de Computação

Natal – RN

Junho de 2019

(3)

Universidade Federal do Rio Grande do Norte – UFRN Sistema de Bibliotecas – SISBI

Catalogação da Publicação na Fonte - Biblioteca Central Zila Mamede Justi, Jan Marans Agnella.

Implementação de técnicas de preparação de dados em índices pluviométricos do Rio Grande do Norte / Jan Marans Agnella Justi. - 2020.

55 f. : il.

Monografia (graduação) - Universidade Federal do Rio Grande do Norte, Centro de Tecnologia, Curso de Engenharia de Computação, Natal, RN, 2019.

Orientador: Prof. Dr. Luiz Affonso Henderson Guedes de Oliveira. 1. Preparação de dados – Monografia. 2. Ciência de dados - Monografia. 3. Pluviometria - Monografia. 4. Índice pluviométrico - Monografia. I. Oliveira, Luiz Affonso Henderson Guedes de. II. Título. RN/UFRN/BCZM CDU 555.1577.21(813.2)

(4)

Jan Marans Agnella Justi

Implementação de Técnicas de Preparação de Dados

em Índices Pluviométricos do Rio Grande do Norte

Trabalho de Conclusão de Curso de Engenha-ria de Computação da Universidade Federal do Rio Grande do Norte, apresentado como requisito parcial para a obtenção do grau de Bacharel em Engenharia de Computação Orientador: Luiz Affonso Henderson Guedes de Oliveira

Trabalho aprovado. Natal – RN, 19 de Junho de 2019.

Prof. Dr. Luiz Affonso Henderson Guedes de Oliveira - Orientador

UFRN

Prof. Dr. Gustavo Bezerra Paz Leitão

UFRN

MSc. Juliano Rafael Sena de Araújo

UFRN

Natal – RN

Junho de 2019

(5)
(6)

AGRADECIMENTOS

Ao meu orientador Prof. Dr. Luiz Affonso Henderson Guedes de Oliveira pela atenção ao longo do desenvolvimento deste trabalho.

A minha família e especialmente aos meus pais, por terem me provido educação, bons valores, saúde e amor sempre no melhor nível possível.

Ao meu amor e automaticamente melhor pessoa, Mariana, por toda a atenção, dedicação e paciência. Você é a melhor companheira que eu poderia pedir, e eu sei que posso contar com você para tudo.

Aos meus amigos da UFRN Anderson, Bessa, Cassiano, Flávio, Fróes, João, Leo-nardo, Oman, Ravi, Severino, Signoretti e Valquíria, muito obrigado pela eterna paciência. A todos que estiveram presentes no CsF comigo, especialmente do J1.1, não tenho como agradecer o suficiente pela oportunidade. Obrigado por me aturarem.

Aos meus amigos Lucas, Matheus, Renio, Vinícius, Vitor e Weslley, mesmo que distantes, me suportaram e escutaram (quase) todos os dias. Salve RFAR.

A todos os demais que influenciaram a minha vida pessoal e acadêmica ao longo desta jornada, muito obrigado.

(7)

RESUMO

As informações geradas através da pluviometria aplicada possuem crescente importância no âmbito científico, educacional e comercial, principalmente por auxiliar o desenvolvimento de sistemas com otimização de aproveitamento em recursos hídricos. Entretanto, as redes pluviométricas são usualmente precárias e de baixa densidade, consequentemente gerando medições pluviométricas historicamente inconsistentes e com qualidade inferior ao necessá-rio para aplicações futuras. Para tanto, a execução de técnicas de preparação de índices pluviométricos torna-se necessária para permitir o uso posterior das medições históricas de chuva. As referidas técnicas são concebidas através do estudo da ciência de dados e, especificamente, baseadas nos conceitos de preparação de dados. O presente trabalho consiste em uma análise aprofundada da problemática previamente descrita, propondo tópicos genéricos focados no tratamento de medições de chuva. Posteriormente, detalha-se quanto à filtragem inicial de arquivos crus provenientes de duas fontes distintas de dados pluviométricos, juntamente com a descrição do funcionamento de scripts desenvolvidos em Python, os quais são responsáveis por preparar dados pluviométricos originados de procedências diferentes e unificá-los de forma filtrada e organizada.

Palavras-chaves: Preparação de Dados; Ciência de Dados; Pluviometria; Índice Pluvio-métrico.

(8)

ABSTRACT

The information generated through applied rainfall measurement has an increasing im-portance in the scientific, educational and commercial spheres, mainly for helping to develop optimized systems to improve water resources usage. However, rain gauge networks are frequently poor and inadequately distributed, consequently generating historically inconsistent rainfall measurements, obtaining inferior quality than necessary for future applications. Therefore, the execution of rainfall data preparation techniques is necessary to allow later use of historical rainfall measurements. These techniques are designed through the study of data science and, specifically, based on concepts of data preparation. The present work consists of an in-depth analysis of the problem previously described, proposing generic topics focused on processing rainfall data. Subsequently, the initial filtering of raw files from two different sources of rainfall data is detailed, along with a description of Python-developed scripts, which are responsible for preparing rainfall data from different sources and unifying them in filtered and organized form.

(9)

LISTA DE ILUSTRAÇÕES

Figura 1 – Tipos de instrumentos meteorológicos medidores de chuva. . . 15

Figura 2 – Fluxograma exemplificando o funcionamento da Ciência de Dados . . . 18

Figura 3 – Amostra dos primeiros registros do arquivo pluvio rn.txt. . . . 23

Figura 4 – Amostra parcial dos primeiros registros do arquivo pluvio rn tab.txt. . . 24

Figura 5 – Amostra dos primeiros registros do arquivo plumovim.dbf. . . . 24

Figura 6 – Amostra parcial dos primeiros registros do arquivo PLUPOSTO.DBF. . 25

Figura 7 – Amostra dos primeiros registros do arquivo CHUVAS.DBF. . . . 25

Figura 8 – Amostra dos primeiros registros do arquivo PLUMICRO.DBF. . . . 26

Figura 9 – Amostra dos primeiros registros do arquivo PLUMUNIC.DBF. . . . 26

Figura 10 – Registros do arquivo PLUFONTE.DBF. . . . 27

Figura 11 – Amostra parcial dos registros do arquivo PLUNORMA.DBF. . . . 27

Figura 12 – Ajuste de formatação do arquivo pluvio rn tab.txt. . . . 28

Figura 13 – Posicionamento do Rio Grande do Norte no mapa-mundi. . . 30

Figura 14 – Postos listados virtualmente fora do Rio Grande do Norte. . . 38

Figura 15 – Localização dos postos filtrados pela validação de coordenadas. . . 38

Figura 16 – Amostras aleatórias de ocorrências dos datasets pós-unificação. . . . 40

Figura 17 – Distribuição acumulada do CPM ao longo dos dados recém-reduzidos. . 41

Figura 18 – Disponibilidade dos dados via CPT e quantidade de dados. . . 43

Figura 19 – Amostras aleatórias de ocorrências dos datasets exportados. . . . 44

Figura 20 – Representação visual do método IDW (P-0171, Novembro de 2009). . . 45

Figura 21 – Representação visual do método IDW (Junho de 1945). . . 46

Figura 22 – Representação visual do método IDW (Maio de 1978). . . 47

Figura 23 – Representação visual do método IDW (Maio e Junho de 2001). . . 48

Figura 24 – Progressão da média acumulada de RMSE e CCP. . . 48

Figura 25 – Localização dos municípios do Rio Grande do Norte e seus centroides. . 49

Figura 26 – Representação visual dos valores interpolados para municípios. . . 51

(10)

LISTA DE TABELAS

Tabela 1 – Bibliotecas utilizadas no desenvolvimento do estudo. . . 22

Tabela 2 – Distribuição inicial dos dados crus disponíveis. . . 23

Tabela 3 – Desempenho do script de conversão. . . . 29

Tabela 4 – Interpretação do valor resultante de CCP. . . 36

Tabela 5 – Progresso das dimensões dos datasets com o módulo init_treat.py . . . 37

Tabela 6 – Progresso das dimensões dos datasets com o módulo clear_df.py . . . . 39

Tabela 7 – Dimensões dos datasets antes de executar o módulo unif_df.py . . . . 39

Tabela 8 – Dimensões dos datasets depois de executar o módulo unif_df.py . . . . 39

Tabela 9 – Progresso das dimensões dos datasets com o módulo reduce_df.py . . . 41

Tabela 10 – Proporção de origens dos índices mensais pós-filtro de CPM e percentil. 42 Tabela 11 – Progresso das dimensões dos datasets com o módulo pre_export.py . . 42 Tabela 12 – Estatísticas de média obtidas por atributos gerados por pre_export.py 42 Tabela 13 – Progresso do tamanho dos arquivos gerados pelo processamento de dados. 42

(11)

LISTA DE ABREVIATURAS E SIGLAS

.CSV Comma-Separated Values File

.DBF dBase Database File

.GeoJSON Geo JavaScript Object Notation File

.TXT Text File

.ZIP Zip File

API Application Programming Interface

CCP Coeficiente de Correlação de Pearson

CPM Coeficiente de Preenchimento Mensal

CPT Coeficiente de Preenchimento Total

DD Decimal Degrees

DMS Degrees, Minutes and Seconds

DW Data Wrangling

EMPARN Empresa de Pesquisa Agropecuária do Rio Grande do Norte

IDW Inverse Distance Weighting

NaN Not a Number

RMSE Root Mean Square Error

(12)

SUMÁRIO

1 INTRODUÇÃO . . . 13 1.1 Contextualização . . . 13 1.2 Relevância . . . 13 1.3 Motivação . . . 14 1.4 Objetivos . . . 14 1.5 Estrutura do Trabalho . . . 14 2 REFERENCIAL TEÓRICO . . . 15 2.1 Pluviometria . . . 15 2.1.1 Índice Pluviométrico . . . 16

2.1.2 Aplicações dos Dados Pluviométricos . . . 16

2.1.3 Problemas Relativos à Pluviometria Aplicada . . . 17

2.2 Ciência de Dados . . . 18

2.2.1 Preparação de Dados (Data Wrangling ) . . . . 19

3 METODOLOGIA . . . 20

3.1 Classificação da Pesquisa . . . 20

3.2 Preparação de Dados Pluviométricos . . . 20

3.3 Cenário Inicial . . . 21

3.4 Instrumentação . . . 22

4 DESENVOLVIMENTO . . . 23

4.1 Otimização Introdutória dos Datasets . . . 23

4.1.1 Análise Individual dos Arquivos Crus . . . 23

4.1.2 Conversão . . . 27

4.2 Aplicação de Técnicas de Preparação de Dados Pluviométricos . . . 29

4.2.1 Módulo 1 – init_treat.py . . . . 29

4.2.2 Módulo 2 – clear_df.py . . . 31

4.2.3 Módulo 3 – unif_df.py . . . . 32

4.2.4 Módulo 4 – reduce_df.py . . . . 33

4.2.5 Módulo 5 – pre_export.py . . . . 33

4.3 Exemplo de Tipo de Aplicação Pós-Tratamento: Interpolação . . . . 34

4.3.1 Interpolação para Índices Pluviométricos . . . 34

4.3.2 Inverso da Potência das Distâncias . . . 34

(13)

5 RESULTADOS . . . 37

5.1 Preparação de Dados . . . 37

5.1.1 Resultados do Módulo init_treat.py . . . . 37

5.1.2 Resultados do Módulo clear_df.py . . . . 39

5.1.3 Resultados do Módulo unif_df.py . . . 39

5.1.4 Resultados do Módulo reduce_df.py . . . . 41

5.1.5 Resultados do Módulo pre_export.py . . . 42

5.2 Aplicação Pós-Tratamento: Interpolação . . . 45

5.2.1 Validações Numéricas . . . 46

5.2.2 Exemplo de Uso . . . 49

6 CONCLUSÃO . . . 52

6.1 Sugestões de Trabalhos Futuros . . . 52

(14)

13

1 INTRODUÇÃO

Este capítulo descreve o contexto e as principais motivações que levaram ao desen-volvimento deste trabalho.

1.1

Contextualização

O desenvolvimento de planejamentos estruturados de forma otimizada para centros urbanos e regiões agrícolas, relativo aos quesitos climáticos do local em questão, possui grande importância para a sociedade, devido à relevância dos potenciais prejuízos causados por fenômenos naturais.

No âmbito da análise de chuvas, as principais preocupações resumem-se à intensidade e frequência de cada ocorrência, consideradas potenciais geradoras de danos quando classificadas em situações atípicas de excesso ou escassez (MURTA et al., 2005). Nestes cenários, a deficiência de planejamento apropriado através de estudos baseados em dados históricos e cálculos probabilísticos promove impactos consideráveis nos aspectos financeiro, social e natural.

Para sustentar os estudos de fenômenos meteorológicos, os dados referentes aos eventos de chuva são registrados e armazenados ao longo dos anos, servindo posteriormente para análise e cálculos de estimativa futura de eventos climáticos.

1.2

Relevância

Os estudos em torno das mudanças climáticas são de altíssima importância, tendo em vista que a amplificação da previsibilidade climatológica obtida através destes estudos pode evitar perdas socioeconômicas irreversíveis, além de aprimorar procedimentos desenvolvidos em prol da qualidade de vida da população.

Segundo Salgueiro (2005, p. 2), o gerenciamento de recursos hídricos otimizado está diretamente ligado aos limites de aproveitamento do local em questão. Incluso neste gerenciamento está o conhecimento histórico das precipitações de chuva, desempenhando parte indispensável ao desenvolvimento de uma região.

A obtenção de estimativas quanto ao futuro cenário meteorológico permite um melhor planejamento de uso de matéria-prima e, consequentemente, uma projeção mais acurada de retorno financeiro em diversas áreas aplicáveis (e.g. agricultura e construção civil).

(15)

Capítulo 1. Introdução 14

1.3

Motivação

A utilização de dados pluviométricos históricos é essencial para a compreensão de eventos futuros de chuva. Porém, devido ao baixo investimento histórico no desenvolvimento de técnicas de coleta de índices de chuva (MARTINS, 2003, p. 2), os registros pluviométricos frequentemente não possuem confiabilidade suficiente para serem aplicados em estudos (SALGUEIRO, 2005, p. 16). Por isso, técnicas baseadas na ciência de dados podem auxiliar no tratamento dos dados de chuva, permitindo a purificação dos dados referentes e aumentando a confiabilidade.

1.4

Objetivos

Este estudo possui o desenvolvimento e aplicação de técnicas preparatórias de dados pluviométricos para uso posterior como objetivo geral. Para tanto, os seguintes itens são listados como objetivos específicos:

• Compreender, através do referencial teórico, tópicos em torno da problemática; • Listar as tarefas necessárias para a preparação eficiente de dados;

• Analisar o cenário inicial dos dados disponíveis;

• Desenvolver e aplicar as tarefas listadas anteriormente para os dados disponíveis; • Exemplificar o uso posterior dos dados tratados.

1.5

Estrutura do Trabalho

Este trabalho foi dividido em capítulos, dispostos como:

• Capítulo 2 (Referencial Teórico): resultado da pesquisa fundamentada em torno da pluviometria e ciência de dados;

• Capítulo 3 (Metodologia): descrição da metodologia utilizada para o desenvolvi-mento do trabalho;

• Capítulo 4 (Desenvolvimento): análise aprofundada dos dados disponíveis e demons-tração teórica das principais características dos scripts desenvolvidos;

• Capítulo 5 (Resultados): exibição das estatísticas obtidas através da execução dos

scripts desenvolvidos no item anterior;

• Capítulo 6 (Conclusão): resumo dos resultados obtidos, além de uma breve descrição de potenciais trabalhos futuros.

(16)

15

2 REFERENCIAL TEÓRICO

Neste capítulo, serão apresentadas as principais definições e aspectos relativos à Pluviometria e Ciência de Dados.

2.1

Pluviometria

O grupo de procedimentos avaliativos da grandeza de um evento de precipitação em uma região hidrográfica define a pluviometria, um dos segmentos da hidrologia. Aplicar o conhecimento proveniente dos estudos neste campo promove o retorno, por exemplo, de estatísticas pertinentes ao desenvolvimento de sistemas para melhor aproveitamento em recursos hídricos (SALGUEIRO, 2005, p. 15).

As informações geradas através da pluviometria aplicada são obtidas através da instalação estratégica de um instrumento meteorológico denominado pluviômetro, conforme previsto em protocolos técnicos (DAEE, 2000), com o intuito de captar e armazenar os dados referentes à precipitação no local. Este procedimento pode ser executado de modo manual ou automático (SALGUEIRO, 2005, p. 15-16), dependendo do patamar do investimento disponível para a aquisição de um pluviômetro.

A medida da precipitação pluviométrica, também denominada como índice plu-viométrico, pode ser efetivada através de dois tipos de instrumentos meteorológicos – o pluviômetro e o pluviógrafo – além de ser possível mensurá-la através de radares, espacialmente (STUDART, 2006, p. 4).

(a) Pluviômetro do tipo Ville de Paris. (b) Unidade sensível do pluviógrafo do tipo Basculante.

Figura 1 – Tipos de instrumentos meteorológicos medidores de chuva. Fonte – (VAREJÃO-SILVA, 2006, p. 354, 359)

(17)

Capítulo 2. Referencial Teórico 16

A diferença entre os dois tipos citados consiste no fato do pluviógrafo ser capaz de registrar os dados pluviométricos automaticamente, enquanto o pluviômetro necessita de leitura manual a intervalos de tempo fixo (STUDART, 2006, p. 4), por simplesmente armazenar o líquido precipitado proveniente da chuva em um recipiente. Dessa forma, torna-se necessária a atuação humana para armazenar os dados pluviométricos.

2.1.1

Índice Pluviométrico

A altura de água acumulada durante um período de tempo fixo, no pluviômetro convencional, pode ser calculada de forma simplificada através da fórmula (OLIVEIRA, 2006, p. 4):

h = 10 · V

A (2.1)

Onde:

- h representa a altura da coluna (em mm);

- V representa o volume acumulado (em ml ou cm3);

- A representa a área da seção de captação da água (em cm2).

Por outro lado, a contabilização da altura da coluna de chuva feita por um pluvió-grafo é feito de maneira distinta, tendo em vista que o mecanismo permite contabilizar automaticamente a quantidade disposta. Conforme exibido na Figura 1b, o pluviógrafo de tipo Basculante contabiliza o nível de chuva a partir do enchimento de um dos comparti-mentos, geralmente possuindo volume equivalente a 0,1mm de precipitação. O enchimento promove um movimento em báscula para despejar a água acumulada e encher o segundo compartimento, consequentemente contabilizando o movimento através de um sistema elétrico acionado por um ímã (VAREJÃO-SILVA, 2006, p. 359).

Normalmente, o uso de pluviógrafos reduz a dependência humana em se obter os dados, mas cria uma nova dependência baseada na necessidade de se ter um sistema de aquisição de dados (data-logger ). Este sistema possui a finalidade de registrar todas as basculadas, incluindo data e horário de atuação, enquanto estiver ativo (FISCH; VENDRAME; HANAOKA, 2007).

2.1.2

Aplicações dos Dados Pluviométricos

Segundo Salgueiro (2005, p. 16), os dados provenientes da pluviometria aplicada podem ser utilizados em diversas áreas, principalmente por meio dos estudos relacionados à gestão dos recursos hídricos, conforme listado a seguir:

(18)

Capítulo 2. Referencial Teórico 17

• Setor hidroenergético;

• Melhorias no saneamento básico;

• Otimização do abastecimento hídrico público e industrial; • Desenvolvimento de técnicas de irrigação e drenagem; • Pecuária;

• Meteorologia;

• Estimativa e prevenção de impactos ambientais.

Além dos pontos citados, existe a aplicação por parte de outras áreas do conheci-mento, como a biologia, construção civil, ciências ambientais, entre outros, tornando o tema demasiadamente importante no âmbito científico, educacional e comercial (MARTINS, 2003, p. 2).

2.1.3

Problemas Relativos à Pluviometria Aplicada

Embora possua tamanha importância conforme descrito anteriormente, diversos países no mundo não destinam recursos financeiros suficientes para implementar uma rede pluviométrica de alta densidade (MARTINS, 2003, p. 2), gerando deficit em dados de chuva catalogados historicamente e ocasionando desenvolvimento precário de novos protocolos e tecnologias a serem aplicadas no âmbito da pluviometria.

Conforme Martins (2003, p. 3), as medições de chuva devem ser processadas idealmente por longos períodos de tempo, independentemente da adversidade climática e longinquidade do local. O autor ainda descreve a justificativa sobre a prioridade do uso de pluviógrafos acima dos pluviômetros convencionais. Embora mais caro, o pluviógrafo associado a um sistema de armazenamento de dados não depende totalmente da ação humana, permitindo operação por longos períodos, com um alto grau de confiabilidade.

Entretanto, os dados pluviométricos históricos disponíveis são geralmente originários do uso de pluviômetros convencionais, consequentemente atribuídos através de operação manual (ANTONIO, 2007, p. 1). Possivelmente, o uso de pluviógrafos é relativamente re-cente devido à dificuldade de desenvolvê-lo nas décadas passadas de forma economicamente viável para implementação.

Por conseguinte, vários problemas nos dados de chuva são decorrentes ao uso de pluviômetros, como por exemplo: erro de leitura no pluviômetro; erro de transcrição e digitação; omissão de informação; acumulação diária, entre outros. Portanto, torna-se necessário depurar os erros e preencher as falhas existentes, conquistando maiores níveis de confiabilidade nos dados para aplicações diversas (SALGUEIRO, 2005, p. 16).

(19)

Capítulo 2. Referencial Teórico 18

2.2

Ciência de Dados

A Ciência de Dados (do inglês Data Science), sob a ótica de Blei e Smyth (2017), originou-se a partir de uma união das áreas da estatística e ciência da computação, herdando alguns métodos e pensamentos. Isto posto, os autores ainda apontam que o produto desta união naturalmente remodula as técnicas previamente utilizadas em cada campo, com o intuito de traduzir grandes quantidades de dados em previsões úteis e insights.

De forma simplificada, Cady (2017) exemplifica, através da Figura 2, o ciclo geral de procedimentos a serem efetivados na ciência de dados:

Figura 2 – Fluxograma exemplificando o funcionamento da Ciência de Dados Fonte – Adaptado de Cady (2017, p. 9)

De acordo com o autor, o primeiro passo para obter resultados consiste em entender o potencial futuro uso dos dados crus, desenvolvendo uma problemática a ser solucionada. Consequentemente, há uma fase extensa de análise dos dados, incluindo associar os dados existentes com os elementos do mundo real que os representa. Dessa forma, possibilita-se a extração de dados significativos ao problema. Posteriormente, os dados reduzidos são inseridos em ferramentas capazes de analisar e retornar resultados.

Cady (2017, p. 9-10) ainda comenta sobre dois aspectos importantes do fluxograma descrito na Figura 2. Primeiramente, nota-se a existência de um feedback da etapa de mo-delagem/análise final para o enquadramento do problema, devido à constante necessidade de reestruturar problemáticas baseadas em novos insights. Assim, permite-se o refinamento constante de métodos aplicáveis (BLEI; SMYTH, 2017).

Além deste ponto, o autor enfatiza a bifurcação existente após a fase de modela-gem/análise. O formato final do resultado deste estudo hipotético pode ser condicionado para humanos, através de representatividade legível de dados (e.g. apresentação em slides; relatório técnico), ou ser adaptado para uso futuro de máquinas. Esta distinção possuí alta relevância no tópico, diferindo no aspecto da abordagem inicial do problema.

(20)

Capítulo 2. Referencial Teórico 19

Analisando apenas um segmento da ciência de dados, o processo responsável de transformar dados crus provenientes de fontes diversas em um conjunto de dados viável para análise convencional intitula-se como Data Wrangling (CADY, 2017, p. 12). Em outras palavras, este processo resume-se a utilizar ou desenvolver uma ferramenta capaz de filtrar e tratar dados para um formato regularizado (CADY, 2017, p. 12-13), tornando-os aptos a serem analisados e incrementados posteriormente.

2.2.1

Preparação de Dados (Data Wrangling )

Obter resultados através de dados demanda que toda a informação disponível esteja em um formato manipulável. Porém, as fontes dos dados (e.g. escolas, hospitais, governos) não são capazes de definir previamente qual informação ou formato será utilizado posteriormente, devido ao número de possibilidades de uso a serem potencialmente cobertas. Por isso, normalmente os dados são disponibilizados de forma crua (VISOCHEK, 2017).

Entretanto, no ato de integrar os dados crus ao problema em questão, vários contratempos podem ser notados, como por exemplo: informação dispersa em várias fontes diferentes; tamanhos e formatos que dificultam a manipulação adequada dos dados; informação em excesso e/ou escassez; entre outros (VISOCHEK, 2017).

De acordo com uma pesquisa realizada pela Transforming Data with Intelligence, a proporção do tempo gasto para preparação de dados comparado com o tempo total de análise é de 61 a 80%. Ademais, aproximadamente 73% dos entrevistados afirmaram que utilizam mais que 41% do tempo exclusivamente em preparação de dados (STODDER, 2016, p. 21).

Ainda segundo a pesquisa, estes resultados indicam que investe-se um tempo consideravelmente alto pelas equipes responsáveis por preparar os dados para análise, possivelmente significando que o desenvolvimento de técnicas de preparação mais apuradas e concisas poderia ter um impacto significativo no desempenho.

Alguns autores descrevem tarefas genéricas que representam o básico necessário para desempenhar uma preparação de dados correta. Visochek (2017) detalha através de cinco etapas: obter os dados necessários; unir os dados de diferentes fontes; limpar possíveis falhas e dados em excesso; extrair informações úteis em uma estruturação adequada; armazenar o produto resultante para uso futuro.

McKinney (2013) descreve de forma semelhante: importar os dados de forma manipulável; reformular e pivotar dados para transformação posterior; transformar os dados; combinar e unir dados usando relações entre os datasets1; armazenar dados resultantes.

A transformação dos dados citada inclui remover duplicatas, obter valores significativos através de funções, detectar e filtrar valores atípicos (outliers) etc.

(21)

20

3 METODOLOGIA

Neste capítulo, será descrita a metodologia utilizada para o desenvolvimento do caso escolhido, com o desígnio final de cumprir os objetivos definidos.

3.1

Classificação da Pesquisa

O propósito geral da pesquisa consiste em aplicar técnicas de tratamento nos dados pluviométricos disponíveis, evidenciando métodos gerados para efetivamente melhorar a qualidade dos dados para aplicação posterior, possivelmente em uma das áreas listadas na Seção 2.1.2.

Conforme dissertado por Fonseca (2002, p. 20), a pesquisa quantitativa visa a objetividade, compreendendo os fatos utilizando dados extraídos através de instrumentos padronizados. Ademais, este tipo de pesquisa busca a explicação de fenômenos e relação entre variáveis através da aplicação de métodos matemáticos. Portanto, a pesquisa em questão pode ser classificada, quanto ao seu tipo de abordagem, como quantitativa.

Paralelamente, este trabalho pode ser definido como uma pesquisa aplicada. Silveira e Cordova (2009, p. 35) definem, no âmbito da natureza da pesquisa, a modalidade estabelecida como aplicada por conter implementações práticas, solucionando problemas específicos.

Por fim, a pesquisa explicativa pode ser categorizada através da explicação do motivo de fenômenos por meio de resultados (SILVEIRA; CORDOVA, 2009, p. 35). Desta forma, a pesquisa atual também pode ser determinada, no domínio da categoria de objetivo da pesquisa, como uma pesquisa explicativa.

3.2

Preparação de Dados Pluviométricos

Originalmente, os datasets de dados pluviométricos são frequentemente compostos por dois gêneros de listagem: índices pluviométricos temporais de postos de medição de chuva, geralmente baseado em dados diários ou mensais; informações de caráter identifica-tivo sobre cada posto relacionado no item anterior (e.g. código de identificação, latitude, longitude, altitude).

Adaptando as demandas genéricas listadas por Visochek (2017) e McKinney (2013) na Seção 2.2.1, a preparação de dados pluviométricos provenientes de várias fontes inclui os seguintes tópicos:

(22)

Capítulo 3. Metodologia 21

1. Remoção de informações excessivas/descartáveis para uso futuro

2. Remoção de postos (e seus índices) que não possuem informações essenciais completas a) Informação geográfica do posto incompleta ou imprecisa

b) Cruzamento de disponibilidade entre índice e posto incoerente 3. Remoção de outliers e incoerências dos dados

a) Valores irreais marcados como inexistentes (e.g. NaN, -1) b) Valores de chuva muito acima da realidade do local estudado

c) Registros duplicados para a mesma fonte 4. Unificação de dados

a) Criação de um formato único para os índices pluviométricos b) Adaptação da formatação dos registros temporais dos índices

c) Conversão das informações geográficas para formato unificado d) Criação de uma identificação unificada para todos os postos 5. Aplicação de preferências entre datasets

a) Dados pluviométricos conflitantes entre fontes diferentes para o mesmo momento b) Dados geográficos conflitantes entre fontes diferentes para o mesmo posto 6. Filtragem de dados para aplicações mais específicas

a) Dados originais reduzidos para dados suficientes. b) Descartar dados fora do nível de qualidade desejado 7. Criação de dados adicionais relevantes

a) Contabilizador do número de registros por posto

b) Coeficiente de preenchimento dos dados ao longo do período existente

3.3

Cenário Inicial

Com a finalidade de tornar a leitura compreensível, os tipos de datasets descritos, deste ponto em diante, seguirão a convenção proposta na Seção 3.2. Portanto, os dados pluviométricos neste trabalho são compostos por dois tipos de datasets: dataset de índices ou dados (pluviométricos) e dataset de postos (com informações de cada posto pluviométrico).

(23)

Capítulo 3. Metodologia 22

A pesquisa foi desenvolvida utilizando bancos de dados pluviométricos do Rio Grande do Norte, sendo composto por dados públicos da SUDENE (2017) e dados privados da EMPARN, fornecidos pela empresa.

Os dados provenientes da SUDENE encontram-se originalmente no formato .TXT, separando as colunas de dados de forma tabular. Por outro lado, as amostras procedentes da EMPARN estão dispostas em arquivos no formato .DBF.

3.4

Instrumentação

Visando aplicar os tópicos de preparação de dados pluviométricos listados na Seção 3.2 nos datasets referenciados na Seção 3.3, a linguagem de programação Python1 foi

escolhida como a linguagem utilizada nesta pesquisa, devido à viabilidade de manipulação de dados de forma prática e em alto nível.

Com a finalidade de facilitar o manuseio dos dados pluviométricos, foram utilizadas as bibliotecas listadas na Tabela 1. Além destas, o site kepler.gl2 foi utilizado com o intuito

de gerenciar mapas com visualização de dados.

Biblioteca Descrição

Pandas3 Conjunto de ferramentas de análise de dados.

NumPy4 Ferramentas para computação científica

DBFRead5 Leitor de arquivos .DBF

zipfile6 Compressão e descompressão de arquivos

Shapely7 Cálculos geográficos de fronteira e centróides

Tabela 1 – Bibliotecas utilizadas no desenvolvimento do estudo. Fonte – Elaborado pelo autor.

1https://www.python.org/ 2https://kepler.gl/ 3https://pandas.pydata.org/ 4https://www.numpy.org/ 5https://dbfread.readthedocs.io/ 6https://docs.python.org/3/library/zipfile.html 7https://shapely.readthedocs.io/

(24)

23

4 DESENVOLVIMENTO

Neste capítulo, será apresentado todo o desenvolvimento desta pesquisa, almejando propor uma visão mais aprofundada da problemática e suas soluções.

4.1

Otimização Introdutória dos Datasets

Inicialmente, os datasets estão dispostos em diversos arquivos separados. A Tabela 2 demonstra as características iniciais para todos os arquivos crus.

Origem do Arquivo Nome (Linhas) Ocorrências (Colunas) Atributos Tamanho a SUDENE pluvio rn.txt 1.819.097 6 103,7 MB

b SUDENE pluvio rn tab.txt 123 18 26,8 KB

c EMPARN plumovim.dbf 1.595.421 5 31,9 MB d EMPARN PLUPOSTO.DBF 270 18 46,2 KB e EMPARN CHUVAS.DBF 504.413 6 22,7 MB f EMPARN PLUMICRO.DBF 19 2 688 B g EMPARN PLUMUNIC.DBF 167 4 6,2 KB h EMPARN PLUFONTE.DBF 4 2 207 B i EMPARN PLUNORMA.DBF 0 51 1,7 KB

Tabela 2 – Distribuição inicial dos dados crus disponíveis. Fonte – Elaborado pelo autor.

4.1.1

Análise Individual dos Arquivos Crus

a) pluvio rn.txt

O arquivo possui dados pluviométricos diários registrados por postos da SUDENE, catalogados através da identificação do posto por código, o estado onde ocorreu o registro, data (em formato separado) da ocorrência e o valor registrado. Assim, podemos concluir que o arquivo em questão, demonstrado na Figura 3, é um dataset de índice.

Figura 3 – Amostra dos primeiros registros do arquivo pluvio rn.txt. Fonte – Adaptado a partir dos dados disponibilizados pela SUDENE.

(25)

Capítulo 4. Desenvolvimento 24

b) pluvio rn tab.txt

O arquivo possui informações referentes aos postos da SUDENE, com até 18 atributos listados por posto, com geoinformações inclusas. Trata-se, portanto, de um

dataset de postos, conforme exibido parcialmente na Figura 4.

Figura 4 – Amostra parcial dos primeiros registros do arquivo pluvio rn tab.txt. Fonte – Adaptado a partir dos dados disponibilizados pela SUDENE.

c) plumovim.dbf

O principal registro de dados pluviométricos diários de postos da EMPARN apre-senta configuração similar da formatação exposta na Figura 3 para o arquivo pluvio rn.txt, caracterizando-se como um dataset de índices. Difere, quando comparado ao dataset de índices da SUDENE, na representação da identificação do posto (utilizando um conjunto de três códigos) e na formatação da data, exibido na Figura 5.

Figura 5 – Amostra dos primeiros registros do arquivo plumovim.dbf. Fonte – Adaptado a partir dos dados disponibilizados pela EMPARN.

(26)

Capítulo 4. Desenvolvimento 25

d) PLUPOSTO.DBF

Semelhantemente ao arquivo pluvio rn tab.txt, o arquivo em questão armazena até 18 informações pertinentes a cada posto da EMPARN, segundo exposto na Figura 6. Desta forma, este arquivo também pode ser considerado um dataset válido de postos.

Figura 6 – Amostra parcial dos primeiros registros do arquivo PLUPOSTO.DBF. Fonte – Adaptado a partir dos dados disponibilizados pela EMPARN.

e) CHUVAS.DBF

Diante da possibilidade de ser um dataset de índices válidos, este arquivo foi analisado de forma aprofundada. O resultado obtido demonstrou que os dados existentes em

CHUVAS.DBF, exibida parcialmente na Figura 7, são extrações tratadas de plumovim.dbf,

possivelmente executada em alguma requisição passada. Portanto, CHUVAS.DBF foi descartado, por se tratar de um subgrupo de plumovim.dbf.

Figura 7 – Amostra dos primeiros registros do arquivo CHUVAS.DBF. Fonte – Adaptado a partir dos dados disponibilizados pela EMPARN.

(27)

Capítulo 4. Desenvolvimento 26

f) PLUMICRO.DBF

A Figura 8 exemplifica parte dos dados disponíveis em PLUMICRO.DBF, destinado à determinar a microrregião dos postos da EMPARN. Pelo fato das únicas informações geográficas relevantes neste estudo serem latitude, longitude e altitude, os dados de

PLUMICRO.DBF não foram utilizados adiante.

Figura 8 – Amostra dos primeiros registros do arquivo PLUMICRO.DBF. Fonte – Adaptado a partir dos dados disponibilizados pela EMPARN.

g) PLUMUNIC.DBF

Os dados registrados no arquivo permitem uma conversão dos códigos de micror-região e município dos postos da EMPARN para o nome do correspondente município, conforme demonstrado na Figura 9. Devido à irrelevância dos dados, também foi descartado para este estudo.

Figura 9 – Amostra dos primeiros registros do arquivo PLUMUNIC.DBF. Fonte – Adaptado a partir dos dados disponibilizados pela EMPARN.

(28)

Capítulo 4. Desenvolvimento 27

h) PLUFONTE.DBF

O arquivo possui uma relação de códigos, conforme reproduzido na Figura 10, indicando a fonte dos dados de cada posto da EMPARN. Por ser uma informação desprezível ao tratamento, foi descartado.

Figura 10 – Registros do arquivo PLUFONTE.DBF. Fonte – Adaptado a partir dos dados disponibilizados pela EMPARN.

i) PLUNORMA.DBF

Assim como exposto na Figura 11, o arquivo não possui nenhuma ocorrência registrada, sendo assim automaticamente descartado.

Figura 11 – Amostra parcial dos registros do arquivo PLUNORMA.DBF. Fonte – Adaptado a partir dos dados disponibilizados pela EMPARN.

Desta forma, apenas os datasets de índices pluvio rn.txt e plumovim.dbf , além dos datasets de postos pluvio rn tab.txt e PLUPOSTO.DBF foram mantidos para futura manipulação dos dados. Para isto, tornou-se necessário converter estes arquivos, posto que os formatos originais .TXT e .DBF dificultam manipulação direta e possuem tamanho excessivo, quando comparado com alternativas mais modernas.

4.1.2

Conversão

Um pequeno script foi desenvolvido para finalizar a etapa de otimização, objetivando a conversão dos datasets para o formato .CSV através das bibliotecas Pandas (.TXT para .CSV), DBFRead (.DBF para .CSV) e zipfile (comprimir arquivos), assim viabilizando o armazenamento dos datasets originais utilizando o mínimo de espaço possível.

Para que a conversão fosse viável, os arquivos necessitavam possuir uma formatação aceita pelos conversores utilizados para ambos os formatos .TXT e .DBF. Todos os datasets, exceto por pluvio rn tab.txt, estavam originalmente em formatações satisfatórias.

(29)

Capítulo 4. Desenvolvimento 28

O arquivo pluvio rn tab.txt originalmente possui tabulação irregular, possivelmente por ser proveniente de uma exportação adaptada via software, tornando a conversão para .CSV impossível devido à imprevisibilidade do número de tabulações para distinguir cada coluna. Assim, ajustes manuais foram efetivados na tabulação. A Figura 12 compara a diferença existente entre o arquivo original (Figura 12a) e o arquivo ajustado (Figura 12b).

(a) Formatação inicial.

(b) Formatação ajustada.

Figura 12 – Ajuste de formatação do arquivo pluvio rn tab.txt. Fonte – Elaborado pelo autor.

(30)

Capítulo 4. Desenvolvimento 29

Ao executar o script proposto, todos os 4 datasets foram convertidos em cenários distintos. Observou-se um desempenho satisfatório, conforme exposto na Tabela 3, conquis-tando uma redução de aproximadamente 94,62% no tamanho dos datasets simplesmente convertendo os arquivos originais em arquivos .CSV zipados.

dos Formatos Cenário dos Arquivos Tamanho Total (segundos) Tempo de Conversão .DBF + .TXT 135,7 MB -.CSV separados 76,4 MB 32,718

.CSV (.ZIP via bzip2) 7,3 MB 32,674 Tabela 3 – Desempenho do script de conversão.

Fonte – Elaborado pelo autor.

Após serem convertidos, os datasets são armazenados para posteriormente serem importados pelas bibliotecas Pandas e zipfile. A biblioteca é encarregada por converter os dados, originalmente em .CSV zipado, para a estrutura de dados DataFrame1. Desta

forma, possibilita-se a manipulação de dados proposta na Seção 4.2.

4.2

Aplicação de Técnicas de Preparação de Dados Pluviométricos

Um pacote2Python foi desenvolvido com o intuito de aplicar as técnicas descritas nos

tópicos da Seção 3.2 aos dados obtidos após análise introdutória e conversão. A progressão das técnicas foi arquitetada através de módulos de fase, englobando as aplicações necessárias para tornar os dados aptos para uso futuro. Em outras palavras, um script global executa cada fase necessária, em forma de módulo, para preparar os dados.

4.2.1

Módulo 1 – init_treat.py

O módulo init_treat.py foi desenvolvido com a finalidade de tratar os DataFrames recém-importados preliminarmente. Este módulo é responsável por:

I) Remover todas as colunas de informações irrelevantes ao estudo (tópico 1)

O foco demandado geralmente consiste em conservar listagens de informações geográficas em forma de coordenadas, códigos de identificação padronizados e índices plu-viométricos temporais. Assim, parte majoritária dos atributos disponíveis, principalmente nos datasets de postos, são descartáveis devido à falta de demanda de uso futuro. A lista de atributos descartados inclui: nome do observador do posto, endereço do posto, telefone para contato, nome do posto, nome do município, entre outros.

1https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html 2Conjunto de módulos, ou scripts.

(31)

Capítulo 4. Desenvolvimento 30

Entretanto, o descarte destes dados não indica uma perda irreversível. O código de identificação de cada fonte, por exemplo, pode servir como chave estrangeira para acesso futuro dos dados descartados através dos datasets crus, sendo assim um atributo importante a ser conservado.

II) Remover postos com informação geográfica incompleta (tópico 2a)

Alguns postos foram descartados por ausência de informação geográfica completa, ou seja, pelo menos um dos itens essenciais (latitude, longitude ou altitude) não estava devida-mente registrado. Isto acarretou em uma limpeza posterior de alguns índices pluviométricos vinculados aos postos descartados, conforme descrito no módulo clear_df.py.

III) Unificar o formato dos índices pluviométricos para uma casa decimal (tópico 4a)

IV) Converter o formato de data para datetime em cada registro de chuva (tópico 4b) A unificação do formato do índice pluviométrico e data foi essencial para o futuro uso das ferramentas de manipulação e análise.

V) Converter as coordenadas geográficas para o formato decimal (tópico 4c)

No momento da análise preliminar dos arquivos, observou-se que as coordenadas geográficas de ambas as fontes possuíam quatro dígitos não-decimais, conforme exibido pela Figura 6 nas colunas ALATITUDE e ALONGITUDE.

Ao executar alguns testes, constatou-se que o formato poderia ser uma forma redu-zida de coordenadas DMS, no qual os dois primeiros dígitos significavam a quantidade de graus, e os dois últimos dígitos significavam a quantidade de minutos. Visando praticidade no uso posterior destas informações em ferramentas, uma conversão deste formato para graus decimais (DD) foi efetivada.

Figura 13 – Posicionamento do Rio Grande do Norte no mapa-mundi. Fonte – Elaborado pelo autor.

(32)

Capítulo 4. Desenvolvimento 31

Por convenção do formato DD, atribuiu-se sinal negativo para as coordenadas. Isto tornou-se necessário devido à posição do Rio Grande do Norte no terceiro quadrante relativo ao Meridiano de Greenwich e a Linha do Equador, conforme exposto na Figura 13. Além disso, a precisão das coordenadas decimais foi limitada em três casas decimais, dado que a fonte original não possui precisão no patamar dos segundos.

Após a conversão ser concluída, foi desenvolvido um método de processamento para validação das coordenadas, objetivando averiguar se todos os postos listados estão, de fato, localizados no Rio Grande do Norte. Este método utilizou a biblioteca Shapely, associada a um arquivo .GeoJSON como base para delimitar o território da unidade federativa (BRUGNARA, 2015). Desta forma, foi possível detectar falhas de registro caso algum dos

postos esteja erroneamente catalogado fora do estado.

4.2.2

Módulo 2 – clear_df.py

O módulo clear_df.py possui a finalidade de limpar os DataFrames, preparando-os para a unificação posterior. Para tanto, o módulo efetiva as seguintes funções:

I) Remover ocorrências inexistentes/duplicadas (tópicos 3a e 3c)

Alguns registros foram descartados por possuírem valores irreais para o caso estu-dado. No âmbito dos índices, os valores abaixo de zero ou exatamente em 999,9mm diário foram removidos, por serem valores comumente utilizados como dummy para indicar valor inexistente em bancos de dados de chuva. Já no contexto temporal, datas antes3 do ano

1678 ou depois do momento corrente de execução do código foram retiradas dos datasets. Além destes, outros registros também foram retirados devido à presença de duplicatas, mantendo apenas uma das cópias.

II) Procurar por paridade entre DataFrames de índices e postos (tópico 2b)

A remoção de postos pluviométricos com informação geográfica incompleta, ocorrida no módulo init_treat.py, assim como as remoções promovidas no item anterior deste módulo, podem gerar assincronia entre os DataFrames de índices e postos. Portanto, sem qualquer tratamento neste aspecto, os DataFrames posteriormente apresentariam inconsistências entre si.

Para tanto, uma ferramenta foi desenvolvida para remover possíveis resíduos causa-dos pela assincronia. Ou seja, houve a verificação causa-dos cenários onde postos foram removicausa-dos e os seus respectivos índices mantiveram-se no DataFrame de índices, assim como a situação no qual todos os índices de um determinado posto foram descartados previamente, sem retirar o posto em questão do DataFrame de postos. Desta forma, após a concretização da sincronia, possibilitou-se a unificação dos DataFrames no módulo unif_df.py.

(33)

Capítulo 4. Desenvolvimento 32

4.2.3

Módulo 3 – unif_df.py

O propósito do desenvolvimento do módulo unif_df.py consiste em unificar os

DataFrames de índices e postos provenientes da EMPARN e SUDENE, através das

seguintes manipulações:

I) Criação de uma identificação padronizada para todos os postos (tópico 4d)

Com o intuito final de maximizar a unificação dos dados disponíveis, uma iden-tificação foi gerada para todos os postos listados de ambas as fontes. Assim, todos os índices pluviométricos registrados podem ser alocados no mesmo DataFrame, sem possuir dependência direta com a sua identificação de posto original.

Os códigos originais de cada fonte foram mantidos no DataFrame de postos, conse-quentemente permitindo que a identificação unificada sirva como chave estrangeira para um potencial acesso, mantendo a integridade histórica inalterada.

No ato de padronizar a identificação de postos, notou-se que alguns postos da EMPARN possuíam código SUDENE registrado, potencialmente revelando conflitos de dados entre as fontes. Em razão disso, medidas foram aplicadas aos casos, conforme resumido nos pontos seguintes.

II) Resolver índices pluviométricos conflitantes/incoerentes (tópico 5a)

Dois cenários foram ponderados como importantes em eventos de conflito de índices. Primeiramente, caso existisse uma ocorrência nas duas fontes para o mesmo posto no mesmo dia, optou-se pelo índice registrado pela EMPARN, por tratarem-se de dados mais confiáveis. Em outra situação hipotética, embora quiçá absurda, poderiam existir duas ocorrências registradas no mesmo posto para a mesma fonte. Neste caso, foi priorizada a ocorrência com maior medição.

Para todos os cenários, um novo atributo foi criado, com o intuito de demonstrar a origem do índice pós-unificação.

III) Resolver geoinformações conflitantes/incoerentes (tópico 5b)

Em caso de conflito de coordenadas geográficas entre fontes para o mesmo posto, as coordenadas da EMPARN foram priorizadas, devido a maior confiabilidade em relação aos dados da SUDENE.

IV) Simplificar código da EMPARN (tópico 6a)

Após a finalização de todos os procedimentos que necessitavam dos códigos relativos aos postos da EMPARN, unificou-se o código em questão, aglutinando as três colunas existentes (código do município, dígito do município e código do posto) em uma única coluna.

(34)

Capítulo 4. Desenvolvimento 33

4.2.4

Módulo 4 – reduce_df.py

O módulo reduce_df.py realiza ações redutoras no DataFrame de índices, objetivando produzir dados mais compactos porém ainda relevantes ao caso. Este módulo é de uso facultativo, em vista que a redução temporal de dados não é essencial para o prosseguimento de todos os cenários de preparação de dados pluviométricos. Suas funções consistem em promover as seguintes finalidades:

I) Dados diários reduzidos para dados mensais (tópicos 6a e 7b)

Conforme verificado por Ly, Charles e Degre (2011), a maioria das aplicações referentes a interpolação espacial de dados de precipitação utilizam passo temporal mensal ou anual. Por isso, os índices disponíveis, originalmente em passo temporal diário, foram agrupados em ocorrências mensais, através do cálculo da soma das ocorrências dentro do período de um mês.

Este procedimento gerou um novo atributo aos índices, nomeado Coeficiente de Preenchimento Mensal (CPM). Cada ocorrência mensal possui uma indicação da integridade original dos dados, apresentando uma percentagem de cobertura de dados diários no referido mês.

II) Filtrar dados por CPM e percentil (tópicos 6b e 3b)

Consequentemente, alguns índices mensais podem apresentar um valor de CPM baixo, indicando insuficiência para tornar o índice mensal válido. Para tanto, o módulo filtra o DataFrame dos índices por valor mínimo aceitável de CPM. Além disso, foi implementada uma função direcionada para filtragem das ocorrências através do percentil máximo aceitável, eliminando potenciais valores erroneamente registrados.

4.2.5

Módulo 5 – pre_export.py

Finalmente, o módulo pre_export.py prepara os DataFrames para serem exportados, efetivando os seguintes incrementos:

I) Adicionar atributos extras às informações dos postos (tópico 7a)

Algumas informações pertinentes são adicionadas ao DataFrame dos postos: quanti-dade de ocorrências disponíveis no DataFrame de índices; datas limítrofes do primeiro ao último registro existente para cada posto.

II) Adicionar Coeficiente de Preenchimento Total (CPT) dos postos (tópico 7b) O Coeficiente de Preenchimento Total (CPT) é calculado de forma semelhante ao CPM, analisando a disponibilidade de dados ao longo do período descrito pelos atributos criados no item anterior.

(35)

Capítulo 4. Desenvolvimento 34

4.3

Exemplo de Tipo de Aplicação Pós-Tratamento: Interpolação

Após a execução dos módulos descritos na Seção 4.2, os DataFrames foram expor-tados de forma compactada. Com isso, a preparação de dados pluviométricas foi concluída, disponibilizando os dados tratados para usos diversos.

Com o objetivo exemplificativo, um conjunto de scripts foi desenvolvido com a finalidade de aplicar uma técnica de interpolação nos índices pluviométricos, visando analisar a eficácia da referente técnica sob os dados disponíveis. Caso a eficácia fosse comprovada, possibilita-se a utilização da dita técnica para diversas aplicações, como a ampliação da cobertura histórica dos dados existentes, consequentemente elevando o CPT dos postos listados.

4.3.1

Interpolação para Índices Pluviométricos

Dados de chuva desconhecidos podem ser calculados através de técnicas catego-rizadas como interpolações espaciais, temporais ou espaço-temporais. No primeiro caso, estima-se o índice pluviométrico para um local baseado em medições espacialmente vizinhas naquele mesmo período; já na segunda classificação, a ocorrência é virtualmente aferida baseando-se no histórico de chuva daquele local exclusivamente. Por último, aplica-se a interpolação espaço-temporal como uma fusão das duas anteriormente descritas.

Neste trabalho, foi aplicado um método de interpolação espacial. Segundo Ly, Charles e Degre (2011), calcula-se o valor estimado através deste tipo de interpolação por:

Vh∗ = T X i=1 λi,hVobsi (4.1) Onde:

- Vhrepresenta o valor interpolado para o posto h com medição desconhecida; - T representa o número de medições vizinhas disponíveis na mesma data; - λi,h representa o peso da medição vizinha i relativo ao posto h;

- Vobsi representa o valor da medição vizinha i.

4.3.2

Inverso da Potência das Distâncias

O método determinístico denominado como Inverso da Potência das Distâncias (do inglês Inverse Distance Weighting, ou IDW) consiste em estimar valores de um ponto desconhecido através de uma ponderação de pontos vizinhos, baseando-se na hipótese que pontos mais próximos de um determinado ponto a ser estimado são mais influentes.

(36)

Capítulo 4. Desenvolvimento 35

Conforme adaptado de Ly, Charles e Degre (2011), o peso de cada medição vizinha, relativa a um posto h com medição desconhecida em um determinado momento, descrita na Equação 4.1, pode ser calculado por:

λi,h = Di,h−d T P j=1 D−dj,h (4.2) Onde:

- λi,hrepresenta o peso calculado a ser inserido na Equação 4.1 para cada posto vizinho ao posto h com medição desconhecida;

- Di,h representa a distância do posto i até o posto h com medição desconhecida; - Dj,h representa a distância do posto j até o posto h com medição desconhecida. - T representa a quantidade de postos vizinhos com medição conhecida;

- d representa um parâmetro de potência, maior que zero;

O valor do parâmetro d define o nível de parentesco que um suposto valor interpolado tem com seus vizinhos mais próximos. No âmbito da interpolação de índices pluviométricos, este valor é associado ao período de medição nos dados existentes. Segundo Dirks et al. (1998), d normalmente equivale a 2 quando os dados estão em passo diário ou mensal,

assim minimizando os erros de interpolação.

4.3.3

Critérios de Validação

Almejando a verificação da eficácia de um hipotético método interpolador aos índices pluviométricos existentes, a validação cruzada pode ser efetivada ao extrair amostras do

dataset de índices, estimar o valor interpolado no posto/data de cada ocorrência e comparar

posteriormente com o valor real registrado através de artifícios estatísticos (ISAAKS, 1989). Idealmente, este gênero de validação seria aplicado em todos os dados existentes, visando garantir a comprovação da eficácia do método. Entretanto, a validação cruzada pode consumir tempos de processamento exacerbados caso o dataset a ser testado seja excessivamente volumoso. Por isso, testa-se o método proposto com o maior número possível de amostras, dentro da capacidade computacional disponível, com o intuito de generalizar a comprovação da eficácia.

A comparação entre medições estimadas e reais da amostra extraída pode ser realizada pelo cálculo da Raiz do Erro Quadrático Médio (do inglês Root Mean Square

(37)

Capítulo 4. Desenvolvimento 36 a) RMSE RM SE = v u u t 1 n n X i=1 (Vi− Vi)2 (4.3) Onde:

- Virepresenta o valor estimado pela interpolação para o posto/data i; - Vi representa o valor real do posto/data i;

- n representa o tamanho da amostra analisada.

O RMSE, de forma ótima, deve possuir valor próximo de 0, sendo comumente utilizado para fins comparativos entre métodos de interpolação para datasets com a mesma unidade métrica. b) CCP CCP = n P i=1 (Vi− V)(V i− V ) s n P i=1 (Vi− V)2· s n P i=1 (Vi− V )2 (4.4) Onde:

- Virepresenta o valor estimado pela interpolação para o posto/data i; - Vrepresenta a média dos valores estimados pela interpolação;

- Vi representa o valor real do posto/data i;

- V representa a média dos valores reais registrados; - n representa o tamanho da amostra analisada.

O valor resultante de CCP pode ser interpretado por meio da análise da Tabela 4, verificando o grau de correlação entre duas variáveis métricas.

CCP Interpretação

.90 até 1.00 (-.90 até -1.00) Correlação Positiva (Negativa) Muito Forte .70 até .90 (-.70 até -.90) Correlação Positiva (Negativa) Forte .50 até .70 (-.50 até -.70) Correlação Positiva (Negativa) Moderada .30 até .50 (-.30 até -.50) Correlação Positiva (Negativa) Baixa .00 até .30 (-.00 até -.30) Correlação Positiva (Negativa) Desprezível

Tabela 4 – Interpretação do valor resultante de CCP. Fonte – Adaptado de Hinkle (2003).

(38)

37

5 RESULTADOS

Anteriormente nas Seções 4.2 e 4.3, foram descritas as especificações de cada módulo e script a ser utilizado para promover a preparação e a execução da aplicação pós-tratamento, respectivamente, dos datasets provenientes da EMPARN e SUDENE. Neste capítulo, serão expostos os resultados relevantes obtidos pela aplicação dos tópicos listados nas Seções citadas aos referentes datasets.

5.1

Preparação de Dados

Os resultados do processamento de dados efetivado pelos módulos da Seção 4.2 serão apresentados abaixo, demonstrando o aperfeiçoamento gerado pelas funções dos módulos criados.

5.1.1

Resultados do Módulo init_treat.py

EMPARN Índices SUDENE Índices EMPARN Postos SUDENE Postos Antes 1.595.421 x 5 1.819.097 x 6 270 x 18 123 x 18 Depois 1.595.421 x 5 1.819.097 x 3 210 x 7 123 x 4

Tabela 5 – Progresso das dimensões dos datasets com o módulo init_treat.py Fonte – Elaborado pelo autor.

A) 25 colunas (de 36) dos datasets de postos consideradas irrelevantes ao estudo foram removidas pelo módulo, sendo 11 da EMPARN e 14 da SUDENE.

B) 60 postos (de teóricos1 393) foram descartados por informação geográfica incompleta, todos originários da EMPARN. Nenhum dos postos possuía código SUDENE associado, portanto não houve qualquer alternativa para obter as informações completas.

16 postos não possuíam qualquer uma das três informações (latitude, longitude ou altitude) e 44 não possuíam apenas a informação da altitude disponível.

C) A conversão da data de registro de cada índice pluviométrico para datetime reduziu, no dataset de índices da SUDENE, o número de colunas de 6 para 3. Por outro lado, pelo fato do dataset de índices da EMPARN originalmente utilizar uma única coluna com este propósito, a dimensão se manteve inalterada.

(39)

Capítulo 5. Resultados 38

D) A ferramenta de validação de coordenadas apontou que 7 postos estavam posicio-nados fora do estado, por uma distância inferior a um quilômetro da fronteira, assim como mostrado nas Figuras 14 e 15.

A ausência dos segundos na fonte das coordenadas propiciou uma margem de erro de aproximadamente um quilômetro, gerando situações de falso positivo. Isto posto, todos os 7 postos foram mantidos adiante.

Figura 14 – Postos listados virtualmente fora do Rio Grande do Norte. Fonte – Elaborado pelo autor.

Figura 15 – Localização dos postos filtrados pela validação de coordenadas. Fonte – Elaborado pelo autor.

(40)

Capítulo 5. Resultados 39

5.1.2

Resultados do Módulo clear_df.py

EMPARN Índices SUDENE Índices EMPARN Postos SUDENE Postos Antes 1.595.421 x 5 1.819.097 x 3 210 x 7 123 x 4 Depois 1.317.711 x 5 1.819.097 x 3 210 x 7 123 x 4 Tabela 6 – Progresso das dimensões dos datasets com o módulo clear_df.py

Fonte – Elaborado pelo autor.

A) Todos os 277.710 índices descartados neste módulo provieram do dataset de índices da EMPARN. Destes:

• 187.049 índices foram caracterizados como valores dummy configurados exatamente em 999,9mm, provavelmente com o propósito de preencher linhas de tempo incompletas; • 83.907 índices pertenciam a postos removidos anteriormente pelo módulo init_treat.py

por informação geográfica incompleta;

• 4.270 índices foram descartados por serem duplicatas;

• 2.239 índices não possuíam pelo menos um dos atributos preenchidos;

• 245 índices foram catalogados erroneamente em datas futuras, variando entre 2021 e 2056.

B) Nenhum posto foi removido por este módulo, indicando que não existem postos duplicados no dataset de postos em ambas as fontes, tampouco com ausência total de índices disponíveis pós-processamento até o momento.

5.1.3

Resultados do Módulo unif_df.py

EMPARN Índices SUDENE Índices EMPARN Postos SUDENE Postos Antes 1.317.711 x 5 1.819.097 x 3 210 x 7 123 x 4 Tabela 7 – Dimensões dos datasets antes de executar o módulo unif_df.py

Fonte – Elaborado pelo autor.

Unificados Índices

Unificados Postos Depois 3.090.586 x 4 229 x 6

Tabela 8 – Dimensões dos datasets depois de executar o módulo unif_df.py Fonte – Elaborado pelo autor.

(41)

Capítulo 5. Resultados 40

A) As 3.090.586 ocorrências se dividem quanto a sua origem nas seguintes proporções: • 1.773.047 índices são derivados do dataset da SUDENE (código S);

• 1.271.317 índices são derivados do dataset da EMPARN (código E); • 45.486 índices são derivados de ambos os datasets (código SE);

• 564 índices são derivados a partir da preferência da EMPARN acima da SUDENE em medições distintas para a mesma data/posto (código SE+);

• 172 índices são derivados por confirmação da maior medição disponível pela EMPARN, no cenário onde índices diferentes existem para a mesma data/posto (código E+); • Nenhum índice foi catalogado como maior medição disponível pela SUDENE (código

S+) ou preferência de maior medição disponível da EMPARN acima da SUDENE (código SE++), ambas situações para a mesma data/posto.

B) 229 postos compõem o dataset unificado de postos, sendo: • 106 postos exclusivos da EMPARN;

• 104 postos catalogados por ambas as fontes; • 19 postos exclusivos da SUDENE.

(a) Dataset de índices.

(b) Dataset de postos.

Figura 16 – Amostras aleatórias de ocorrências dos datasets pós-unificação. Fonte – Elaborado pelo autor.

(42)

Capítulo 5. Resultados 41

5.1.4

Resultados do Módulo reduce_df.py

Unificados Índices Unificados Postos Antes 3.090.586 x 4 229 x 6 Depois 99.598 x 5 229 x 6

Tabela 9 – Progresso das dimensões dos datasets com o módulo reduce_df.py Fonte – Elaborado pelo autor.

A) O remapeamento dos dados diários para dados mensais transformou 3.090.586 índices diários em 103.520 índices mensais, propiciando uma redução de 96,65%.

B) A distribuição do CPM nos 103.520 índices, conforme exibida no histograma acumu-lado da Figura 17, demonstra um ótimo aproveitamento na redução, com aproximadamente 0,98 de CPM médio (indicado pela linha tracejada preta). Analisando o eixo do número de ocorrências acumuladas, percebe-se que a maioria incontestável dos meses registrados possui CPM acima de 0,95.

Portanto, os registros foram filtrados a partir de 0,95 CPM, purificando os índi-ces mensais disponíveis. Nesta etapa, apenas 3.822 índiíndi-ces mensais (ou 3,692%) foram descartados, reduzindo o total para 99.698 registros disponíveis.

Figura 17 – Distribuição acumulada do CPM ao longo dos dados recém-reduzidos. Fonte – Elaborado pelo autor.

C) Segundo Su et al. (2012), os índices pluviométricos limitantes para considerar uma chuva como extrema são usualmente associados aos percentis 90, 95 e 99 dos dados existentes da região em questão. A filtragem por percentil foi aplicada ao percentil 99.9, descartando 100 índices (ou 0,1%) potencialmente registrados de forma errônea. Os índices mensais foram distribuídos pelas origens conforme demonstrado na Tabela 10.

(43)

Capítulo 5. Resultados 42

S/SE E/E+ SE/SE+ SE E S Total

1 102 164 1.348 39.785 58.198 99.598

Tabela 10 – Proporção de origens dos índices mensais pós-filtro de CPM e percentil. Fonte – Elaborado pelo autor.

5.1.5

Resultados do Módulo pre_export.py

Unificados Índices Diários Unificados Índices Mensais Unificados Postos Antes 3.090.586 x 4 99.598 x 5 229 x 6 Depois 3.090.586 x 4 99.598 x 5 229 x 10

Tabela 11 – Progresso das dimensões dos datasets com o módulo pre_export.py Fonte – Elaborado pelo autor.

A) Conforme constatado na Tabela 11 e na descrição do módulo, este módulo promove incremento de atributos exclusivamente no dataset de postos. A Tabela 12 demonstra, em média, os valores relevantes extraídos dos novos atributos. A Figura 18 exibe a disponibilidade de dados diários e mensais no momento da exportação, demonstrando integridade proporcional dos registros após a execução do módulo reduce_df.py.

Índices/Posto

Médio CPT

Diários 13.496 0,83

Mensais 435 0,84

Tabela 12 – Estatísticas de média obtidas por atributos gerados por pre_export.py Fonte – Elaborado pelo autor.

B) Os datasets são exportados para armazenamento nesta etapa, resultando em datasets conforme exibido na Figura 19, dependendo apenas se foi efetivado o uso do módulo

reduce_df.py. A Tabela 13 indica o progresso do tamanho dos arquivos gerados ao longo

do procedimento de preparação dos dados.

(Pós-conversão) Original (diário) Pós-DW (mensal) Pós-DW (descompactado) Tamanho Total 76,4 MB 74,4 MB 2,6 MB (compactado) Tamanho Total 7,3 MB 6,1 MB 331,5 KB

Tabela 13 – Progresso do tamanho dos arquivos gerados pelo processamento de dados. Fonte – Elaborado pelo autor.

(44)

Capítulo 5. Resultados 43

(a) Índices diários

(b) Índices mensais (pós-filtro de CPM e percentil)

Figura 18 – Disponibilidade dos dados via CPT e quantidade de dados. Fonte – Elaborado pelo autor.

(45)

Capítulo 5. Resultados 44

(a) Dataset diário de índices.

(b) Dataset de postos com ocorrências diárias.

(c) Dataset mensal de índices.

(d) Dataset de postos com ocorrências mensais.

Figura 19 – Amostras aleatórias de ocorrências dos datasets exportados. Fonte – Elaborado pelo autor.

(46)

Capítulo 5. Resultados 45

5.2

Aplicação Pós-Tratamento: Interpolação

A interpolação espacial descrita na Seção 4.3 foi implementada em scripts com diferentes propósitos, utilizando dados mensais. Preliminarmente, um índice escolhido ale-atoriamente foi analisado para exemplificar o funcionamento do método IDW visualmente.

(a) Utilizando parâmetro de potência d = x

(b) Utilizando parâmetro de potência d = y, y > x

Figura 20 – Representação visual do método IDW (P-0171, Novembro de 2009). Fonte – Elaborado pelo autor.

Referências

Documentos relacionados

A rede de teste 118 IEEE representada na figura 4.3 foi a rede que serviu de base para a aplicação da metodologia descrita e para os estudos de Data Mining apresentados nos

After the eval- uation of the influence of each modification of the surfaces on the internal air temperatures and energy consumption of the compressor a final test was done with

A interação treinamento de natação aeróbico e dieta rica em carboidratos simples mostraram que só treinamento não é totalmente eficiente para manter abundância

Estes resultados apontam para melhor capacidade de estabelecimento inicial do siratro, apresentando maior velocidade de emergência e percentual de cobertura do solo até os 60

Entendendo, então, como posto acima, propõe-se, com este trabalho, primeiramente estudar a Lei de Busca e Apreensão para dá-la a conhecer da melhor forma, fazendo o mesmo com o

A variação do pH da fase móvel, utilizando uma coluna C8 e o fluxo de 1,2 mL/min, permitiu o ajuste do tempo de retenção do lupeol em aproximadamente 6,2 minutos contribuindo para

Este presente artigo é o resultado de um estudo de caso que buscou apresentar o surgimento da atividade turística dentro da favela de Paraisópolis, uma

Changes in the gut microbiota appears to be a key element in the pathogenesis of hepatic and gastrointestinal disorders, including non-alcoholic fatty liver disease, alcoholic