Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/14/12 13:59:47 (12 years ago)
Author:
mkommend
Message:

#1081: Corrected evaluators and time series models.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.TimeSeries/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/TimeSeriesPrognosis/Models/TimeSeriesPrognosisAutoRegressiveModel.cs

    r8468 r8486  
    2222using System;
    2323using System.Collections.Generic;
     24using System.Linq;
    2425using HeuristicLab.Common;
    2526using HeuristicLab.Core;
     
    6566        int row = rowsEnumerator.Current;
    6667        int horizon = horizonsEnumerator.Current;
     68        if (row - TimeOffset < 0) {
     69          yield return Enumerable.Repeat(double.NaN, horizon);
     70          continue;
     71        }
     72
    6773        double[] prognosis = new double[horizon];
    68 
    6974        for (int h = 0; h < horizon; h++) {
    7075          double estimatedValue = 0.0;
    71           for (int i = 1; i < TimeOffset; i++) {
     76          for (int i = 1; i <= TimeOffset; i++) {
    7277            int offset = h - i;
    7378            if (offset >= 0) estimatedValue += prognosis[offset] * Phi[i - 1];
     
    9095      foreach (int row in rows) {
    9196        double estimatedValue = 0.0;
     97        if (row - TimeOffset < 0) {
     98          yield return double.NaN;
     99          continue;
     100        }
     101
    92102        for (int i = 1; i <= TimeOffset; i++) {
    93103          estimatedValue += targetVariables[row - i] * Phi[i - 1];
Note: See TracChangeset for help on using the changeset viewer.