## ### Navio analisado
##
## **Nome:** DANIEL PEREIRA
## **Período de dados:** 25/05/2021 a 24/11/2025
## **Número de registros:** 1660
Objetivo deste relatório
Descrever, de forma clara e estruturada, o pipeline de tratamento de dados e sumarização diária aplicado a cada navio da frota no contexto do projeto de bioincrustação, detalhando as decisões de preenchimento de NAs, regras físicas aplicadas e a construção de indicadores-chave para modelagem e apoio à decisão.
Resumo executivo
fouling_index) e uma pontuacao_estimada
calibrada.df_dia) para
análise e modelagem.O pipeline de pré-processamento foi estruturado para operar
navio a navio, garantindo que todas as etapas de
limpeza, interpolação e construção de indicadores respeitem a realidade
operacional de cada embarcação. Em vez de tratar a frota como uma única
série temporal, seleciona-se um navio alvo
(navio_alvo), filtra-se apenas seus registros na base
df.xlsx e todo o processamento é aplicado exclusivamente a
esse subconjunto. Com isso, evitam-se interpolações e regressões que
misturem perfis distintos de rota, carregamento e operação entre
navios.
Após a leitura da base e a padronização dos nomes de colunas para o
formato snake_case, os registros do navio selecionado são
ordenados por data/hora (start_gmt_date) e é criada a
variável data_ref, correspondente à data sem horário. Essa
variável não reduz a granularidade, mas serve como referência
diária para operações de interpolação dentro do mesmo dia.
Antes de qualquer ajuste, é feito um diagnóstico inicial de valores
ausentes, contabilizando o número e o percentual de NAs em cada coluna.
Esse diagnóstico fundamenta as decisões de tratamento e permite
comprovar a melhora da qualidade dos dados após o pipeline.
O tratamento de latitude (dec_latitude)
e longitude (dec_longitude) é crítico,
pois a trajetória do navio é a base para entender o ambiente em que ele
operou. A abordagem combina duas etapas:
data_ref, os valores faltantes são
preenchidos com interpolação linear no tempo (na.approx),
respeitando a ordem de start_gmt_date e restaurando falhas
pontuais de GPS.na.locf), garantindo continuidade espacial em períodos com
falhas mais longas de medição.Ao final, é criada uma flag (gps_flag) apenas para
identificar eventuais posições não recuperadas, mantendo transparência
sobre a qualidade da trajetória.
As variáveis TRIM, displacement, Beaufort e sea_condition representam estado de carregamento e condição de mar. Por serem grandezas que tipicamente variam de forma mais suave, o tratamento segue a lógica:
data_ref) para preencher buracos curtos.sea_condition, quando não há registro mas
existe valor de beaufort, este é utilizado como proxy,
refletindo o vínculo físico entre intensidade de vento/mar e condição de
superfície.A variável velocidade (speed) é tratada
com base em regras físico-operacionais simples, antes de qualquer
interpolação:
dec_latitude e
dec_longitude do registro anterior), assume-se que o navio
está parado e define-se speed = 0.consumo) é zero,
considera-se o motor desligado, também resultando em
speed = 0.Se ainda houver NAs após essas etapas, eles são preenchidos com a mediana de velocidade do navio, garantindo uma série completa e coerente com consumo e trajetória.
A temperatura da água (temperatura), um
dos principais drivers de bioincrustação, é tratada em duas camadas:
temperatura ~ dec_latitude para estimar lacunas
maiores, explorando o gradiente latitudinal (águas tropicais mais
quentes, altas latitudes mais frias).Qualquer valor ainda faltante após essas etapas é substituído pela mediana de temperatura do navio, resultando em uma série contínua e fisicamente plausível ao longo de toda a campanha.
O consumo de combustível (consumo) é
verificado contra uma regra de consistência física:
consumo = 0 coincidam com
speed > 3 nós são considerados fisicamente
impossíveis em operação normal e interpretados como erros de
registro.consumo_erro) e
corrigidos com um modelo de regressão linear do tipo
consumo ~ speed + displacement + beaufort, ajustado apenas
em observações com consumo positivo.Com isso, a série de consumo torna-se compatível com o perfil de velocidade e carregamento, condição necessária para estimar impactos de fouling em eficiência energética.
A coluna pontuacao, que representa um
índice de fouling obtido por inspeção visual, apresenta poucos registros
preenchidos e caráter subjetivo. Para preservar a integridade dessa
informação escassa, optou-se por:
pontuacao_original,
preservando os poucos registros existentes.Sobre as séries tratadas, é construído o
fouling_index, um índice físico que
combina fatores diretamente associados ao acúmulo de bioincrustação:
consumo / speed),
capturando perda de eficiência hidrodinâmica.speed < 5 nós), que
aumenta a exposição ao fouling.Esses componentes são agregados em um índice bruto e reescalados para a faixa 0–4, alinhada a escalas de severidade inspiradas em referências como IMO e NORMAM.
Em seguida, é criada a
pontuacao_estimada, calibrando o índice
físico em relação aos poucos pontos com pontuacao_original
disponível:
pontuacao_original ~ fouling_index e
utiliza-se a equação para estimar pontuações em toda a série.fouling_index é ajustado (deslocado) de modo a refletir a
pontuação observada.fouling_index é usado como proxy de pontuação.Em todos os cenários, a pontuacao_estimada é limitada a
uma faixa plausível (por exemplo, 0–24), e a coluna
pontuacao_original permanece intacta.
Somente depois de concluído todo o tratamento em
nível de linha é feita a sumarização por dia. A base já
limpa é agregada por data_ref, produzindo um resumo diário
(df_dia) que inclui, por exemplo:
n_registros);tempo_low_speed_pct);beaufort_medio,
sea_condition_media);fouling_medio,
fouling_max e pontuacao_est_media.Essa camada diária não substitui a base detalhada, mas a complementa, oferecendo uma visão mais compacta e adequada para:
O pipeline de tratamento e sumarização por navio garante que:
pontuacao seja
preservada como dado de referência, evitando imputações
arbitrárias.fouling_index e
pontuacao_estimada) fiquem disponíveis em duas camadas
(linha a linha e diária), oferecendo uma base robusta para:
Este relatório pode ser reutilizado para qualquer navio, bastando
ajustar o parâmetro navio_alvo na seção de parâmetros do
documento ou ao rodar o Knit com
params = list(navio_alvo = "NOME_DO_NAVIO").