Об этом проекте
demetrapy — это независимый интерфейс Python к процедурам сезонной корректировки JDemetra+. Он не переписывает X13 или TRAMO/SEATS на Python; вместо этого он вызывает ядро JDemetra+ 2.2.6 через JPype, поэтому требуются Python 3.11+ и Java 9+. Закреплённый JAR скачивается при первом использовании в ~/.cache/demetrapy, а DEMETRAPY_JAR может указывать на локальную копию.
Основной рабочий процесс — TRAMO/SEATS над данными pandas. adjust_dataframe() определяет месячную, квартальную, полугодовую или годовую частоту по регулярному DatetimeIndex и обрабатывает каждый числовой столбец независимо. Результаты предоставляют шесть компонент: observed (y), calendar_adjusted (ycal), seasonally_adjusted (sa), trend (t), seasonal (s) и irregular (i). Пользователи могут выбирать компоненты по компактному или описательному имени, объединять историю и прогнозы, проверять статус обработки и экспортировать в CSV или XLSX (один лист на компоненту). Вспомогательные методы включают to_summary_frame(), to_forecast_frame(), to_combined_frame(), to_html_report() и for_series() для диагностики по отдельным рядам и метаданных подобранной ARIMA.
Конфигурация типизирована или основана на JSON. TramoSeatsConfig и X13Config принимают спецификации, такие как RSAfull и RSA4, а также параметры предобработки, automodel и seats, например prediction_length. Работа с календарём гибкая: можно передать отдельный DataFrame пула календарей, а сопоставление назначает разные пользовательские календарные переменные каждому целевому ряду, при этом допускаются дополнительные столбцы пула.
Помимо основного API, пакет поддерживает отдельные последовательности через adjust() с явной частотой и началом, пакетную обработку CSV через adjust_csv() и сравнение методов через compare_adjustments(). Вывод сравнения включает выровненные компоненты и попарные метрики (RMSE, максимальное абсолютное различие, среднее различие, корреляция); в README отмечено, что эти метрики описывают числовые различия и не выбирают статистически предпочтительную спецификацию. plot_comparison() отображает выровненные кандидаты плюс панель различий.
Интерфейс командной строки охватывает корректировку, инициализацию конфигурации, валидацию и вывод аудита. Панель Streamlit (demetrapy-dashboard) запускает тот же движок, позволяя выбирать набор данных или загружать файл, сопоставлять календарь, управлять преобразованием, обнаружением выбросов и горизонтом прогноза, интерактивно просматривать компоненты, сохранять 10 последних сеансовых запусков, сравнивать X13 и TRAMO/SEATS и скачивать таблицы, сводки, HTML-отчёты и воспроизводящий скрипт Python.
Встроенные загрузчики синтетических данных (месячный туризм, промышленное производство, розничная торговля, выбросы) детерминированы и не требуют доступа к сети; некоторые включают варианты с учётом календаря. Ссылки ведут на документацию, быстрый старт, использование, конфигурацию, примеры и руководства по настройке в Windows/офлайн. Проект заявляет, что он не является официальной публикацией JDemetra+, и указывает rjdemetra для R и JWSACruncher для пересчётов через CLI как альтернативы.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.