pythonadvanced

NeuralProphet Deep Time Series Forecast

Forecast complex time series with NeuralProphet combining neural networks and classical decomposition.

python
from neuralprophet import NeuralProphet
import pandas as pd
import numpy as np

dates = pd.date_range('2023-01-01', periods=730, freq='D')
values = 100 + np.cumsum(np.random.randn(730) * 2) + 20 * np.sin(np.linspace(0, 4*np.pi, 730))

df = pd.DataFrame({'ds': dates, 'y': values})

model = NeuralProphet(
    n_forecasts=30,
    n_lags=60,
    yearly_seasonality=True,
    weekly_seasonality=True,
    learning_rate=0.01,
)

df_train, df_val = model.split_df(df, freq='D', valid_p=0.1)
metrics = model.fit(df_train, validation_df=df_val, freq='D')

forecast = model.predict(df)
print(forecast[['ds','yhat1']].tail(5).to_string(index=False))

Use Cases

  • neural forecasting
  • complex trends
  • autoregressive models

Tags

Related Snippets

Similar patterns you can reuse in the same workflow.