Time Series only predicts one step
I have a relational table with daily sales for 364 days (52 week span) for 60 stores. I have created a Microsoft Time Series model using store as the case and the historical/actual line charts appear in the Charts viewer for each store. But only one prediction step is shown no matter how many prediction steps I select. I have tried this with an OLAP-based model and also tried a simple DMX query, all with the same result.
Thank you in advance for any help with this.
P Taylor
[549 byte] By [
ptaylor] at [2007-12-24]
Can you provide more information on your scenario?
1. The schema for your relational table.
2. The schema for the mining structure, including columns marked as key and key time
Thanks
Shuvro
Shuvro,
The relational table has 3 fields:
FiscalDate - smalldatetime example: 2/20/2004 12:00:00 AM
Store - nvarchar(50) example: "5114 - Mall of America"
Sales: int example: 29326 (these numbers are received as integers)
Mining Structure:
Fiscal Date (Key Time, type Date); Store (Key, typeText); Sales (Continuous, type Long);
Mining model (Microsoft Time Series):
Fiscal Date (Key Time, type Date); Store (Key, typeText);
Sales (Continuous, type Long, Predict and Regressor);
Algorithm Parameters:
MAXIMUM_SERIES_VALUE: 40000
MINIMUM_SERIES_VALUE: 0
MISSING_VALUE_SUBSTITUTION: Mean
PERIODICITY_HINT {7,364}
Others: Default
The relational table actually has 728 days (=104 weeks or 2 fiscal years) across 60 stores. Periodicity is weekly (7) and by year (364)
Many thanks and please let me know if you need additional information.
Philip Taylor
Thanks for the information. Can you try the following:
1. Set PERIODICITY_HINT setting to {7} and see if you get additional prediction steps?
2. Set AUTO_DETECT_PERIODICITY to 0.8 and see if you get additional prediction steps?
Thanks
Shuvro
Hi Shuvro,
I tried both of your recommended changes to Algorithm Parameters (individually and both together). Unfortunately the model still only yields one prediction step. I also tried AUTO_DETECT_PERIODICITY at 1.0. I am currently trying to compare my approach with the AdventureWorks data mining tutorial time series model (which does yield several prediction steps) to see what I am doing differently.
Thank you for your help
Philip Taylor
The nature of auto-regression trees is that they can generate unstable predictions. Our algorithm alleviates this issue by truncating predictions that appear to be losing stability. Our heuristic for this may be too aggressive and we are working on fixing it. Is it possible for you to paste your series here so we can test with your data?
Thanks
Jamie,
I have e-mailed a CSV file to you, of data that I have been using.
Many thanks
Philip Taylor
I noticed that the trees have a very large number of splits which can lead to the instability of the algorithm. You can control this by setting the COMPLEXITY_PENALTY and MINIMUM_SUPPORT parameters higher.
That's something to try for now, we'll continue to look into the problem.
Thanks
-Jamie
I asked Alexei Bocharov, the developer who implemented the TS algorithm and he came back with the following response:
"Sorry for the delay.
I played with this data and found it fairly volatile.
I have also found that at complexity penalty 0.96 one gets a cruder model that does support long range prediction (but of course one gets larger StdDevs with that).
It looks like below this complexity penalty the model is overfitting the volatile data which makes it unsuitable for the long-range prediction.
In practice it is advisable to keep two models – one with complexity penalty 0.95 or lower for the first prediction, and one with complexity penalty 0.96 or higher for long range forecasting."
Hope this helps.
Jamie and Alexei,
I did get more predictions with a compexity penalty of 0.96. I have some more data sets from additional groups of stores that I plan experimenting with.
Many thanks for your help.
Philip Taylor
I have a similar experience with time series that have seasonal behavior as well as "drastic" upward or downward trends in the last few observations. Is there a way to control the heuristic that truncates the predictions? Is this based solely on standard deviation?
Hi
I'm trying to forecast a telecommunications traffic database. This database is made of 9476 independent measuring entities. Each of this entities measures 11 types of data.
In my first exploration of the data, i'm trying to forecast just one of the measures (the most important) in some of the entities.
But in most of the entities, i have the same problem stated in this thread: I can just predict one step!
The Mining Model is quite simple:
TIME_KEY (Key Time, Double); EX: 2005050406000003600 represents 2005-05-04 06:00:00 measuring 03600 seconds
M50183 (Continuous, Double); EX: 1345
TIME KEY in this database is always hourly, and the training set has 5684 records, corresponding to 5684 sequential hours.
Here is an example of one of the datasets: http://student.dei.uc.pt/~pcoliv/entity68923.csv
And a print screen of a 100 prediction steps forecast: http://student.dei.uc.pt/~pcoliv/entity68923.PNG
I've got always the same result, even by by setting the COMPLEXITY_PENALTY and MINIMUM_SUPPORT parameters higher as recommended. In some cases, i've managed to reduce an ART from 6 levels to just 1, and the results were the same.
If someone got a clue of what's happening, i've be glad to heard it :)
Thanks in advance,
Pedro
I had a similar problem and find out that setting MINIMUM_SUPPORT = 5 fixed this problem in my case. The thing is that the model I made had too few cases so I lowered this parameter and the mining model started forecasting subsecuents steps.
Hope this helps.
When I attempt to alter the COMPLEXITY_PENALTY algorithm parameter thru DMX or XMLA I get the following error:
Error (Data mining): The 'COMPLEXITY_PENALTY' data mining parameter is not valid for the 'time' model.
Is it not possible to alter that parameter from script code?
Are you using standard or enterprise edition of SQL Server 2005?