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. >> >> >
