jeffheaton / encog-dotnet-core

http://www.heatonresearch.com/encog
Other
429 stars 149 forks source link

There is no option to predict future data in c# library? #114

Open dipak10 opened 6 years ago

dipak10 commented 6 years ago

Hi i am currently making demo NN for predicting stock price from previous data that is in CSV. now what happening is suppose i have data from 2009 to 2017 in csv. so NN is currently able to predict till 2017 only. it can not predict on future dates. Also it is correct NN? or Wrong?

PeterPann23 commented 5 years ago

Hi,

You will need to create an updated version of the training the data,

BogusException commented 5 years ago

OR... You can consider your training data valid for today.

Have you tried using your actual data since the training series stopped in 2017-today? Your model may still be valid, but it lily isn't. In all likelihood you are also thinking that a standard nn on time series data can do pattern matching. On the whole, this is not true. Just saying, be sure you are asking something of a method/model that can give it to you. 😀

BogusException commented 5 years ago

Actually, this situation could be very useful, even if unintentional. Getting public stock prices online is easy, but with what you have now, you can do a scatter plot/R2 score for the model, using the last 30 days or so of your data. Then, create a random walk (stochastic) for like a year (365d), using it as if it were the actual data for the NEXT 365 days after your stock price data stopped in 2017.

How did your model do against a random walk? If you are using just one input series, I'll bet you will be surprised.

So this is my wisdom, as it were: your models will do just as well if you use data to 2017, to 2019, or CALL your data to 2017: "to 2019".

The algorithms don't care. It is just time series. And in all likelihood the actual price of a stock is immaterial, as you are likely looking for changes that are relative to a previous value.

If you are evaluating with scatter plots only, beware how misleading they can be for accuracy. This is why I suggested the enlightening exercise above.

Good luck!