IBM InfoSphere Streams Version 4.1.1

Migrating streams processing applications that use the InfoSphere® Streams TimeSeries Toolkit

Several TimeSeries Toolkit operators and functions are changed. Use these guidelines to migrate applications that use these operators and functions to Version 4.1.1.

Procedure

Update applications that use the operators and functions that are listed in Table 1.
Table 1. TimeSeries Toolkit changes
Operator or function Replacement Additional information
ARIMA ARIMA2
  • The coefficients() output function has been replaced with the getCoefficients() output function. Modify your applications, as needed. For example:
    • In previous releases, the coefficients() output function return type was map<rstring,map<uint32,map<uint32,float64>>>. The getCoefficients() output function return type is map<rstring,list<list<float64>>>.
  • The forecastedTimeSeriesStep() output function return type can be either float64 or list<float64>, depending on the attribute type that is specified by the inputTimeSeries parameter. For example:
    • If the inputTimeSeries parameter specifies an attribute type of float64, the return type is float64.
    • If the inputTimeSeries parameter specifies an attribute type of list<float64>, the return type is list<float64>.
  • The forecastedAllTimeSeriesSteps() output function return type can be either list<float64> or list<list<float64>>, depending on the attribute type that is specified by the inputTimeSeries parameter. For example:
    • If the inputTimeSeries parameter specifies an attribute type of float64, the return type is list<float64>.
    • If the inputTimeSeries parameter specifies an attribute type of list<float64>, the return type is list<list<float64>>.
  • The forecastedTimestamp() output function return type can either be timestamp or uint64, depending on the attribute type that is specified by the inputTimestamp parameter. For example, if the inputTimestamp parameter specifies an attribute type of timestamp, the return type is timestamp.
  • The forecastedAllTimestamps() output function return type can be either list<timestamp> or list<uint64>, depending on the attribute type that is specified by the inputTimestamp parameter. For example, if the inputTimestamp parameter specifies an attribute type of uint64, the return type is list<uint64>.
  • The partitionBy parameter now only specifies the expression for the key values from input port 0. To specify an expression for the key values from the control port (input port 1), use the controlPortPartitionBy parameter.
  • The controlPortPartitionBy parameter allows you to specify the expression for the key values from input port 1.
  • The retrainingConfig parameter is renamed to updateParams.
  • The controlSignal parameter no longer supports the TSSignal.Suspend, TSSignal.Resume, and TSSignal.Load control signals.
  • Using the TSSignal.Retrain signal with the ARIMA2 operator only retrains the ARIMA model. This signal no longer updates the model parameters. In order to update model parameters, use the TSSignal.UpdateParamsAll control signal. If you are using partitioning, the TSSignal.Retrain signal uses the expression specified by the controlPortPartitionBy parameter.
  • The TSSignal.UpdateParamsAll signal updates the ARIMA2 operator parameter values based on the attribute specified by the updateParams parameter, which was previously called retrainingConfig. If you are using partitioning, this signal updates the parameter values for all of the models, regardless of the key provided by the controlPortPartitionBy parameter. You cannot currently update the parameters for an individual model.
AutoForecaster AutoForecaster2
  • The forecastedTimeSeriesStep() output function return type can be either float64 or list<float64>, depending on the attribute type that is specified by the inputTimeSeries parameter. For example:
    • If the inputTimeSeries parameter specifies an attribute type of float64, the return type is float64.
    • If the inputTimeSeries parameter specifies an attribute type of list<float64>, the return type is list<float64>.
  • The forecastedAllTimeSeriesSteps() output function return type can be either list<float64> or list<list<float64>>, depending on the attribute type that is specified by the inputTimeSeries parameter. For example:
    • If the inputTimeSeries parameter specifies an attribute type of float64, the return type is list<float64>.
    • If the inputTimeSeries parameter specifies an attribute type of list<float64>, the return type is list<list<float64>>.
  • The forecastedTimestamp() output function return type can either be timestamp or uint64, depending on the attribute type that is specified by the inputTimestamp parameter. For example, if the inputTimestamp parameter specifies an attribute type of timestamp, the return type is timestamp.
  • The forecastedAllTimestamps() output function return type can be either list<timestamp> or list<uint64>, depending on the attribute type that is specified by the inputTimestamp parameter. For example, if the inputTimestamp parameter specifies an attribute type of uint64, the return type is list<uint64>.
convolve() laggedConvolve()
  • The laggedConvolve() output function can be used to convolve two signals with maximum lag. The resulting output list has a size of 2*(max(length_of_1st_signal,length_of_2nd_signal))-1.
CrossCorrelate CrossCorrelate2
  • The underlying algorithm is enhanced to support lag. By default, when cross-correlating two signals, the size of the cross-correlated time series is 2*(max(length_of_1st_signal,length_of_2nd_signal))-1. You can control the maximum lag that can be used while cross correlating two signals by using the new lag parameter.
  • The lag parameter is added to the operator, which allows you to control the maximum lag. The following examples show the size of the cross-correlated time series when you use the lag parameter:
    • lag = 0 returns a single value.
    • lag < 0 returns an array with a size equal to the maximum lag (maxLag = 2*(max(length_of_1st_signal,length_of_second_signal))- 1).
    • lag > 0 returns an array of size 2*lag+1.
      • The result of the correlation returns an array that is symmetric with the index of the middle value equal to the lag value. If lag = 2, the result looks like the following example:
        [lag-2, lag-1, lag, lag+1, lag+2]
crosscorrelate() laggedCrosscorrelate()
  • The laggedCrosscorrelate() output function can be used to cross correlate two signals with maximum lag. The resulting output list has a size of 2*(max(length_of_1st_signal,length_of_2nd_signal))-1.
DSPFilter DSPFilter2
  • The partitionBy parameter now only specifies the expression for the key values from input port 0. To specify an expression for the key values from the control port (input port 1), use the controlPortPartitionBy parameter.
  • The controlPortPartitionBy parameter allows you to specify the expression for the key values from input port 1.
DWT DWT2
  • The underlying algorithm has been fully revamped to support new output functions and higher wavelet indices.
  • The order parameter is removed. Use the waveletIndex parameter instead.
  • The waveletIndex parameter now allows you to specify the wavelet index. Previously, the order parameter supported only two possible values: two and four. The waveletIndex parameter supports an integer value from 1 to 100 (inclusive). The following examples show how to map the order parameter values to waveletIndex values:
    • order=two now corresponds to waveletIndex=1
    • order=four now corresponds to waveletIndex=2
HoltWinters HoltWinters2
  • The forecastedTimeSeriesStep() output function return type can be either float64 or list<float64>, depending on the attribute type that is specified by the inputTimeSeries parameter. For example:
    • If the inputTimeSeries parameter specifies an attribute type of float64, the return type is float64.
    • If the inputTimeSeries parameter specifies an attribute type of list<float64>, the return type is list<float64>.
  • The forecastedAllTimeSeriesSteps() output function return type can be either list<float64> or list<list<float64>>, depending on the attribute type that is specified by the inputTimeSeries parameter. For example:
    • If the inputTimeSeries parameter specifies an attribute type of float64, the return type is list<float64>.
    • If the inputTimeSeries parameter specifies an attribute type of list<float64>, the return type is list<list<float64>>.
  • The forecastedTimestamp() output function return type can either be timestamp or uint64, depending on the attribute type that is specified by the inputTimestamp parameter. For example, if the inputTimestamp parameter specifies an attribute type of timestamp, the return type is timestamp.
  • The forecastedAllTimestamps() output function return type can be either list<timestamp> or list<uint64>, depending on the attribute type that is specified by the inputTimestamp parameter. For example, if the inputTimestamp parameter specifies an attribute type of uint64, the return type is list<uint64>.
  • The partitionBy parameter now only specifies the expression for the key values from input port 0. To specify an expression for the key values from the control port (input port 1), use the controlPortPartitionBy parameter.
  • The controlPortPartitionBy parameter allows you to specify the expression for the key values from input port 1.
  • The retrainingConfig parameter is renamed to updateParams.
  • The controlSignal parameter no longer supports the TSSignal.Suspend, TSSignal.Resume, and TSSignal.Load control signals.
  • Using the TSSignal.Retrain signal with the HoltWinters2 operator only retrains the HoltWinters model. This signal no longer updates the model parameters. In order to update model parameters, use the TSSignal.UpdateParamsAll control signal. If you are using partitioning, the TSSignal.Retrain signal uses the expression specified by the controlPortPartitionBy parameter.
  • The TSSignal.UpdateParamsAll signal updates the HoltWinters2 operator parameter values based on the attribute specified by the updateParams parameter, which was previously called retrainingConfig. If you are using partitioning, this signal updates the parameter values for all of the models, regardless of the key provided by the controlPortPartitionBy parameter. You cannot currently update the parameters for an individual model.
list<complex32>
FFTAsComplex()
list<complex64>
FFTAsComplex()
  • The FFTAsComplex() output function now returns list<complex64> instead of list<complex32>. Update applications that use this output function.
VAR VAR2
  • The partitionBy parameter now only specifies the expression for the key values from input port 0. To specify an expression for the key values from the control port (input port 1), use the controlPortPartitionBy parameter.
  • The controlPortPartitionBy parameter allows you to specify the expression for the key values from input port 1.
  • The retrainingConfig parameter is renamed to updateParams.
  • The updateTime parameter is renamed to updateTupleCount.
  • The controlSignal parameter no longer supports the TSSignal.Suspend, TSSignal.Resume, and TSSignal.Load control signals.
  • Using the TSSignal.Retrain signal with the VAR2 operator only retrains the VAR model. This signal no longer updates the model parameters. In order to update model parameters, use the TSSignal.UpdateParamsAll control signal. If you are using partitioning, the TSSignal.Retrain signal uses the expression specified by the controlPortPartitionBy parameter.
  • The TSSignal.UpdateParamsAll signal updates the VAR2 operator parameter values based on the attribute specified by the updateParams parameter, which was previously called retrainingConfig. If you are using partitioning, this signal updates the parameter values for all of the models, regardless of the key provided by the controlPortPartitionBy parameter. You cannot currently update the parameters for an individual model.