Thanks for the reply. Let me try it again tonight. When swarm for steps 1,5,10 is done, is there a file that tells me the prediction models for all these steps are generated? Also, currently, you use the original data file to do swarm and run prediction analysis with the same file. For example, I have a file with data from 11 am to 12 pm, with data points per minute. I use that file to generate swarm model, and then run prediction analysis with the same file in my run.py, which will stop at 12 pm even if I am using the 10 step ahead prediction model. If I want to predict the values from 12:01 to 12:30, I will need to create a file with those additional time slots, ie 12:01, 12:02, 12:03 ...12:30. So do I put 0 as the value for those additional time slots? Or am I missing something here? Thanks.
On Wed, Dec 2, 2015 at 9:00 AM, <[email protected]> wrote: > Send nupic mailing list submissions to > [email protected] > > To subscribe or unsubscribe, visit > http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org > or, via email, send a message with subject or body 'help' to > [email protected] > > You can reach the person managing the list at > [email protected] > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of nupic digest..." > > > Today's Topics: > > 1. Re: prediction steps (Jason Xie) > 2. Re: prediction steps (Matthew Taylor) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Tue, 1 Dec 2015 09:09:07 -0800 > From: Jason Xie <[email protected]> > To: "NuPIC general mailing list." <[email protected]> > Subject: Re: prediction steps > Message-ID: > < > caa8lfx5ft35hyyg+adai5yrdh7uu3o6ykhajefcdstjenko...@mail.gmail.com> > Content-Type: text/plain; charset="utf-8" > > Here is the CPU example (5 step inference). > > https://github.com/numenta/nupic/blob/master/examples/opf/clients/cpu/cpu.py > > You basically just do prediction = > result.inferences["multiStepBestPredictions"][5] > at run time. > Another thing to note, HTMs don't care about whether it's predictions are > correct or not. If we just fed in data for step No. 40, then it will split > out predictions for No. 50, while it updates its look up table for step No. > 10. This is quite different from back-propagation. > > On Tue, Dec 1, 2015 at 2:58 AM, Michael Lam <[email protected]> wrote: > > > When evaluating prediction models, the bottom line method of measuring > performance is to compare the predicted values NuPIC is returning to the > actual values in the data *when they occur*. So if you are predicting 10 > steps ahead, you'll not know how well the predictions really are until you > get to 10 steps in the future. While I understand how to set > predictionSteps in swarming, I am not sure how to use that results to > actually generate a future prediction, e.g. 10 steps ahead. Take the > run.py in your hot gym example, it seems to only do prediction 1 step ahead > and only runs until the actual data runs out. Can you show me, preferably > with an example based on run.py, how to do predictions 10 steps ahead? I > tried to do this: > > > > _METRIC_SPECS = ( > > > > MetricSpec(field='price', metric='multiStep', > > > > inferenceElement='multiStepBestPredictions', > > > > params={'errorMetric': 'aae', 'window': 1000, 'steps': > 10}), > > > > MetricSpec(field='price', metric='trivial', > > > > inferenceElement='prediction', > > > > params={'errorMetric': 'aae', 'window': 1000, 'steps': > 10}), > > > > MetricSpec(field='price', metric='multiStep', > > > > inferenceElement='multiStepBestPredictions', > > > > params={'errorMetric': 'altMAPE', 'window': 1000, > 'steps': 10}), > > > > MetricSpec(field='price', metric='trivial', > > > > inferenceElement='prediction', > > > > params={'errorMetric': 'altMAPE', 'window': 1000, > 'steps': 10}), > > > > ) > > > > But I don?t see any difference than if I set ?steps? to 1. Also I am > not sure what this do: > > > > prediction = result.inferences["multiStepBestPredictions"][1] > > > > Thanks. > > > > > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: < > http://lists.numenta.org/pipermail/nupic_lists.numenta.org/attachments/20151201/048e2c1c/attachment-0001.html > > > > ------------------------------ > > Message: 2 > Date: Tue, 1 Dec 2015 13:06:50 -0800 > From: Matthew Taylor <[email protected]> > To: "NuPIC general mailing list." <[email protected]> > Subject: Re: prediction steps > Message-ID: > < > cajv6ndosum7mh00nhextj5atbzkvnss67+o-7a8g9tpmyqx...@mail.gmail.com> > Content-Type: text/plain; charset="utf-8" > > The model params define what prediction steps you want in "clParams". There > is a field there called "steps". See: > > https://github.com/numenta/nupic/blob/master/examples/opf/clients/hotgym/simple/model_params.py#L236 > > Make that "steps": "1,5,10" and you'll get a field in the results object > for a 10-step-ahead prediction. > > > --------- > Matt Taylor > OS Community Flag-Bearer > Numenta > > On Tue, Dec 1, 2015 at 9:09 AM, Jason Xie <[email protected]> wrote: > > > Here is the CPU example (5 step inference). > > > https://github.com/numenta/nupic/blob/master/examples/opf/clients/cpu/cpu.py > > > > You basically just do prediction = > result.inferences["multiStepBestPredictions"][5] > > at run time. > > Another thing to note, HTMs don't care about whether it's predictions are > > correct or not. If we just fed in data for step No. 40, then it will > split > > out predictions for No. 50, while it updates its look up table for step > No. > > 10. This is quite different from back-propagation. > > > > On Tue, Dec 1, 2015 at 2:58 AM, Michael Lam <[email protected]> > wrote: > > > >> When evaluating prediction models, the bottom line method of measuring > performance is to compare the predicted values NuPIC is returning to the > actual values in the data *when they occur*. So if you are predicting 10 > steps ahead, you'll not know how well the predictions really are until you > get to 10 steps in the future. While I understand how to set > predictionSteps in swarming, I am not sure how to use that results to > actually generate a future prediction, e.g. 10 steps ahead. Take the > run.py in your hot gym example, it seems to only do prediction 1 step ahead > and only runs until the actual data runs out. Can you show me, preferably > with an example based on run.py, how to do predictions 10 steps ahead? I > tried to do this: > >> > >> _METRIC_SPECS = ( > >> > >> MetricSpec(field='price', metric='multiStep', > >> > >> inferenceElement='multiStepBestPredictions', > >> > >> params={'errorMetric': 'aae', 'window': 1000, 'steps': > 10}), > >> > >> MetricSpec(field='price', metric='trivial', > >> > >> inferenceElement='prediction', > >> > >> params={'errorMetric': 'aae', 'window': 1000, 'steps': > 10}), > >> > >> MetricSpec(field='price', metric='multiStep', > >> > >> inferenceElement='multiStepBestPredictions', > >> > >> params={'errorMetric': 'altMAPE', 'window': 1000, > 'steps': 10}), > >> > >> MetricSpec(field='price', metric='trivial', > >> > >> inferenceElement='prediction', > >> > >> params={'errorMetric': 'altMAPE', 'window': 1000, > 'steps': 10}), > >> > >> ) > >> > >> But I don?t see any difference than if I set ?steps? to 1. Also I am > not sure what this do: > >> > >> prediction = result.inferences["multiStepBestPredictions"][1] > >> > >> Thanks. > >> > >> > > > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: < > http://lists.numenta.org/pipermail/nupic_lists.numenta.org/attachments/20151201/61ccbe3f/attachment-0001.html > > > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > nupic mailing list > [email protected] > http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org > > > ------------------------------ > > End of nupic Digest, Vol 32, Issue 2 > ************************************ >
