This Streamlit app allows users to upload their time series data and choose from three models to perform forecasting: CNN-LSTM, N-BEATS, and Ensemble Model.
To use this app, follow the steps below:
- Run the app on your local machine by executing
streamlit run app.pyin your terminal. - Upload your time series data by clicking on the "Upload file" button.
- Select the index of the date/time column from the dropdown menu.
- Select the column to be predicted from the dropdown menu.
- Enter the number of days to be used for prediction.
- Use the slider to specify the percentage of the dataset to be used for training and testing.
- Enter the batch size for the models.
- Use the slider to specify the number of days to be predicted.
- Select the models to use for forecasting by checking the corresponding checkboxes.
- Click on the "Run" button to generate the forecasts.
The app is built with Python and uses the following libraries:
osstreamlitpandasnumpymatplotlibtensorflow
The main function of the app is to allow the user to upload a CSV file, preprocess the data, train and evaluate the models, and generate forecasts.
The app is divided into several sections:
- Upload file: This section allows the user to upload a CSV file and select the index of the date/time column.
- Select column: This section allows the user to select the column to be predicted.
- Preprocessing: This section preprocesses the data by shifting values for each step in the window size and splitting the data into training and testing sets.
- Model training: This section trains the models using the training data.
- Model evaluation: This section evaluates the models using the testing data.
- Model selection: This section allows the user to select the models to use for forecasting.
- Forecasting: This section generates forecasts using the selected models.
This app is based on the following resources:
- N-BEATS: Neural basis expansion analysis for interpretable time series forecasting
- Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting
- Ensemble Learning Methods for Time Series Forecasting: A Survey
This app was made by Nikit Kashyap.
