Skip to content

Commit 458ebda

Browse files
nehaleckyclaude
andcommitted
test: remove experimental multivariate test (verified univariate-only)
Experimental test confirmed TimesFM is univariate-only (raises "TimesFM only supports univariate series"). This is now properly documented in user guide. Removed test to keep test suite clean - the univariate validation is already tested through the implementation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent 055adac commit 458ebda

File tree

1 file changed

+0
-39
lines changed

1 file changed

+0
-39
lines changed

darts/tests/models/forecasting/test_timesfm_model.py

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -354,42 +354,3 @@ def test_predict_time_index_continuation(self):
354354
# Check that forecast time index starts after series ends
355355
assert forecast.start_time() == series.end_time() + series.freq
356356
assert len(forecast) == 10
357-
358-
359-
class TestTimesFMModelMultivariateExperimental:
360-
"""Experimental tests to determine TimesFM's actual multivariate capabilities"""
361-
362-
def test_multivariate_series_direct_forecasting(self):
363-
"""EXPERIMENTAL: Test if TimesFM can forecast multivariate series directly"""
364-
from darts.models.forecasting.foundation import TimesFMModel
365-
import numpy as np
366-
367-
# Create a true multivariate series (2 components)
368-
multivariate_series = tg.sine_timeseries(length=100, value_frequency=0.1, column_name="A")
369-
multivariate_series = multivariate_series.stack(
370-
tg.sine_timeseries(length=100, value_frequency=0.2, column_name="B")
371-
)
372-
373-
model = TimesFMModel(zero_shot=True, max_context_length=512)
374-
375-
# Try to forecast the multivariate series directly
376-
try:
377-
forecast = model.predict(n=12, series=multivariate_series)
378-
379-
# If this succeeds, TimesFM supports multivariate!
380-
assert isinstance(forecast, TimeSeries)
381-
assert len(forecast) == 12
382-
assert forecast.n_components == 2 # Should preserve multivariate structure
383-
assert not np.any(np.isnan(forecast.values()))
384-
385-
print("✅ TimesFM DOES support multivariate forecasting!")
386-
print(f" Input: {multivariate_series.n_components} components")
387-
print(f" Output: {forecast.n_components} components")
388-
389-
except (ValueError, TypeError, RuntimeError) as e:
390-
# If this fails, TimesFM is univariate-only
391-
print("❌ TimesFM does NOT support multivariate forecasting")
392-
print(f" Error: {str(e)}")
393-
# This test documents the limitation - we expect it to fail
394-
import pytest
395-
pytest.skip(f"TimesFM is univariate-only: {str(e)}")

0 commit comments

Comments
 (0)