I want to a model multivariate time series using nixtla’s neuralforecast in python. However, do not want the target variable to be part of the input of model. Lets make an example:
feature1 = np.sin(np.linspace(0, 2*np.pi, 100))
feature2 = np.cos(np.linspace(0, 2*np.pi, 100))
target = feature1 + feature2
I want to model the ‘target
‘ using ‘feature1
‘ and ‘feature2
‘, without the target
being part of the model input.
The model shall learn that ‘target = feature1 + feature2
‘, by looking at the past values of ‘feature1
‘ and ‘feature2
‘ not at the past values of ‘target
‘.
Here is my current state:
data = pd.DataFrame({
'ds': np.arange(100),
'y': feature1 + feature2
'feature1': feature1
'feature2': feature2,
})
model = NeuralProphet()
# add additional features
model = model.add_future_regressor(name='feature1')
model = model.add_future_regressor(name='feature2')
# assume milliseconds as freq
model.fit(data, freq='L')
My Final goal would be to compare PatchTST and NeuralProphet.