I am working on time series forecasting for an engineering component (turbo charger). I have dataset containing field data from sensors (=features) taken every day for different turbocharger for their entire life (~3 years). I am using following combination LSTM, Keras, RNN.
One of the critical factor is efficiency of the component. Given that is make little sense to continue to use the charger once the efficiency has declined below threshold. I want to forecast the efficiency of turbocharger (in following time steps): 1 week, 5 week, 15 week, 30 week and 52 week from the date of forecasting.
My field data (shown in dummy, in reality I have about 13 features) looks like:
import pandas as pd import random import numpy df = pd.DataFrame(pd.date_range(start="2019-09-01", end="2019-09-30", freq='D', name='ds')) df["Charger_ID"]=1 df["DATE_INT_STAMP"] = range(1,31) df["sensor1"] = np.random.randint(1, 30, df.shape) df["sensor2"] = np.random.randint(55, 89, df.shape) df["sensor3"] = np.random.randint(21, 35, df.shape) df["efficiency"] = np.random.randint(71, 90, df.shape) df.head()
My confusion for effective use of LSTM/Keras/RNN regarding best practices are:
(1) For the kind of forecasting (1 week, 5 week, 15 week, 30 week and 52 week), what would be ideal sequence length/window over which LSTMs should look back? (Should it be 52 weeks?)
(2) I know that the sensor and efficiency data doesn’t change much every day, so, I am taking only weekly data while training the neural nets. Any trouble here?
(3) After I have trained and tested the model and is ready to be deployed for real use (to forecast for 5 specific time stamp). Should the input to model be a time series? or just a specific point on the time series from model should forecast?
(4) Given that this is multistep forecasting problem? Is there specific guideline that should be followed while converting time series to supervised problem? For now, I am taking input and output lag as 1?
(5) Lastly, I have used min_max_scaler to normalize training dataset and I am normalizing the test data using the parameters from the MinMax normalization applied on the training set. Should I save these parameters and use these for forecasting?