You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+32Lines changed: 32 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,38 @@ All notable changes to Vectrix will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [0.0.12] - 2026-03-04
9
+
10
+
DOT-Hybrid holdout validation release — 8-way config selection for period>1 data now uses holdout validation instead of in-sample MAE, reducing overfitting on Quarterly (-1.25%) and Monthly (-2.55%) forecasts. AVG OWA improved from 0.8831 to ~0.876.
11
+
12
+
### Changed
13
+
14
+
**DOT-Hybrid Engine Holdout Validation**
15
+
-`engine/dot.py`: `_fitHybrid()` now uses holdout-based config selection when `period > 1` and sufficient data available
16
+
- When `period > 1`: splits data into train/validation, evaluates 8 variant configurations on held-out segment, selects best by validation MAE, then refits on full data
17
+
- When `period <= 1` (Yearly, Daily, Weekly): preserves original in-sample MAE selection — no behavioral change
18
+
- When `period >= 24` (Hourly): unchanged, uses classic DOT path as before
19
+
- Added `_predictVariantSteps()` helper method for multi-step holdout prediction
20
+
- Net effect: Quarterly OWA -1.25%, Monthly OWA -2.55%, zero regression on other groups
21
+
22
+
### Added
23
+
24
+
**Experiment Files (4 new DOT improvement experiments)**
25
+
-`modelCreation/043_dotAutoPeriodHoldout.py`: ACF-based auto period detection (REJECTED, +1.29%) + holdout validation (ACCEPTED, -0.79%)
26
+
-`modelCreation/044_dailyWeeklySpecialist.py`: Classic DOT for Weekly (ACCEPTED, -2.18%) + Core3 ensemble for Daily/Weekly (REJECTED, +21%/+8%)
Progressive Disclosure release — Easy API now supports Level 2 guided control with model selection, ensemble strategy, and confidence interval parameters, while maintaining full backward compatibility with Level 1 zero-config usage.
Copy file name to clipboardExpand all lines: docs/blog/002_howWeKnowForecastsWork.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -129,7 +129,7 @@ It's easy to build a model, test it on your own data, and convince yourself it w
129
129
130
130
### 2. They guide tool selection
131
131
132
-
When choosing a forecasting library, you want evidence. "Our library uses advanced algorithms" is marketing. "Our library achieves OWA 0.885 on the M4 Competition dataset" is a measurable claim you can verify.
132
+
When choosing a forecasting library, you want evidence. "Our library uses advanced algorithms" is marketing. "Our library achieves OWA 0.877 on the M4 Competition dataset" is a measurable claim you can verify.
133
133
134
134
### 3. They reveal method strengths and weaknesses
135
135
@@ -308,12 +308,12 @@ Transparency matters. Here's how Vectrix performs on the M4 benchmark, using 2,0
308
308
| Frequency | Vectrix OWA | Context |
309
309
|-----------|:-----------:|---------|
310
310
| Yearly |**0.797**| Near M4 winner level |
311
-
| Quarterly |**0.905**| Competitive with top methods |
312
-
| Monthly |**0.933**|Solid mid-table|
311
+
| Quarterly |**0.894**| Competitive with top methods |
312
+
| Monthly |**0.897**|Competitive with top methods|
These numbers aren't cherry-picked or inflated. They represent honest performance — strong in some frequencies, room for improvement in others. We publish our benchmark code so you can [reproduce every number](https://eddmpython.github.io/vectrix/docs/benchmarks/).
0 commit comments