facebook / prophet

Tool for producing high quality forecasts for time series data that has multiple seasonality with linear or non-linear growth.
https://facebook.github.io/prophet
MIT License
18.32k stars 4.52k forks source link

How to predict with training data of a short period (0.1sec) #2168

Open donggu-kang opened 2 years ago

donggu-kang commented 2 years ago

I want to train and predict with data with smaller cycles rather than minutes, hours, days, weeks, or months.

As many of you know, training and predicting 6000 pieces of data with a cycle of 5 minutes each yields great results.

However, with the same data, only the interval between data was reduced. Ex) 1 data point (5-minute interval) -->> 1 data point (0.1 second interval)

However, the Prophet model does not predict this effectively.

Of course, you can preprocess the data that occurs every 0.1 seconds and multiply it by 100 times or more, then divide by 100 from the predicted result. However, it is a last resort.

When training the Prophet model, I want to get good prediction results with about 6000 pieces of data in 0.1 seconds or less.

future = m.make_future_dataframe(periods=17280, freq="1.6ms")

Training data interval 5 minutes (6000 pieces, data as below)

image

Training data interval 0.1 second (6000 pieces, same data as above)

image

donggu-kang commented 2 years ago

Afterwards, I ran a new experiment.

It doesn't seem like a complete answer, but Still, the picture turned out to be plausible.

This model appears to require at least 24 hours of time series data.

Therefore, if the total learning period is less than 24 hours, For at least 24 hours, the existing data fragments were pasted and duplicated.

And while training n-fold replicated data, we slightly adjusted the Prophet parameter.

Then the analysis for 24 hours goes well.

RAW data (8,064) Conversion data that satisfies at least 24 hours (96,768)
image image
image image
RAW data (8,064) image
Conversion data that satisfies at least 24 hours (96,768) image

I hope this helps people who have had a similar problem to mine.