Stock price using LSTM and its implementation – Analytics Vidhya
Introduction
( LSTM ) is a model that increases the memory of perennial neural networks. perennial nervous networks hold short term memory in that they allow earlier determining information to be employed in the current neural networks. For immediate tasks, the earlier data is used. We may not possess a list of all of the earlier information for the nervous node. In RNNs, LSTMs are very widely used in Neural networks. Their effectiveness should be implemented to multiple succession modelling problems in many application domains like video recording, NLP, geospatial, and time-series .
One of the main issues with RNN is the vanishing gradient problem, and it emerges due to the repeated function of the same parameters, in RNN blocks, at each pace. We must try to use different parameters to overcome this problem at each time dance step .
We try to find a balance in such a situation. We bring fresh parameters at each tone while generalizing variable-length sequences and keeping the overall total of learnable parameters changeless. We introduce gated RNN cells like LSTM and GRU.
Gated cells hold home variables, which are Gates. This value of each gate at each time step depends on the information at that clock time step, including early states. The measure of the gate then becomes multiplied by the different variables of interest to influence them. Time-series data is a series of data values gathered over time interims, allowing us to trace differences over time. Time-series data can trace advancement over milliseconds, days, and years .
early, our position of time-series data meant more inactive ; the everyday highs and lows under temperature, the opening and closing amount of the standard market. now we will go to the coding part. We will implement LSTM on the stocks dataset .
Dataset
hypertext transfer protocol : //github.com/PacktPublishing/Learning-Pandas-Second-Edition/blob/master/data/goog.csv
Implementation of LSTM on stocks data
Reading data:
gstock_data = pd.read_csv('data.csv') gstock_data.head()
Exploring Dataset:
The dataset contains 14 column associated with time series like the date and the unlike variables like close, high gear, abject and volume. We will use first step and close values for our experiment of meter series with LSTM .
We have performed a few feature extraction here. We take the dates alone from the overall date varying. now we can be using matplotlib to visualize the available data and see how our price values in data are being displayed. The green color was used to visualize the loose variable for the price-date graph, and for the close up variable, we used red tinge .
Data Pre-processing:
We must pre-process this datum before applying store monetary value using LSTM. Transform the values in our data with help of the fit_transform function. Min-max scaler is used for scaling the data so that we can bring all the price values to a park scale. We then use 80 % data for training and the perch 20 % for testing and assign them to separate variables .
Splitting data for training:
A affair is created so that we can create the sequence for train and test .
Implementation of our LSTM model:
In the next measure, we create our LSTM model. In this article, we will use the Sequential model imported from Keras and required libraries are imported .
from keras.models import Sequential from keras.layers import Dense, Dropout, LSTM, Bidirectional
We use two LSTM layers in our model and enforce cliff out in between for regulation. The number of units assigned in the LSTM argument is fifty. with a dropout of 10 %. Mean squared error is the personnel casualty function for optimizing the trouble with adam optimizer. Mean absolute erroneousness is the system of measurement used in our LSTM network as it is associated with time-series data
Visualization:
After fitting the datum with our model we use it for prediction. We must use inverse transformation to get back the original value with the transform function. now we can use this datum to visualize the prediction .
# Merging actual and predicted data for better visualization gs_slic_data = pd.concat([gstock_data .iloc[-202:].copy(),pd.DataFrame(test_inverse_predicted,columns=['open_predicted','close_predicted'],index=gstock_data .iloc[-202:].index)], axis=1)
Conclusion
In this article, we explored LSTM and stock price using LSTM. We then visualized the open and close price value after using LSTM .
Reference:
- https://the-learning-machine.com/article/dl/long-short-term-memory
- https://www.kaggle.com/amarsharma768/stock-price-prediction-using-lstm/notebook
About Me: I am a Research Student interested in the field of Deep Learning and Natural Language Processing and pursuing post-graduation in Artificial Intelligence .
Image Source:
- Preview Image: https://www.analyticssteps.com/blogs/introduction-time-series-analysis-time-series-forecasting-machine-learning-methods-models
Feel free to connect with me on:
- Linkedin: https://www.linkedin.com/in/siddharth-m-426a9614a/
- Github: https://github.com/Siddharth1698
The media shown in this article is not owned by Analytics Vidhya and are used at the Author’s discretion.