ryanrahmadifa
Added files
79e1719
## TODO
## Accepts a dataset name and model id, predict and produces graph + error metrics
import matplotlib.pyplot as plt
import mlflow
import mlflow.data
import numpy as np
import pandas as pd
from mlflow.client import MlflowClient
from mlflow.data.pandas_dataset import PandasDataset
from utilsforecast.plotting import plot_series
from neuralforecast.core import NeuralForecast
from neuralforecast.models import NBEATSx
from neuralforecast.utils import AirPassengersDF
from neuralforecast.losses.pytorch import MAE
import matplotlib.pyplot as plt
Y_plot = Y_hat_df[Y_hat_df['unique_id']=='Dated']
cutoffs = Y_hat_df['cutoff'].unique()[::horizon]
Y_plot = Y_plot[Y_hat_df['cutoff'].isin(cutoffs)]
plt.figure(figsize=(20,5))
plt.plot(Y_plot['ds'], Y_plot['y'], label='True')
for model in models:
plt.plot(Y_plot['ds'], Y_plot[f'{model}'], label=f'{model}')
plt.xlabel('Datestamp')
plt.ylabel('OT')
plt.grid()
plt.legend()
from neuralforecast.losses.numpy import mse, mae, mape
for model in models:
mae_model = mae(Y_hat_df['y'], Y_hat_df[f'{model}'])
mse_model = mse(Y_hat_df['y'], Y_hat_df[f'{model}'])
mape_model = mape(Y_hat_df['y'], Y_hat_df[f'{model}'])
print(f'{model} horizon {horizon} - MAE: {mae_model:.3f}')
print(f'{model} horizon {horizon} - MSE: {mse_model:.3f}')
print(f'{model} horizon {horizon} - MAPE: {mape_model:.3f}')