1 Introdução

Os efeitos da má qualidade do ar não são tão visíveis comparados a outros fatores mais fáceis de serem identificados. Contudo, vários estudos tem demonstrado, correlações entre a exposição aos poluentes atmosféricos e os efeitos de morbidade e mortalidade, causadas por problemas respiratórios (asma, bronquite, enfisema pulmonar e câncer de pulmão) e cardiovasculares, mesmo quando as concentrações dos poluentes na atmosfera não ultrapassam os padrões de qualidade do ar vigentes. As populações mais vulneráveis são as crianças, os idosos e as pessoas que já apresentam doenças respiratórias. A poluição atmosférica traz prejuízos não somente à saúde e à qualidade de vida das pessoas, mas também acarretam maiores gastos Públicos, decorrentes do aumento do número de atendimentos e internações hospitalares, além do uso de medicamentos, custos esses que poderiam ser evitados com a melhoria da qualidade do ar dos centros urbanos. Com isso, a gestão da qualidade do ar é imprecidivel para garantir que o desenvolvimento socioeconômico ocorra de forma sustentável e ambientalmente segura. Para tanto, se fazem necessárias ações de prevenção, combate e redução das emissões de poluentes e dos efeitos da degradação do ambiente atmosférico. Espera-se que através dessa análise dos dados da coleta sistemática de concentrações de poluentes e substancias químicas no Ar, realizada por sensores químicos possa servir de parâmetros e utiliza em qualquer região, com também possibilite traçar políticas públicas para minimizar ou eliminar a emissão dessas substancias, melhorando a qualidade de vida dos cidadãos e reduzindo os gastos públicos na área da saúde.

1.1 Descrição do Dataset

O Dataset descrito e analisado nesse documento é chamado de Air Quality e contém as respostas de um dispositivo multisensor de gás implantado numa cidade italiana. As médias de respostas por hora são registradas juntamente com referências de concentrações de gás de um analisador certificado.

1.2 Informações do Dataset

O Dataset contem as respostas de um dispositivo multisensor de gás implantado numa área significativamente poluída, ao nível da estrada, dentro de uma cidade italiana.
O banco de dados contém 9471 com 9.358 instâncias de respostas médias horárias de uma série de 5 sensores químicos de óxido metálico incorporados em um dispositivo multisensor químico de qualidade do ar, apresentando 15 variáveis significativas.
Os dados contidos nesse Dataset foram registrados de março de 2004 a fevereiro de 2005 (um ano), representando as gravações mais longas disponíveis gratuitamente de acordo com as respostas de sensores químicos de qualidade do ar implantados em campo.
As concentrações médias horárias do Ground Truth para CO, hidrocarbonetos não metanicos, benzeno, óxidos de nitrogênio totais (NOx) e dióxido de nitrogênio (NO2) foram fornecidas por um analisador.

2 Pacotes Requeridos

Os pacotes a seguir são necessários para a execução do código.Sem eles, o código aqui demonstrado não será executado com sucesso.

Pacote Utilização
library(rmarkdown) utilizado na conversão de arquivo em R em diversos formatos
rmdformats customização do template gerado pelo rmarkdown
library(readr) importar arquivos
library(knitr) para geração de tabelas
library(dplyr) para manipulação avançada dos DataFrames
jsonlite manipulação de arquivos json
viridis para seleção de paleta de cores utilizada nos gráficos
ggplot2 para visualização de gráficos

3 Preparação dos dados

3.1 Características do Conjunto de dados

O conjunto de dados “Air Quality” disponível no repositório da UCI Machine Learning Repository tem o objetivo principal de monitorar e analisar a qualidade do ar em uma região específica da cidade de Milão, Itália. Os dados foram coletados de março de 2004 a fevereiro de 2005 e contêm medições horárias de várias variáveis relacionadas à poluição do ar e condições meteorológicas.

3.1.1 Objetivos Específicos dos Dados

  1. Monitoramento da Qualidade do Ar:
    • Medir a concentração de diferentes poluentes atmosféricos, incluindo monóxido de carbono (CO), óxidos de nitrogênio (NOx e NO2), ozônio (O3), hidrocarbonetos não metânicos (NMHC), entre outros.
    • Registrar essas medições de forma contínua ao longo do tempo para capturar variações diárias e sazonais.
  2. Análise de Padrões e Tendências:
    • Identificar padrões temporais nos níveis de poluentes, como flutuações diurnas e sazonais.
    • Avaliar a correlação entre diferentes poluentes e condições meteorológicas, como temperatura, umidade e velocidade do vento.
  3. Pesquisa em Saúde Pública:
    • Fornecer dados para estudos epidemiológicos que investiguem a relação entre exposição a poluentes atmosféricos e efeitos adversos à saúde.
    • Auxiliar na compreensão dos impactos da poluição do ar na saúde da população local.
  4. Desenvolvimento e Validação de Modelos Preditivos:
    • Utilizar os dados para desenvolver modelos estatísticos e de machine learning que possam prever níveis futuros de poluição com base em variáveis observacionais.
    • Validar e comparar diferentes abordagens de modelagem preditiva usando um conjunto de dados realista e abrangente.
  5. Avaliação de Políticas Ambientais:
    • Analisar a eficácia das políticas de controle da poluição e regulamentações ambientais implementadas durante o período de coleta de dados.
    • Prover dados empíricos que podem ser usados para planejar novas medidas de mitigação da poluição do ar.

3.1.2 Estrutura do Conjunto de Dados

O Dataset inclui as seguintes variáveis:

  • Date: Data e hora da medição.
  • CO(GT): Concentração de monóxido de carbono em mg/m^3 (medida pela estação de monitoramento).
  • PT08.S1(CO): Resposta do sensor para CO (umidade específica).
  • NMHC(GT): Concentração de hidrocarbonetos não metânicos em microg/m^3.
  • C6H6(GT): Concentração de benzeno em microg/m^3.
  • PT08.S2(NMHC): Resposta do sensor para NMHC (umidade específica).
  • NOx(GT): Concentração de óxidos de nitrogênio em ppb.
  • PT08.S3(NOx): Resposta do sensor para NOx (umidade específica).
  • NO2(GT): Concentração de dióxido de nitrogênio em microg/m^3.
  • PT08.S4(NO2): Resposta do sensor para NO2 (umidade específica).
  • PT08.S5(O3): Resposta do sensor para ozônio (umidade específica).
  • T: Temperatura em graus Celsius.
  • RH: Umidade relativa em %.
  • AH: Umidade absoluta em gm/m^3.

3.1.3 Utilização dos Dados

Os dados podem ser utilizados para:

  • Análise exploratória e visualização de dados.
  • Modelagem estatística e preditiva para prever níveis de poluição.
  • Estudos de correlação e regressão para entender a relação entre poluentes e fatores meteorológicos.
  • Desenvolvimento de algoritmos de machine learning para detecção de anomalias e previsão da qualidade do ar.
  • Pesquisa em políticas públicas para avaliar o impacto de diferentes políticas ambientais na qualidade do ar.

Esses dados são valiosos para cientistas ambientais, epidemiologistas, analistas de dados e agentes de políticas públicas que buscam melhorar a qualidade do ar e proteger a saúde da população.

3.1.4 Visualização do Dataset

library(readr)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
# Carregar o conjunto de dados
url <- "https://raw.githubusercontent.com/cleoguim/Dado/main/AirQualityUCI.csv"
dados <- read.csv2(url)

# Visualizar as primeiras linhas dos dados
head(dados)
##         Date     Time CO.GT. PT08.S1.CO. NMHC.GT. C6H6.GT. PT08.S2.NMHC.
## 1 10/03/2004 18.00.00    2.6        1360      150     11.9          1046
## 2 10/03/2004 19.00.00    2.0        1292      112      9.4           955
## 3 10/03/2004 20.00.00    2.2        1402       88      9.0           939
## 4 10/03/2004 21.00.00    2.2        1376       80      9.2           948
## 5 10/03/2004 22.00.00    1.6        1272       51      6.5           836
## 6 10/03/2004 23.00.00    1.2        1197       38      4.7           750
##   NOx.GT. PT08.S3.NOx. NO2.GT. PT08.S4.NO2. PT08.S5.O3.    T   RH     AH  X X.1
## 1     166         1056     113         1692        1268 13.6 48.9 0.7578 NA  NA
## 2     103         1174      92         1559         972 13.3 47.7 0.7255 NA  NA
## 3     131         1140     114         1555        1074 11.9 54.0 0.7502 NA  NA
## 4     172         1092     122         1584        1203 11.0 60.0 0.7867 NA  NA
## 5     131         1205     116         1490        1110 11.2 59.6 0.7888 NA  NA
## 6      89         1337      96         1393         949 11.2 59.2 0.7848 NA  NA
# Identificar o tipo de dados de cada coluna
str(dados)
## 'data.frame':    9471 obs. of  17 variables:
##  $ Date         : chr  "10/03/2004" "10/03/2004" "10/03/2004" "10/03/2004" ...
##  $ Time         : chr  "18.00.00" "19.00.00" "20.00.00" "21.00.00" ...
##  $ CO.GT.       : num  2.6 2 2.2 2.2 1.6 1.2 1.2 1 0.9 0.6 ...
##  $ PT08.S1.CO.  : int  1360 1292 1402 1376 1272 1197 1185 1136 1094 1010 ...
##  $ NMHC.GT.     : int  150 112 88 80 51 38 31 31 24 19 ...
##  $ C6H6.GT.     : num  11.9 9.4 9 9.2 6.5 4.7 3.6 3.3 2.3 1.7 ...
##  $ PT08.S2.NMHC.: int  1046 955 939 948 836 750 690 672 609 561 ...
##  $ NOx.GT.      : int  166 103 131 172 131 89 62 62 45 -200 ...
##  $ PT08.S3.NOx. : int  1056 1174 1140 1092 1205 1337 1462 1453 1579 1705 ...
##  $ NO2.GT.      : int  113 92 114 122 116 96 77 76 60 -200 ...
##  $ PT08.S4.NO2. : int  1692 1559 1555 1584 1490 1393 1333 1333 1276 1235 ...
##  $ PT08.S5.O3.  : int  1268 972 1074 1203 1110 949 733 730 620 501 ...
##  $ T            : num  13.6 13.3 11.9 11 11.2 11.2 11.3 10.7 10.7 10.3 ...
##  $ RH           : num  48.9 47.7 54 60 59.6 59.2 56.8 60 59.7 60.2 ...
##  $ AH           : num  0.758 0.726 0.75 0.787 0.789 ...
##  $ X            : logi  NA NA NA NA NA NA ...
##  $ X.1          : logi  NA NA NA NA NA NA ...

3.2 Apresentação do Dataset Air Quality

#Visualizando em tabela (todas as entradas, separadas em páginas)


library(rmarkdown)
paged_table(dados)

3.3 Remoção de Dados insastifatórios

Durante a análise dos dados, observou-se que as colunas referentes as variáveis X e X.1 não apresentam dados significativos, todos são do tipo NA- vazias, então foi decidido pela remoção delas,contudo, essa remoção não interfere na qualidade das análises realizadas e apresentadas nesse relatório.

na_count <- sum(is.na(dados$X))
na_count1 <- sum(is.na(dados$X.1))
novo_dados <- dados[, !(names(dados) %in% c("X", "X.1"))]

# Remover linhas com valores "NA" não está funcionando
#novo_dados <- novo_dados %>% drop_na()
paged_table(novo_dados)

3.3.1 Unificar as colunas data e hora

library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
# Converter as colunas de data e hora para um único datetime
novo_dados <- novo_dados %>%
  mutate(DateTime = as.POSIXct(paste(Date, Time), format = "%d/%m/%Y %H.%M.%S")) %>%
  select(DateTime, everything())

3.4 Data Import

4 Análise exploratória dos dados

4.1 Visualização

5 Conclusão