| <!DOCTYPE html> |
| <html lang="en" data-bs-theme="light"> |
| <head> |
| <meta charset="utf-8"> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| |
| <meta name="author" content="Zipeng Wu"> |
| <link rel="canonical" href="https://systems-mechanobiology.github.io/DeTime/config-reference/"> |
| <link rel="shortcut icon" href="../img/favicon.ico"> |
| <title>Config Reference - DeTime</title> |
| <link href="../css/bootstrap.min.css" rel="stylesheet"> |
| <link href="../css/fontawesome.min.css" rel="stylesheet"> |
| <link href="../css/brands.min.css" rel="stylesheet"> |
| <link href="../css/solid.min.css" rel="stylesheet"> |
| <link href="../css/v4-font-face.min.css" rel="stylesheet"> |
| <link href="../css/base.css" rel="stylesheet"> |
| <link id="hljs-light" rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" > |
| <link id="hljs-dark" rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github-dark.min.css" disabled> |
| <link href="../stylesheets/brand.css" rel="stylesheet"> |
| <link href="../stylesheets/extra.css" rel="stylesheet"> |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script> |
| <script>hljs.highlightAll();</script> |
| |
| <meta name="robots" content="index, follow, max-image-preview:large"> |
| <meta name="keywords" content="DeTime, detime, de-time, time series decomposition, Python time series, SSA, MSSA, VMD, STL, decomposition software"> |
| <meta property="og:site_name" content="DeTime"> |
| <meta property="og:type" content="website"> |
| <meta property="og:title" content="DeTime - workflow-oriented time-series decomposition for Python"> |
| <meta property="og:description" content="DeTime is a Python and CLI toolkit for reproducible time-series decomposition across SSA, MSSA, VMD, STL, EMD, wavelet, and native C++ backed methods."> |
| <meta property="og:url" content="https://systems-mechanobiology.github.io/DeTime/"> |
| <meta property="og:image" content="https://systems-mechanobiology.github.io/DeTime/assets/brand/detime-title-card.svg"> |
| <meta name="twitter:card" content="summary_large_image"> |
| <meta name="twitter:title" content="DeTime - time-series decomposition for Python"> |
| <meta name="twitter:description" content="Workflow-oriented Python and CLI software for reproducible trend, oscillation, residual, and component decomposition."> |
| <script type="application/ld+json"> |
| { |
| "@context": "https://schema.org", |
| "@graph": [ |
| { |
| "@type": "WebSite", |
| "@id": "https://systems-mechanobiology.github.io/DeTime/#website", |
| "name": "DeTime", |
| "alternateName": ["detime", "de-time", "De-Time"], |
| "url": "https://systems-mechanobiology.github.io/DeTime/", |
| "description": "DeTime documentation for workflow-oriented time-series decomposition software.", |
| "inLanguage": "en" |
| }, |
| { |
| "@type": "SoftwareSourceCode", |
| "@id": "https://systems-mechanobiology.github.io/DeTime/#software", |
| "name": "DeTime", |
| "alternateName": ["detime", "de-time", "De-Time"], |
| "description": "Python and CLI toolkit for reproducible time-series decomposition with native C++ backed SSA, MSSA, VMD, STD, STDR, MA baseline, and Gabor clustering paths.", |
| "codeRepository": "https://github.com/systems-mechanobiology/DeTime", |
| "url": "https://systems-mechanobiology.github.io/DeTime/", |
| "programmingLanguage": ["Python", "C++"], |
| "applicationCategory": "Scientific software", |
| "keywords": "DeTime, time-series decomposition, Python, SSA, MSSA, VMD, STL, EMD, wavelet, native C++", |
| "author": { |
| "@type": "Person", |
| "name": "Zipeng Wu" |
| } |
| } |
| ] |
| } |
| </script> |
| <link rel="stylesheet" href="../stylesheets/extra.css?v=7"> |
|
|
| </head> |
|
|
| <body> |
| <div class="navbar fixed-top navbar-expand-lg navbar-dark bg-primary"> |
| <div class="container"> |
| <a class="navbar-brand" href="..">DeTime</a> |
| |
| <button type="button" class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navbar-collapse" aria-controls="navbar-collapse" aria-expanded="false" aria-label="Toggle navigation"> |
| <span class="navbar-toggler-icon"></span> |
| </button> |
|
|
| |
| <div id="navbar-collapse" class="navbar-collapse collapse"> |
| |
| <ul class="nav navbar-nav"> |
| <li class="nav-item"> |
| <a href=".." class="nav-link">Home</a> |
| </li> |
| <li class="nav-item dropdown"> |
| <a href="#" class="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown" aria-expanded="false">Start</a> |
| <ul class="dropdown-menu"> |
| |
| <li> |
| <a href="../install/" class="dropdown-item">Install</a> |
| </li> |
| |
| <li> |
| <a href="../quickstart/" class="dropdown-item">Quickstart</a> |
| </li> |
| </ul> |
| </li> |
| <li class="nav-item dropdown"> |
| <a href="#" class="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown" aria-expanded="false">Methods</a> |
| <ul class="dropdown-menu"> |
| |
| <li> |
| <a href="../methods/" class="dropdown-item">Methods & Chooser</a> |
| </li> |
| |
| <li> |
| <a href="../method-matrix/" class="dropdown-item">Method Matrix</a> |
| </li> |
| |
| <li> |
| <a href="../method-references/" class="dropdown-item">Method References</a> |
| </li> |
| </ul> |
| </li> |
| <li class="nav-item dropdown"> |
| <a href="#" class="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown" aria-expanded="false">Workflows</a> |
| <ul class="dropdown-menu"> |
| |
| <li> |
| <a href="../notebook-gallery/" class="dropdown-item">Notebook Gallery</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/univariate/" class="dropdown-item">Univariate Tutorial</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/multivariate/" class="dropdown-item">Multivariate Tutorial</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/cli-and-profiling/" class="dropdown-item">CLI Guide</a> |
| </li> |
| |
| <li class="dropdown-submenu"> |
| <a href="#" class="dropdown-item">Quant Trading Tutorial</a> |
| <ul class="dropdown-menu"> |
| |
| <li> |
| <a href="../tutorials/quant-trading/" class="dropdown-item">Overview</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/quant-trading/notebooks/" class="dropdown-item">Tutorial Notebooks</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/quant-trading/notebooks/00_decomposition_first_quant_trading_roadmap/" class="dropdown-item">Tutorial 00 Roadmap</a> |
| </li> |
| |
| <li class="dropdown-submenu"> |
| <a href="#" class="dropdown-item">Strategy Lab</a> |
| <ul class="dropdown-menu"> |
| |
| <li> |
| <a href="../tutorials/quant-trading/two-strategy-families/" class="dropdown-item">Two Strategy Families</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/quant-trading/notebooks/01_detime_trend_following_strategy_lab/" class="dropdown-item">01 Trend-Following Lab</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/quant-trading/notebooks/02_detime_oscillation_reversion_strategy_lab/" class="dropdown-item">02 Oscillation-Reversion Lab</a> |
| </li> |
| </ul> |
| </li> |
| |
| <li class="dropdown-submenu"> |
| <a href="#" class="dropdown-item">Strategy Expansion</a> |
| <ul class="dropdown-menu"> |
| |
| <li> |
| <a href="../tutorials/quant-trading/method-specific-strategy-expansion/" class="dropdown-item">Method-Specific Strategy Expansion</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/quant-trading/notebooks/03_detime_method_specific_strategy_variants/" class="dropdown-item">03 Method-Specific Variants</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/quant-trading/notebooks/04_detime_component_pair_trading_cointegration/" class="dropdown-item">04 Component Pair Trading</a> |
| </li> |
| </ul> |
| </li> |
| |
| <li class="dropdown-submenu"> |
| <a href="#" class="dropdown-item">Tutorial Sequence</a> |
| <ul class="dropdown-menu"> |
| |
| <li> |
| <a href="../tutorials/quant-trading/notebooks/01_market_data_and_decomposition_feature_factory/" class="dropdown-item">01 Real Market Data and Feature Factory</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/quant-trading/notebooks/02_decomposition_aware_moving_average_macd/" class="dropdown-item">02 Decomposition-aware MA and MACD</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/quant-trading/notebooks/03_residual_mean_reversion_rsi_bollinger/" class="dropdown-item">03 Residual Mean Reversion</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/quant-trading/notebooks/04_turtle_donchian_breakout_volume_confirmation/" class="dropdown-item">04 Donchian Breakout</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/quant-trading/notebooks/05_pairs_spread_decomposition_stat_arb/" class="dropdown-item">05 Pair-Spread Stat-Arb</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/quant-trading/notebooks/06_cross_sectional_rotation_portfolio/" class="dropdown-item">06 Cross-Sectional Rotation</a> |
| </li> |
| </ul> |
| </li> |
| |
| <li class="dropdown-submenu"> |
| <a href="#" class="dropdown-item">Native SSA Replay</a> |
| <ul class="dropdown-menu"> |
| |
| <li> |
| <a href="../tutorials/quant-trading/notebooks/07_native_ssa_high_return_low_drawdown_tutorial/" class="dropdown-item">07 Native SSA High-Return / Low-Drawdown</a> |
| </li> |
| </ul> |
| </li> |
| |
| <li> |
| <a href="../tutorials/quant-trading/data/" class="dropdown-item">Real Data and Universes</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/quant-trading/strategy-map/" class="dropdown-item">Strategy Map</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/quant-trading/backtesting-frameworks/" class="dropdown-item">Backtesting Frameworks</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/quant-trading/walkforward/" class="dropdown-item">Walk-Forward Validation</a> |
| </li> |
| </ul> |
| </li> |
| |
| <li class="dropdown-submenu"> |
| <a href="#" class="dropdown-item">Hot Trend Lab</a> |
| <ul class="dropdown-menu"> |
| |
| <li> |
| <a href="../tutorials/hot-trend-lab/" class="dropdown-item">Overview</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/hot-trend-lab/notebooks/" class="dropdown-item">Rendered Notebooks</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/hot-trend-lab/notebooks/00_hot_trend_lab_overview/" class="dropdown-item">00 Column Overview</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/hot-trend-lab/notebooks/01_arxiv_category_pulse/" class="dropdown-item">01 arXiv Category Pulse</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/hot-trend-lab/notebooks/02_arxiv_agent_research_pulse/" class="dropdown-item">02 arXiv Agent Research Pulse</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/hot-trend-lab/notebooks/03_huggingface_open_model_pulse/" class="dropdown-item">03 Hugging Face Open-Model Pulse</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/hot-trend-lab/notebooks/04_github_ai_agent_star_velocity/" class="dropdown-item">04 GitHub Star Velocity</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/hot-trend-lab/notebooks/05_wikipedia_attention_hype_decay/" class="dropdown-item">05 Wikipedia Attention Decay</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/hot-trend-lab/notebooks/06_crypto_stablecoin_liquidity_pulse/" class="dropdown-item">06 Crypto Stablecoin Liquidity</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/hot-trend-lab/notebooks/07_ai_infrastructure_market_pulse/" class="dropdown-item">07 AI Infrastructure Market Pulse</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/hot-trend-lab/data-sources/" class="dropdown-item">Real Data Sources</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/hot-trend-lab/arxiv-research-pulse/" class="dropdown-item">arXiv Research Pulse</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/hot-trend-lab/open-model-and-developer-attention/" class="dropdown-item">Open Models and Developer Attention</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/hot-trend-lab/wiki-market-crypto-attention/" class="dropdown-item">Public Attention, Markets, and Crypto</a> |
| </li> |
| |
| <li> |
| <a href="../tutorials/hot-trend-lab/release-calendar/" class="dropdown-item">Release Calendar</a> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="nav-item dropdown"> |
| <a href="#" class="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown" aria-expanded="false">Gallery</a> |
| <ul class="dropdown-menu"> |
| |
| <li> |
| <a href="../gallery/ssa/" class="dropdown-item">SSA</a> |
| </li> |
| |
| <li> |
| <a href="../gallery/std/" class="dropdown-item">STD</a> |
| </li> |
| |
| <li> |
| <a href="../gallery/stdr/" class="dropdown-item">STDR</a> |
| </li> |
| |
| <li> |
| <a href="../gallery/mssa/" class="dropdown-item">MSSA</a> |
| </li> |
| |
| <li> |
| <a href="../gallery/stl/" class="dropdown-item">STL</a> |
| </li> |
| |
| <li> |
| <a href="../gallery/mstl/" class="dropdown-item">MSTL</a> |
| </li> |
| |
| <li> |
| <a href="../gallery/robust-stl/" class="dropdown-item">ROBUST_STL</a> |
| </li> |
| |
| <li> |
| <a href="../gallery/emd/" class="dropdown-item">EMD</a> |
| </li> |
| |
| <li> |
| <a href="../gallery/ceemdan/" class="dropdown-item">CEEMDAN</a> |
| </li> |
| |
| <li> |
| <a href="../gallery/vmd/" class="dropdown-item">VMD</a> |
| </li> |
| |
| <li> |
| <a href="../gallery/wavelet/" class="dropdown-item">WAVELET</a> |
| </li> |
| |
| <li> |
| <a href="../gallery/ma-baseline/" class="dropdown-item">MA_BASELINE</a> |
| </li> |
| |
| <li> |
| <a href="../gallery/mvmd/" class="dropdown-item">MVMD</a> |
| </li> |
| |
| <li> |
| <a href="../gallery/memd/" class="dropdown-item">MEMD</a> |
| </li> |
| |
| <li> |
| <a href="../gallery/gabor-cluster/" class="dropdown-item">GABOR_CLUSTER</a> |
| </li> |
| </ul> |
| </li> |
| <li class="nav-item dropdown"> |
| <a href="#" class="nav-link dropdown-toggle active" aria-current="page" role="button" data-bs-toggle="dropdown" aria-expanded="false">Reference</a> |
| <ul class="dropdown-menu"> |
| |
| <li> |
| <a href="../api/" class="dropdown-item">API Overview</a> |
| </li> |
| |
| <li> |
| <a href="./" class="dropdown-item active" aria-current="page">Config Reference</a> |
| </li> |
| |
| <li> |
| <a href="../machine-api/" class="dropdown-item">Machine API</a> |
| </li> |
| </ul> |
| </li> |
| <li class="nav-item dropdown"> |
| <a href="#" class="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown" aria-expanded="false">Project</a> |
| <ul class="dropdown-menu"> |
| |
| <li> |
| <a href="../comparisons/" class="dropdown-item">Compare Alternatives</a> |
| </li> |
| |
| <li> |
| <a href="../reproducibility/" class="dropdown-item">Reproducibility</a> |
| </li> |
| |
| <li> |
| <a href="../architecture/" class="dropdown-item">Architecture</a> |
| </li> |
| |
| <li> |
| <a href="../migration/" class="dropdown-item">Migration from `tsdecomp`</a> |
| </li> |
| |
| <li> |
| <a href="../contributing/" class="dropdown-item">Contributing</a> |
| </li> |
| |
| <li> |
| <a href="../citation/" class="dropdown-item">Citation / Release Notes</a> |
| </li> |
| </ul> |
| </li> |
| </ul> |
|
|
| <ul class="nav navbar-nav ms-md-auto"> |
| <li class="nav-item"> |
| <a href="#" class="nav-link" data-bs-toggle="modal" data-bs-target="#mkdocs_search_modal"> |
| <i class="fa fa-search"></i> Search |
| </a> |
| </li> |
| <li class="nav-item"> |
| <a rel="prev" href="../api/" class="nav-link"> |
| <i class="fa fa-arrow-left"></i> Previous |
| </a> |
| </li> |
| <li class="nav-item"> |
| <a rel="next" href="../machine-api/" class="nav-link"> |
| Next <i class="fa fa-arrow-right"></i> |
| </a> |
| </li> |
| <li class="nav-item"> |
| <a href="https://github.com/systems-mechanobiology/DeTime" class="nav-link">systems-mechanobiology/DeTime</a> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
|
|
| <div class="container"> |
| <div class="row"> |
| <div class="col-md-3"><div class="navbar-expand-md bs-sidebar hidden-print affix" role="complementary"> |
| <div class="navbar-header"> |
| <button type="button" class="navbar-toggler collapsed" data-bs-toggle="collapse" data-bs-target="#toc-collapse" title="Table of Contents"> |
| <span class="fa fa-angle-down"></span> |
| </button> |
| </div> |
|
|
| |
| <div id="toc-collapse" class="navbar-collapse collapse card bg-body-tertiary"> |
| <ul class="nav flex-column"> |
| |
| <li class="nav-item" data-bs-level="1"><a href="#config-reference" class="nav-link">Config Reference</a> |
| <ul class="nav flex-column"> |
| <li class="nav-item" data-bs-level="2"><a href="#top-level-fields" class="nav-link">Top-level fields</a> |
| <ul class="nav flex-column"> |
| </ul> |
| </li> |
| <li class="nav-item" data-bs-level="2"><a href="#complete-examples" class="nav-link">Complete examples</a> |
| <ul class="nav flex-column"> |
| </ul> |
| </li> |
| <li class="nav-item" data-bs-level="2"><a href="#method-specific-parameters" class="nav-link">Method-specific parameters</a> |
| <ul class="nav flex-column"> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| </div></div> |
| <div class="col-md-9" role="main"> |
|
|
| <h1 id="config-reference">Config Reference</h1> |
| <p><code>DecompositionConfig</code> is the single runtime contract shared by Python, CLI, |
| docs examples, and machine-facing schema exports.</p> |
| <p>Current package version target: <code>0.1.1</code>.</p> |
| <h2 id="top-level-fields">Top-level fields</h2> |
| <table> |
| <thead> |
| <tr> |
| <th>Field</th> |
| <th>Type</th> |
| <th>Default</th> |
| <th>Semantics</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>method</code></td> |
| <td><code>str</code></td> |
| <td>required</td> |
| <td>Registered method name such as <code>SSA</code>, <code>STD</code>, <code>STDR</code>, or <code>MSSA</code>.</td> |
| </tr> |
| <tr> |
| <td><code>params</code></td> |
| <td><code>dict[str, Any]</code></td> |
| <td><code>{}</code></td> |
| <td>Method-specific parameters documented below.</td> |
| </tr> |
| <tr> |
| <td><code>return_components</code></td> |
| <td><code>list[str] \| None</code></td> |
| <td><code>None</code></td> |
| <td>Compatibility field; retained methods return the normalized result object.</td> |
| </tr> |
| <tr> |
| <td><code>backend</code></td> |
| <td><code>auto \| native \| python \| gpu</code></td> |
| <td><code>auto</code></td> |
| <td>Backend preference. <code>native</code> requires an available native kernel.</td> |
| </tr> |
| <tr> |
| <td><code>speed_mode</code></td> |
| <td><code>exact \| fast</code></td> |
| <td><code>exact</code></td> |
| <td>Accuracy policy. Native <code>SSA</code> uses exact SVD in <code>exact</code> and an iterative approximation in <code>fast</code>.</td> |
| </tr> |
| <tr> |
| <td><code>profile</code></td> |
| <td><code>bool</code></td> |
| <td><code>False</code></td> |
| <td>Attach runtime metadata or produce profile reports when routed through the profiler.</td> |
| </tr> |
| <tr> |
| <td><code>device</code></td> |
| <td><code>str \| None</code></td> |
| <td><code>cpu</code></td> |
| <td>Reserved device selector; retained methods are CPU workflows unless a wrapper says otherwise.</td> |
| </tr> |
| <tr> |
| <td><code>n_jobs</code></td> |
| <td><code>int</code></td> |
| <td><code>1</code></td> |
| <td>Parallelism hint for wrappers that support it.</td> |
| </tr> |
| <tr> |
| <td><code>seed</code></td> |
| <td><code>int \| None</code></td> |
| <td><code>42</code></td> |
| <td>Seed used by approximate or randomized paths where relevant.</td> |
| </tr> |
| <tr> |
| <td><code>channel_names</code></td> |
| <td><code>list[str] \| None</code></td> |
| <td><code>None</code></td> |
| <td>Optional labels for aligned multivariate channels.</td> |
| </tr> |
| </tbody> |
| </table> |
| <h2 id="complete-examples">Complete examples</h2> |
| <h3 id="univariate-ssa">Univariate SSA</h3> |
| <pre><code class="language-json">{ |
| "backend": "auto", |
| "method": "SSA", |
| "params": { |
| "primary_period": 12, |
| "rank": 6, |
| "window": 24 |
| }, |
| "seed": 42, |
| "speed_mode": "exact" |
| } |
| </code></pre> |
| <h3 id="seasonal-std">Seasonal STD</h3> |
| <pre><code class="language-json">{ |
| "backend": "auto", |
| "method": "STD", |
| "params": { |
| "period": 12 |
| }, |
| "speed_mode": "exact" |
| } |
| </code></pre> |
| <h3 id="multivariate-mssa">Multivariate MSSA</h3> |
| <pre><code class="language-json">{ |
| "backend": "auto", |
| "channel_names": [ |
| "channel_a", |
| "channel_b", |
| "channel_c" |
| ], |
| "method": "MSSA", |
| "params": { |
| "primary_period": 12, |
| "rank": 6, |
| "window": 24 |
| }, |
| "speed_mode": "exact" |
| } |
| </code></pre> |
| <h2 id="method-specific-parameters">Method-specific parameters</h2> |
| <h3 id="amd_block"><code>AMD_BLOCK</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>experimental</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.trend</code>, <code>components.season</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>primary_period</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Dominant period hint used by neural block heuristics.</td> |
| </tr> |
| <tr> |
| <td><code>fit_scope</code></td> |
| <td>str</td> |
| <td style="text-align: right;">no</td> |
| <td><code>"full"</code></td> |
| <td>Whether to fit templates on the full series or a prefix window.</td> |
| </tr> |
| <tr> |
| <td><code>train_fraction</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>0.6</code></td> |
| <td>Prefix fraction used when fit_scope='prefix'.</td> |
| </tr> |
| <tr> |
| <td><code>multiscale_windows</code></td> |
| <td>list[int] | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Smoothing windows averaged into the multiscale trend.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "AMD_BLOCK", |
| "params": { |
| "fit_scope": "full", |
| "multiscale_windows": [ |
| 13, |
| 25, |
| 49 |
| ], |
| "primary_period": 12 |
| } |
| } |
| </code></pre> |
| <h3 id="autoformer_block"><code>AUTOFORMER_BLOCK</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>experimental</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.moving_mean</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>moving_avg</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Moving-average window used by the extracted forecasting block.</td> |
| </tr> |
| <tr> |
| <td><code>window</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Alias for moving_avg.</td> |
| </tr> |
| <tr> |
| <td><code>primary_period</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Period hint used to derive the moving-average window.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "AUTOFORMER_BLOCK", |
| "params": { |
| "moving_avg": 25, |
| "primary_period": 12 |
| } |
| } |
| </code></pre> |
| <h3 id="ceemdan"><code>CEEMDAN</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>stable</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.imfs</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>trials</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>50</code></td> |
| <td>Number of noise-assisted ensemble trials.</td> |
| </tr> |
| <tr> |
| <td><code>noise_width</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>0.05</code></td> |
| <td>Relative width of the injected noise.</td> |
| </tr> |
| <tr> |
| <td><code>primary_period</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Period hint for grouping IMFs into season and trend.</td> |
| </tr> |
| <tr> |
| <td><code>fs</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>1.0</code></td> |
| <td>Sampling frequency used by grouping heuristics.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "CEEMDAN", |
| "params": { |
| "noise_width": 0.05, |
| "primary_period": 12, |
| "trials": 20 |
| } |
| } |
| </code></pre> |
| <h3 id="delelstm_block"><code>DELELSTM_BLOCK</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>experimental</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.trend</code>, <code>components.season</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>primary_period</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Dominant period hint used by neural block heuristics.</td> |
| </tr> |
| <tr> |
| <td><code>fit_scope</code></td> |
| <td>str</td> |
| <td style="text-align: right;">no</td> |
| <td><code>"full"</code></td> |
| <td>Whether to fit templates on the full series or a prefix window.</td> |
| </tr> |
| <tr> |
| <td><code>train_fraction</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>0.6</code></td> |
| <td>Prefix fraction used when fit_scope='prefix'.</td> |
| </tr> |
| <tr> |
| <td><code>alpha</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>0.4</code></td> |
| <td>Holt level smoothing coefficient.</td> |
| </tr> |
| <tr> |
| <td><code>beta</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>0.2</code></td> |
| <td>Holt slope smoothing coefficient.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "DELELSTM_BLOCK", |
| "params": { |
| "alpha": 0.2, |
| "beta": 0.1, |
| "fit_scope": "full", |
| "primary_period": 12 |
| } |
| } |
| </code></pre> |
| <h3 id="dlinear_block"><code>DLINEAR_BLOCK</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>experimental</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.moving_mean</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>moving_avg</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Moving-average window used by the extracted forecasting block.</td> |
| </tr> |
| <tr> |
| <td><code>window</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Alias for moving_avg.</td> |
| </tr> |
| <tr> |
| <td><code>primary_period</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Period hint used to derive the moving-average window.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "DLINEAR_BLOCK", |
| "params": { |
| "moving_avg": 25, |
| "primary_period": 12 |
| } |
| } |
| </code></pre> |
| <h3 id="emd"><code>EMD</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>stable</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.imfs</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>n_imfs</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Maximum number of intrinsic mode functions to retain.</td> |
| </tr> |
| <tr> |
| <td><code>primary_period</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Period hint for grouping IMFs into season and trend.</td> |
| </tr> |
| <tr> |
| <td><code>trend_imfs</code></td> |
| <td>list[int] | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Explicit IMF indexes assigned to trend.</td> |
| </tr> |
| <tr> |
| <td><code>season_imfs</code></td> |
| <td>list[int] | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Explicit IMF indexes assigned to season.</td> |
| </tr> |
| <tr> |
| <td><code>fs</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>1.0</code></td> |
| <td>Sampling frequency used by grouping heuristics.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "EMD", |
| "params": { |
| "n_imfs": 4, |
| "primary_period": 12 |
| } |
| } |
| </code></pre> |
| <h3 id="freqmoe_block"><code>FREQMOE_BLOCK</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>experimental</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.trend</code>, <code>components.season</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>primary_period</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Dominant period hint used by neural block heuristics.</td> |
| </tr> |
| <tr> |
| <td><code>fit_scope</code></td> |
| <td>str</td> |
| <td style="text-align: right;">no</td> |
| <td><code>"full"</code></td> |
| <td>Whether to fit templates on the full series or a prefix window.</td> |
| </tr> |
| <tr> |
| <td><code>train_fraction</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>0.6</code></td> |
| <td>Prefix fraction used when fit_scope='prefix'.</td> |
| </tr> |
| <tr> |
| <td><code>trend_window</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Moving-average trend window.</td> |
| </tr> |
| <tr> |
| <td><code>num_bands</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>4</code></td> |
| <td>Number of frequency bands in the mixture.</td> |
| </tr> |
| <tr> |
| <td><code>expert_width</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>64</code></td> |
| <td>Frequency expert width used by the scaffold.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "FREQMOE_BLOCK", |
| "params": { |
| "expert_width": 64, |
| "fit_scope": "full", |
| "num_bands": 4, |
| "primary_period": 12 |
| } |
| } |
| </code></pre> |
| <h3 id="gabor_cluster"><code>GABOR_CLUSTER</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>experimental</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.clusters</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>model</code></td> |
| <td>GaborClusterModel | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>In-memory trained clustering model.</td> |
| </tr> |
| <tr> |
| <td><code>model_path</code></td> |
| <td>str | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Path to a serialized trained clustering model.</td> |
| </tr> |
| <tr> |
| <td><code>max_clusters</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Optional cap on clusters used during reconstruction.</td> |
| </tr> |
| <tr> |
| <td><code>trend_freq_thr</code></td> |
| <td>float | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Frequency threshold used for trend-like atoms.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "GABOR_CLUSTER", |
| "params": { |
| "model_path": "path/to/trained-gabor-model.pkl" |
| } |
| } |
| </code></pre> |
| <h3 id="inparformer_block"><code>INPARFORMER_BLOCK</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>experimental</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.trend</code>, <code>components.season</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>primary_period</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Dominant period hint used by neural block heuristics.</td> |
| </tr> |
| <tr> |
| <td><code>fit_scope</code></td> |
| <td>str</td> |
| <td style="text-align: right;">no</td> |
| <td><code>"full"</code></td> |
| <td>Whether to fit templates on the full series or a prefix window.</td> |
| </tr> |
| <tr> |
| <td><code>train_fraction</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>0.6</code></td> |
| <td>Prefix fraction used when fit_scope='prefix'.</td> |
| </tr> |
| <tr> |
| <td><code>trend_window</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Moving-average trend window.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "INPARFORMER_BLOCK", |
| "params": { |
| "fit_scope": "full", |
| "primary_period": 12, |
| "trend_window": 25 |
| } |
| } |
| </code></pre> |
| <h3 id="leddam_block"><code>LEDDAM_BLOCK</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>experimental</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.ld_trend</code>, <code>components.kernel</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>kernel_size</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>25</code></td> |
| <td>Odd Gaussian smoothing kernel size.</td> |
| </tr> |
| <tr> |
| <td><code>sigma</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>1.0</code></td> |
| <td>Gaussian smoothing kernel sigma.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "LEDDAM_BLOCK", |
| "params": { |
| "kernel_size": 25, |
| "sigma": 1.0 |
| } |
| } |
| </code></pre> |
| <h3 id="ma_baseline"><code>MA_BASELINE</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>stable</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>trend_window</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>7</code></td> |
| <td>Moving-average window used for the trend estimate.</td> |
| </tr> |
| <tr> |
| <td><code>season_period</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Optional period for a simple seasonal average.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "MA_BASELINE", |
| "params": { |
| "season_period": 12, |
| "trend_window": 7 |
| } |
| } |
| </code></pre> |
| <h3 id="memd"><code>MEMD</code></h3> |
| <ul> |
| <li>Input mode: <code>multivariate</code></li> |
| <li>Maturity: <code>optional-backend</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.imfs</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>primary_period</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Shared period hint for grouping multivariate IMFs.</td> |
| </tr> |
| <tr> |
| <td><code>trend_modes</code></td> |
| <td>list[int] | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Explicit mode indexes assigned to trend.</td> |
| </tr> |
| <tr> |
| <td><code>season_modes</code></td> |
| <td>list[int] | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Explicit mode indexes assigned to season.</td> |
| </tr> |
| <tr> |
| <td><code>fs</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>1.0</code></td> |
| <td>Sampling frequency used by grouping heuristics.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "MEMD", |
| "params": { |
| "primary_period": 12 |
| } |
| } |
| </code></pre> |
| <h3 id="moving_average_decomposition_block"><code>MOVING_AVERAGE_DECOMPOSITION_BLOCK</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>experimental</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.moving_mean</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>moving_avg</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Moving-average window used by the extracted forecasting block.</td> |
| </tr> |
| <tr> |
| <td><code>window</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Alias for moving_avg.</td> |
| </tr> |
| <tr> |
| <td><code>primary_period</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Period hint used to derive the moving-average window.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "MOVING_AVERAGE_DECOMPOSITION_BLOCK", |
| "params": { |
| "moving_avg": 25, |
| "primary_period": 12 |
| } |
| } |
| </code></pre> |
| <h3 id="mssa"><code>MSSA</code></h3> |
| <ul> |
| <li>Input mode: <code>multivariate</code></li> |
| <li>Maturity: <code>flagship</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.elementary</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>window</code></td> |
| <td>int</td> |
| <td style="text-align: right;">yes</td> |
| <td>required</td> |
| <td>Shared embedding window length for aligned channels.</td> |
| </tr> |
| <tr> |
| <td><code>rank</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Number of shared elementary components to retain.</td> |
| </tr> |
| <tr> |
| <td><code>primary_period</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Dominant shared period used by automatic grouping.</td> |
| </tr> |
| <tr> |
| <td><code>fs</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>1.0</code></td> |
| <td>Sampling frequency used by frequency-based grouping.</td> |
| </tr> |
| <tr> |
| <td><code>trend_components</code></td> |
| <td>list[int] | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Explicit component indexes assigned to trend.</td> |
| </tr> |
| <tr> |
| <td><code>season_components</code></td> |
| <td>list[int] | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Explicit component indexes assigned to season.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "backend": "auto", |
| "channel_names": [ |
| "channel_a", |
| "channel_b", |
| "channel_c" |
| ], |
| "method": "MSSA", |
| "params": { |
| "primary_period": 12, |
| "rank": 6, |
| "window": 24 |
| }, |
| "speed_mode": "exact" |
| } |
| </code></pre> |
| <h3 id="mstl"><code>MSTL</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>stable</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.seasonal_terms</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>periods</code></td> |
| <td>list[int]</td> |
| <td style="text-align: right;">yes</td> |
| <td>required</td> |
| <td>One or more seasonal periods passed to statsmodels MSTL.</td> |
| </tr> |
| <tr> |
| <td><code>windows</code></td> |
| <td>list[int] | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Optional smoother windows aligned with periods.</td> |
| </tr> |
| <tr> |
| <td><code>stl_kwargs</code></td> |
| <td>dict | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Additional statsmodels STL keyword arguments.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "MSTL", |
| "params": { |
| "periods": [ |
| 12, |
| 24 |
| ] |
| } |
| } |
| </code></pre> |
| <h3 id="mvmd"><code>MVMD</code></h3> |
| <ul> |
| <li>Input mode: <code>multivariate</code></li> |
| <li>Maturity: <code>optional-backend</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.modes</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>K</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>4</code></td> |
| <td>Number of shared variational modes requested from PySDKit.</td> |
| </tr> |
| <tr> |
| <td><code>alpha</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>2000.0</code></td> |
| <td>Bandwidth penalty parameter for the MVMD backend.</td> |
| </tr> |
| <tr> |
| <td><code>primary_period</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Shared period hint for grouping modes.</td> |
| </tr> |
| <tr> |
| <td><code>fs</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>1.0</code></td> |
| <td>Sampling frequency used by grouping heuristics.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "MVMD", |
| "params": { |
| "K": 4, |
| "alpha": 2000.0, |
| "primary_period": 12 |
| } |
| } |
| </code></pre> |
| <h3 id="nbeats_interpretable"><code>NBEATS_INTERPRETABLE</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>experimental</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.trend</code>, <code>components.season</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>degree_of_polynomial</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>3</code></td> |
| <td>Polynomial trend basis degree.</td> |
| </tr> |
| <tr> |
| <td><code>num_harmonics</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>8</code></td> |
| <td>Number of Fourier harmonics in the seasonality stack.</td> |
| </tr> |
| <tr> |
| <td><code>trend_blocks</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>2</code></td> |
| <td>Number of interpretable trend blocks.</td> |
| </tr> |
| <tr> |
| <td><code>seasonality_blocks</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>2</code></td> |
| <td>Number of interpretable seasonality blocks.</td> |
| </tr> |
| <tr> |
| <td><code>layers</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>6</code></td> |
| <td>Fully connected layers per block.</td> |
| </tr> |
| <tr> |
| <td><code>layer_size</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>128</code></td> |
| <td>Hidden width for each block.</td> |
| </tr> |
| <tr> |
| <td><code>fit_scope</code></td> |
| <td>str</td> |
| <td style="text-align: right;">no</td> |
| <td><code>"full"</code></td> |
| <td>Whether to fit on the full series or prefix window.</td> |
| </tr> |
| <tr> |
| <td><code>train_fraction</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>0.6</code></td> |
| <td>Prefix fraction used when fit_scope='prefix'.</td> |
| </tr> |
| <tr> |
| <td><code>n_epochs</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>200</code></td> |
| <td>Maximum torch optimization epochs.</td> |
| </tr> |
| <tr> |
| <td><code>patience</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>40</code></td> |
| <td>Early-stopping patience.</td> |
| </tr> |
| <tr> |
| <td><code>restarts</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>2</code></td> |
| <td>Number of random restarts.</td> |
| </tr> |
| <tr> |
| <td><code>learning_rate</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>0.001</code></td> |
| <td>Adam learning rate.</td> |
| </tr> |
| <tr> |
| <td><code>weight_decay</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>0.0001</code></td> |
| <td>Adam weight decay.</td> |
| </tr> |
| <tr> |
| <td><code>device</code></td> |
| <td>str</td> |
| <td style="text-align: right;">no</td> |
| <td><code>"auto"</code></td> |
| <td>Torch device: auto, cpu, cuda, or gpu.</td> |
| </tr> |
| <tr> |
| <td><code>seed</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>0</code></td> |
| <td>Base random seed for torch restarts.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "NBEATS_INTERPRETABLE", |
| "params": { |
| "fit_scope": "full", |
| "n_epochs": 200, |
| "num_harmonics": 8, |
| "restarts": 2 |
| } |
| } |
| </code></pre> |
| <h3 id="parsimony_block"><code>PARSIMONY_BLOCK</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>experimental</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.trend</code>, <code>components.season</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>primary_period</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Dominant period hint used by neural block heuristics.</td> |
| </tr> |
| <tr> |
| <td><code>fit_scope</code></td> |
| <td>str</td> |
| <td style="text-align: right;">no</td> |
| <td><code>"full"</code></td> |
| <td>Whether to fit templates on the full series or a prefix window.</td> |
| </tr> |
| <tr> |
| <td><code>train_fraction</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>0.6</code></td> |
| <td>Prefix fraction used when fit_scope='prefix'.</td> |
| </tr> |
| <tr> |
| <td><code>trend_window</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Moving-average trend window.</td> |
| </tr> |
| <tr> |
| <td><code>num_harmonics</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>2</code></td> |
| <td>Number of harmonic seasonal terms.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "PARSIMONY_BLOCK", |
| "params": { |
| "fit_scope": "full", |
| "num_harmonics": 2, |
| "primary_period": 12, |
| "trend_window": 13 |
| } |
| } |
| </code></pre> |
| <h3 id="robust_stl"><code>ROBUST_STL</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>stable</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>period</code></td> |
| <td>int</td> |
| <td style="text-align: right;">yes</td> |
| <td>required</td> |
| <td>Seasonal period passed to robust statsmodels STL.</td> |
| </tr> |
| <tr> |
| <td><code>seasonal</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Odd LOESS seasonal smoother length.</td> |
| </tr> |
| <tr> |
| <td><code>trend</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Odd LOESS trend smoother length.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "ROBUST_STL", |
| "params": { |
| "period": 12 |
| } |
| } |
| </code></pre> |
| <h3 id="ssa"><code>SSA</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>flagship</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.elementary</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>window</code></td> |
| <td>int</td> |
| <td style="text-align: right;">yes</td> |
| <td>required</td> |
| <td>Embedding window length for trajectory-matrix construction.</td> |
| </tr> |
| <tr> |
| <td><code>rank</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Number of elementary components to retain before grouping.</td> |
| </tr> |
| <tr> |
| <td><code>primary_period</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Dominant seasonal period used by automatic grouping.</td> |
| </tr> |
| <tr> |
| <td><code>fs</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>1.0</code></td> |
| <td>Sampling frequency used by frequency-based grouping.</td> |
| </tr> |
| <tr> |
| <td><code>trend_components</code></td> |
| <td>list[int] | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Explicit component indexes assigned to trend.</td> |
| </tr> |
| <tr> |
| <td><code>season_components</code></td> |
| <td>list[int] | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Explicit component indexes assigned to season.</td> |
| </tr> |
| <tr> |
| <td><code>power_iterations</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>4</code></td> |
| <td>Fast native mode iteration count when speed_mode='fast'.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "backend": "auto", |
| "method": "SSA", |
| "params": { |
| "primary_period": 12, |
| "rank": 6, |
| "window": 24 |
| }, |
| "seed": 42, |
| "speed_mode": "exact" |
| } |
| </code></pre> |
| <h3 id="std"><code>STD</code></h3> |
| <ul> |
| <li>Input mode: <code>channelwise</code></li> |
| <li>Maturity: <code>flagship</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.dispersion</code>, <code>components.seasonal_shape</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>period</code></td> |
| <td>int</td> |
| <td style="text-align: right;">yes</td> |
| <td>required</td> |
| <td>Seasonal period in samples.</td> |
| </tr> |
| <tr> |
| <td><code>max_period_search</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Optional search horizon when period inference is enabled.</td> |
| </tr> |
| <tr> |
| <td><code>eps</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>1e-08</code></td> |
| <td>Small numerical guard for dispersion calculations.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "backend": "auto", |
| "method": "STD", |
| "params": { |
| "period": 12 |
| }, |
| "speed_mode": "exact" |
| } |
| </code></pre> |
| <h3 id="stdr"><code>STDR</code></h3> |
| <ul> |
| <li>Input mode: <code>channelwise</code></li> |
| <li>Maturity: <code>flagship</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.dispersion</code>, <code>components.seasonal_shape</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>period</code></td> |
| <td>int</td> |
| <td style="text-align: right;">yes</td> |
| <td>required</td> |
| <td>Seasonal period in samples.</td> |
| </tr> |
| <tr> |
| <td><code>max_period_search</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Optional search horizon when period inference is enabled.</td> |
| </tr> |
| <tr> |
| <td><code>eps</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>1e-08</code></td> |
| <td>Small numerical guard for robust dispersion calculations.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "backend": "auto", |
| "method": "STDR", |
| "params": { |
| "period": 12 |
| }, |
| "speed_mode": "exact" |
| } |
| </code></pre> |
| <h3 id="stl"><code>STL</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>stable</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>period</code></td> |
| <td>int</td> |
| <td style="text-align: right;">yes</td> |
| <td>required</td> |
| <td>Seasonal period passed to statsmodels STL.</td> |
| </tr> |
| <tr> |
| <td><code>seasonal</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Odd LOESS seasonal smoother length.</td> |
| </tr> |
| <tr> |
| <td><code>trend</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Odd LOESS trend smoother length.</td> |
| </tr> |
| <tr> |
| <td><code>robust</code></td> |
| <td>bool</td> |
| <td style="text-align: right;">no</td> |
| <td><code>false</code></td> |
| <td>Whether to use robust LOESS fitting.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "STL", |
| "params": { |
| "period": 12 |
| } |
| } |
| </code></pre> |
| <h3 id="st_mtm_block"><code>ST_MTM_BLOCK</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>experimental</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.trend</code>, <code>components.season</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>primary_period</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Dominant period hint used by neural block heuristics.</td> |
| </tr> |
| <tr> |
| <td><code>fit_scope</code></td> |
| <td>str</td> |
| <td style="text-align: right;">no</td> |
| <td><code>"full"</code></td> |
| <td>Whether to fit templates on the full series or a prefix window.</td> |
| </tr> |
| <tr> |
| <td><code>train_fraction</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>0.6</code></td> |
| <td>Prefix fraction used when fit_scope='prefix'.</td> |
| </tr> |
| <tr> |
| <td><code>trend_window</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Moving-average trend window.</td> |
| </tr> |
| <tr> |
| <td><code>season_smooth_window</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Smoother applied to the periodic seasonal template.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "ST_MTM_BLOCK", |
| "params": { |
| "fit_scope": "full", |
| "primary_period": 12, |
| "season_smooth_window": 7, |
| "trend_window": 13 |
| } |
| } |
| </code></pre> |
| <h3 id="timekan_block"><code>TIMEKAN_BLOCK</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>experimental</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.trend</code>, <code>components.season</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>primary_period</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Dominant period hint used by neural block heuristics.</td> |
| </tr> |
| <tr> |
| <td><code>fit_scope</code></td> |
| <td>str</td> |
| <td style="text-align: right;">no</td> |
| <td><code>"full"</code></td> |
| <td>Whether to fit templates on the full series or a prefix window.</td> |
| </tr> |
| <tr> |
| <td><code>train_fraction</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>0.6</code></td> |
| <td>Prefix fraction used when fit_scope='prefix'.</td> |
| </tr> |
| <tr> |
| <td><code>trend_window</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Moving-average trend window.</td> |
| </tr> |
| <tr> |
| <td><code>num_bands</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>2</code></td> |
| <td>Number of dominant periods/templates to blend.</td> |
| </tr> |
| <tr> |
| <td><code>kan_width</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>32</code></td> |
| <td>KAN-inspired width used to choose harmonic capacity.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "TIMEKAN_BLOCK", |
| "params": { |
| "fit_scope": "full", |
| "kan_width": 32, |
| "num_bands": 2, |
| "primary_period": 12 |
| } |
| } |
| </code></pre> |
| <h3 id="times2d_block"><code>TIMES2D_BLOCK</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>experimental</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.trend</code>, <code>components.season</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>primary_period</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Dominant period hint used by neural block heuristics.</td> |
| </tr> |
| <tr> |
| <td><code>fit_scope</code></td> |
| <td>str</td> |
| <td style="text-align: right;">no</td> |
| <td><code>"full"</code></td> |
| <td>Whether to fit templates on the full series or a prefix window.</td> |
| </tr> |
| <tr> |
| <td><code>train_fraction</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>0.6</code></td> |
| <td>Prefix fraction used when fit_scope='prefix'.</td> |
| </tr> |
| <tr> |
| <td><code>top_k_periods</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>2</code></td> |
| <td>Number of dominant FFT periods to retain.</td> |
| </tr> |
| <tr> |
| <td><code>num_harmonics</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>1</code></td> |
| <td>Number of harmonics per selected period.</td> |
| </tr> |
| <tr> |
| <td><code>trend_window</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Moving-average trend window.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "TIMES2D_BLOCK", |
| "params": { |
| "fit_scope": "full", |
| "num_harmonics": 1, |
| "primary_period": 12, |
| "top_k_periods": 2 |
| } |
| } |
| </code></pre> |
| <h3 id="vmd"><code>VMD</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>stable</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.modes</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>K</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>4</code></td> |
| <td>Number of variational modes.</td> |
| </tr> |
| <tr> |
| <td><code>alpha</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>2000.0</code></td> |
| <td>Bandwidth penalty parameter.</td> |
| </tr> |
| <tr> |
| <td><code>tau</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>0.0</code></td> |
| <td>Dual ascent time step.</td> |
| </tr> |
| <tr> |
| <td><code>DC</code></td> |
| <td>bool</td> |
| <td style="text-align: right;">no</td> |
| <td><code>false</code></td> |
| <td>Keep the first mode at zero frequency.</td> |
| </tr> |
| <tr> |
| <td><code>init</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>1</code></td> |
| <td>Initialization policy used by the VMD backend.</td> |
| </tr> |
| <tr> |
| <td><code>tol</code></td> |
| <td>float</td> |
| <td style="text-align: right;">no</td> |
| <td><code>1e-07</code></td> |
| <td>Convergence tolerance.</td> |
| </tr> |
| <tr> |
| <td><code>primary_period</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Period hint for grouping modes into season and trend.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "VMD", |
| "params": { |
| "K": 4, |
| "alpha": 2000.0, |
| "primary_period": 12 |
| } |
| } |
| </code></pre> |
| <h3 id="waveform_block"><code>WAVEFORM_BLOCK</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>experimental</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.trend</code>, <code>components.season</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>wavelet</code></td> |
| <td>str</td> |
| <td style="text-align: right;">no</td> |
| <td><code>"db4"</code></td> |
| <td>PyWavelets wavelet family name.</td> |
| </tr> |
| <tr> |
| <td><code>level</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>3</code></td> |
| <td>Wavelet decomposition depth.</td> |
| </tr> |
| <tr> |
| <td><code>season_levels</code></td> |
| <td>list[int]</td> |
| <td style="text-align: right;">no</td> |
| <td><code>[1, 2]</code></td> |
| <td>Detail coefficient levels assigned to the seasonal component.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "WAVEFORM_BLOCK", |
| "params": { |
| "level": 3, |
| "season_levels": [ |
| 1, |
| 2 |
| ], |
| "wavelet": "sym4" |
| } |
| } |
| </code></pre> |
| <h3 id="wavelet"><code>WAVELET</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>stable</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.coefficients</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>wavelet</code></td> |
| <td>str</td> |
| <td style="text-align: right;">no</td> |
| <td><code>"db4"</code></td> |
| <td>PyWavelets wavelet family name.</td> |
| </tr> |
| <tr> |
| <td><code>level</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Decomposition depth. Defaults to PyWavelets maximum usable level.</td> |
| </tr> |
| <tr> |
| <td><code>trend_levels</code></td> |
| <td>list[int] | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Detail levels assigned to trend reconstruction.</td> |
| </tr> |
| <tr> |
| <td><code>season_levels</code></td> |
| <td>list[int] | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Detail levels assigned to seasonal reconstruction.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "WAVELET", |
| "params": { |
| "level": 3, |
| "wavelet": "db4" |
| } |
| } |
| </code></pre> |
| <h3 id="waveletmixer_block"><code>WAVELETMIXER_BLOCK</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>experimental</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.trend</code>, <code>components.season</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>wavelet</code></td> |
| <td>str</td> |
| <td style="text-align: right;">no</td> |
| <td><code>"sym4"</code></td> |
| <td>PyWavelets wavelet family name.</td> |
| </tr> |
| <tr> |
| <td><code>level</code></td> |
| <td>int</td> |
| <td style="text-align: right;">no</td> |
| <td><code>4</code></td> |
| <td>Wavelet decomposition depth.</td> |
| </tr> |
| <tr> |
| <td><code>season_levels</code></td> |
| <td>list[int]</td> |
| <td style="text-align: right;">no</td> |
| <td><code>[1, 2, 3]</code></td> |
| <td>Detail coefficient levels assigned to the seasonal component.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "WAVELETMIXER_BLOCK", |
| "params": { |
| "level": 3, |
| "season_levels": [ |
| 1, |
| 2, |
| 3 |
| ], |
| "wavelet": "coif1" |
| } |
| } |
| </code></pre> |
| <h3 id="xpatch_block"><code>XPATCH_BLOCK</code></h3> |
| <ul> |
| <li>Input mode: <code>univariate</code></li> |
| <li>Maturity: <code>experimental</code></li> |
| <li>Output components: <code>trend</code>, <code>season</code>, <code>residual</code>, <code>components.trend</code>, <code>components.season</code></li> |
| </ul> |
| <table> |
| <thead> |
| <tr> |
| <th>Parameter</th> |
| <th>Type</th> |
| <th style="text-align: right;">Required</th> |
| <th>Default</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td><code>ma_type</code></td> |
| <td>str</td> |
| <td style="text-align: right;">no</td> |
| <td><code>"ema"</code></td> |
| <td>Smoothing type, either 'ema' or 'dema'.</td> |
| </tr> |
| <tr> |
| <td><code>trend_window</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Window used to derive the EMA alpha.</td> |
| </tr> |
| <tr> |
| <td><code>season_smooth</code></td> |
| <td>int | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>Optional moving-average smoother for the seasonal residual.</td> |
| </tr> |
| <tr> |
| <td><code>alpha</code></td> |
| <td>float | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>EMA or DEMA level smoothing coefficient.</td> |
| </tr> |
| <tr> |
| <td><code>beta</code></td> |
| <td>float | None</td> |
| <td style="text-align: right;">no</td> |
| <td><code>None</code></td> |
| <td>DEMA slope smoothing coefficient.</td> |
| </tr> |
| </tbody> |
| </table> |
| <p>Example config:</p> |
| <pre><code class="language-json">{ |
| "method": "XPATCH_BLOCK", |
| "params": { |
| "season_smooth": 7, |
| "trend_window": 25 |
| } |
| } |
| </code></pre></div> |
| </div> |
| </div> |
|
|
| <footer class="col-md-12"> |
| <hr> |
| <p>Documentation built with <a href="https://www.mkdocs.org/">MkDocs</a>.</p> |
| </footer> |
| <script src="../js/bootstrap.bundle.min.js"></script> |
| <script> |
| var base_url = "..", |
| shortcuts = {"help": 191, "next": 78, "previous": 80, "search": 83}; |
| </script> |
| <script src="../js/base.js"></script> |
| <script src="../search/main.js"></script> |
|
|
| <div class="modal" id="mkdocs_search_modal" tabindex="-1" role="dialog" aria-labelledby="searchModalLabel" aria-hidden="true"> |
| <div class="modal-dialog modal-lg"> |
| <div class="modal-content"> |
| <div class="modal-header"> |
| <h4 class="modal-title" id="searchModalLabel">Search</h4> |
| <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> |
| </div> |
| <div class="modal-body"> |
| <p>From here you can search these documents. Enter your search terms below.</p> |
| <form> |
| <div class="form-group"> |
| <input type="search" class="form-control" placeholder="Search..." id="mkdocs-search-query" title="Type search term here"> |
| </div> |
| </form> |
| <div id="mkdocs-search-results" data-no-results-text="No results found"></div> |
| </div> |
| <div class="modal-footer"> |
| </div> |
| </div> |
| </div> |
| </div><div class="modal" id="mkdocs_keyboard_modal" tabindex="-1" role="dialog" aria-labelledby="keyboardModalLabel" aria-hidden="true"> |
| <div class="modal-dialog"> |
| <div class="modal-content"> |
| <div class="modal-header"> |
| <h4 class="modal-title" id="keyboardModalLabel">Keyboard Shortcuts</h4> |
| <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> |
| </div> |
| <div class="modal-body"> |
| <table class="table"> |
| <thead> |
| <tr> |
| <th style="width: 20%;">Keys</th> |
| <th>Action</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td class="help shortcut"><kbd>?</kbd></td> |
| <td>Open this help</td> |
| </tr> |
| <tr> |
| <td class="next shortcut"><kbd>n</kbd></td> |
| <td>Next page</td> |
| </tr> |
| <tr> |
| <td class="prev shortcut"><kbd>p</kbd></td> |
| <td>Previous page</td> |
| </tr> |
| <tr> |
| <td class="search shortcut"><kbd>s</kbd></td> |
| <td>Search</td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <div class="modal-footer"> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| </body> |
| </html> |
|
|