Sobre o projeto
demetrapy é uma interface Python independente para os procedimentos de ajuste sazonal do JDemetra+. Ele não reimplementa X13 ou TRAMO/SEATS em Python; em vez disso, chama o núcleo do JDemetra+ 2.2.6 por meio do JPype, portanto são necessários Python 3.11+ e Java 9+. O JAR fixado é baixado no primeiro uso para ~/.cache/demetrapy, e DEMETRAPY_JAR pode apontar para uma cópia local.
O fluxo de trabalho principal é TRAMO/SEATS sobre dados pandas. adjust_dataframe() infere frequência mensal, trimestral, semestral ou anual a partir de um DatetimeIndex regular e processa cada coluna numérica de forma independente. Os resultados expõem seis componentes: observado (y), ajustado para calendário (ycal), ajustado sazonalmente (sa), tendência (t), sazonal (s) e irregular (i). Os usuários podem selecionar componentes por nome compacto ou descritivo, unir histórico e previsões, inspecionar o status do processamento e exportar para CSV ou XLSX (uma planilha por componente). Métodos auxiliares incluem to_summary_frame(), to_forecast_frame(), to_combined_frame(), to_html_report() e for_series() para diagnósticos por série e metadados ARIMA ajustados.
A configuração é tipada ou baseada em JSON. TramoSeatsConfig e X13Config aceitam especificações como RSAfull e RSA4, além de opções de pré-processamento, automodel e seats, como prediction_length. O tratamento de calendário é flexível: um DataFrame separado de pool de calendário pode ser fornecido, e um mapeamento atribui diferentes variáveis de calendário definidas pelo usuário a cada série alvo, com colunas extras de pool permitidas.
Além da API principal, o pacote suporta sequências únicas via adjust() com frequência e início explícitos, processamento em lote de CSV via adjust_csv() e comparação de métodos por meio de compare_adjustments(). A saída da comparação inclui componentes alinhados e métricas pareadas (RMSE, diferença absoluta máxima, diferença média, correlação); o README observa que essas métricas descrevem diferenças numéricas e não selecionam uma especificação estatisticamente preferida. plot_comparison() renderiza candidatos alinhados além de um painel de diferenças.
Uma interface de linha de comando cobre ajuste, inicialização de configuração, validação e saída de auditoria. Um dashboard Streamlit (demetrapy-dashboard) executa o mesmo mecanismo, permitindo seleção de conjunto de dados ou upload de arquivo, mapeamento de calendário, controle de transformação, detecção de outliers e horizonte de previsão, inspeção interativa de componentes, retenção das 10 execuções de sessão mais recentes, comparação X13 vs TRAMO/SEATS e downloads de tabelas, resumos, relatórios HTML e um script Python reproduzível.
Carregadores sintéticos integrados (turismo mensal, produção industrial, varejo, emissões) são determinísticos e não requerem acesso à rede; alguns incluem variantes cientes de calendário. Documentação, início rápido, uso, configuração, exemplos e guias para Windows/configuração offline estão vinculados. O projeto declara que não é uma publicação oficial do JDemetra+ e aponta para rjdemetra para R e JWSACruncher para recálculos via CLI como alternativas.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.