/** * * @return TS */ protected ITimeSeries<T> prepareForecastTS() { final ITimeSeries<T> history = this.getTsOriginal(); final long startTime = history.getStartTime(); final TimeSeries<T> tsFC = new TimeSeries<>(startTime, history.getTimeSeriesTimeUnit(), history.getDeltaTime(), history.getDeltaTimeUnit()); return tsFC; }
/** * * @return TS */ protected ITimeSeries<T> prepareForecastTS() { final ITimeSeries<T> history = this.getTsOriginal(); final long startTime = history.getStartTime(); final TimeSeries<T> tsFC = new TimeSeries<T>(startTime, history.getTimeSeriesTimeUnit(), history.getDeltaTime(), history.getDeltaTimeUnit()); return tsFC; }
/** * Compute the starting point with a different time unit. */ @Test public void testForecastStartingIsAccordingToLastAppendSecondsTU() { this.initForecastWithTimeUnit(TimeUnit.SECONDS); final long expectedStartTime = this.startTime; Assert.assertEquals(expectedStartTime, this.forecastSeries.getStartTime()); }
/** * Test of the MeanForecater via Rserve. */ @Test public void testForecastStartingIsAccordingToLastAppend() { Assert.assertEquals(this.ts, this.forecaster.getTsOriginal()); // we added three timepoints, so we must be here: final long expectedStartTime = this.startTime; Assert.assertEquals(expectedStartTime, this.forecastSeries.getStartTime()); }
/** * Returns a new time series object shortened to the last x values. * * @param ts * timeseries * @param x * last x value * @return new time series object */ private static ITimeSeries<Double> getLastXofTS(final ITimeSeries<Double> ts, final int x) { if (ts.size() >= x) { Double[] a = new Double[ts.size()]; a = ts.getValues().toArray(a); final Double[] b = new Double[x]; for (int i = 0; i < x; i++) { b[i] = a[(ts.size() - x) + i]; } long newStartTime = ts.getStartTime(); newStartTime += (ts.size() - x) * ts.getDeltaTimeUnit().toMillis(ts.getDeltaTime()); final ITimeSeries<Double> tsLastX = new TimeSeries<Double>(newStartTime, ts.getTimeSeriesTimeUnit(), ts.getDeltaTime(), ts.getDeltaTimeUnit(), ts.getCapacity()); tsLastX.appendAll(b); return tsLastX; } else { return ts; } } }
/** * Returns a new time series object shortened to the last x values. * * @param ts * timeseries * @param x * last x value * @return new time series object */ private static ITimeSeries<Double> getLastXofTS(final ITimeSeries<Double> ts, final int x) { if (ts.size() >= x) { Double[] a = new Double[ts.size()]; a = ts.getValues().toArray(a); final Double[] b = new Double[x]; for (int i = 0; i < x; i++) { b[i] = a[(ts.size() - x) + i]; } long newStartTime = ts.getStartTime(); newStartTime += (ts.size() - x) * ts.getDeltaTimeUnit().toMillis(ts.getDeltaTime()); final ITimeSeries<Double> tsLastX = new TimeSeries<Double>(newStartTime, ts.getTimeSeriesTimeUnit(), ts.getDeltaTime(), ts.getDeltaTimeUnit(), ts.getCapacity()); tsLastX.appendAll(b); return tsLastX; } else { return ts; } } }