Exponential Smoothing Traces#

The exponential smoothing trace collection is used to store the resulting signal traces produced by the second-order exponential smoothing of the signal samples of a signal trace.

Create the Trace Collection#

You can create an exponential smoothing trace collection without samples by calling the ExponentialSmoothingTraces class.

>>> # create an empty exponential smoothing trace collection
>>> traces = ExponentialSmoothingTraces()
>>> traces
ExponentialSmoothingTraces(forecast=Trace(label='Trace', samples=[]),
                           forecast_sign=Trace(label='Trace', samples=[]),
                           level=Trace(label='Trace', samples=[]),
                           level_sign=Trace(label='Trace', samples=[]),
                           prognosis1=Trace(label='Trace', samples=[]),
                           prognosis2=Trace(label='Trace', samples=[]),
                           prognosis=Trace(label='Trace', samples=[]),
                           smoothed1=Trace(label='Trace', samples=[]),
                           smoothed2=Trace(label='Trace', samples=[]),
                           trend=Trace(label='Trace', samples=[]),
                           trend_sign=Trace(label='Trace', samples=[]),
                           trend_inflection=Trace(label='Trace', samples=[]),
                           error=Trace(label='Trace', samples=[]),
                           correction=Trace(label='Trace', samples=[]),
                           absolute_error=Trace(label='Trace', samples=[]),
                           variance=Trace(label='Trace', samples=[]),
                           deviation=Trace(label='Trace', samples=[]),
                           skew=Trace(label='Trace', samples=[]),
                           kurtosis=Trace(label='Trace', samples=[]))

Number of Traces#

You can get the number of the traces in the ExponentialSmoothingTraces collection with the built-in function len().

>>> # number of traces in the collection
>>> len(traces)
19

Names of the Traces#

You can get the list with the names of the traces in the ExponentialSmoothingTraces collection.

A list with the key names of the traces is returned.

>>> # key names of the traces in the collection
>>> list(traces)
['forecast',
 'forecast_sign',
 'level',
 'level_sign',
 'prognosis1',
 'prognosis2',
 'prognosis',
 'smoothed1',
 'smoothed2',
 'trend',
 'trend_sign',
 'trend_inflection',
 'error',
 'correction',
 'absolute_error',
 'variance',
 'deviation',
 'skew',
 'kurtosis']
>>> # key names of the traces in the collection
>>> list(traces.keys())
['forecast',
 'forecast_sign',
 'level',
 'level_sign',
 'prognosis1',
 'prognosis2',
 'prognosis',
 'smoothed1',
 'smoothed2',
 'trend',
 'trend_sign',
 'trend_inflection',
 'error',
 'correction',
 'absolute_error',
 'variance',
 'deviation',
 'skew',
 'kurtosis']

Forecast Trace#

You can get the forecast Trace with the forecast attribute from the ExponentialSmoothingTraces collection.

The Trace with the forecast samples is returned.

>>> # forecast trace by attribute
>>> traces.forecast
Trace(label='Trace', samples=[])
>>> # forecast trace by key
>>> traces['forecast']
Trace(label='Trace', samples=[])

Forecast Sign Trace#

You can get the forecast sign Trace with the forecast_sign attribute from the ExponentialSmoothingTraces collection.

The Trace with the forecast sign samples is returned.

>>> # forecast sign trace by attribute
>>> traces.forecast_sign
Trace(label='Trace', samples=[])
>>> # forecast trace by key
>>> traces['forecast_sign']
Trace(label='Trace', samples=[])

Level Trace#

You can get the level Trace with the level attribute from the ExponentialSmoothingTraces collection.

The Trace with the level samples is returned.

>>> # level trace by attribute
>>> traces.level
Trace(label='Trace', samples=[])
>>> # level trace by key
>>> traces['level']
Trace(label='Trace', samples=[])

Level Sign Trace#

You can get the level sign Trace with the level_sign attribute from the ExponentialSmoothingTraces collection.

The Trace with the level samples is returned.

>>> # level sign trace by attribute
>>> traces.level_sign
Trace(label='Trace', samples=[])
>>> # level sign trace by key
>>> traces['level_sign']
Trace(label='Trace', samples=[])

1st-order Prognosis Trace#

You can get the 1st-order prognosis Trace with the prognosis1 attribute from the ExponentialSmoothingTraces collection.

The Trace with the 1st-order prognosis samples is returned.

>>> # 1st-order prognosis trace by attribute
>>> traces.prognosis1
Trace(label='Trace', samples=[])
>>> # 1st-order prognosis trace by key
>>> traces['prognosis1']
Trace(label='Trace', samples=[])

2nd-order Prognosis Trace#

You can get the 2nd-order prognosis Trace with the prognosis2 attribute from the ExponentialSmoothingTraces collection.

The Trace with the 2nd-order prognosis samples is returned.

>>> # 2nd-order prognosis trace by attribute
>>> traces.prognosis2
Trace(label='Trace', samples=[])
>>> # 2nd-order prognosis trace by key
>>> traces['prognosis2']
Trace(label='Trace', samples=[])

1st-order Smoothed Trace#

You can get the 1st-order smoothed Trace with the smoothed1 attribute from the ExponentialSmoothingTraces collection.

The Trace with the 1st-order smoothed samples is returned.

>>> # 1st-order smoothed trace by attribute
>>> traces.smoothed1
Trace(label='Trace', samples=[])
>>> # 1st-order smoothed trace by key
>>> traces['smoothed1']
Trace(label='Trace', samples=[])

2nd-order Smoothed Trace#

You can get the 2nd-order smoothed Trace with the smoothed2 attribute from the ExponentialSmoothingTraces collection.

The Trace with the 2nd-order prognosis samples is returned.

>>> # 2nd-order smoothed trace by attribute
>>> traces.smoothed2
Trace(label='Trace', samples=[])
>>> # 2nd-order smoothed trace by key
>>> traces['smoothed2']
Trace(label='Trace', samples=[])

Trend Trace#

You can get the trend Trace with the trend attribute from the ExponentialSmoothingTraces collection.

The Trace with the trend samples is returned.

>>> # trend trace by attribute
>>> traces.trend
Trace(label='Trace', samples=[])
>>> # trend trace by key
>>> traces['trend']
Trace(label='Trace', samples=[])

Trend Sign Trace#

You can get the trend sign Trace with the trend_sign attribute from the ExponentialSmoothingTraces collection.

The Trace with the trend sign samples is returned.

>>> # trend sign trace by attribute
>>> traces.trend_sign
Trace(label='Trace', samples=[])
>>> # trend sign trace by key
>>> traces['trend_sign']
Trace(label='Trace', samples=[])

Trend Inflection Trace#

You can get the trend inflection Trace between the predicted forecast and the estimated level with the trend_inflection attribute from the ExponentialSmoothingTraces collection.

The Trace with the trend sign samples is returned.

>>> # trend sign trace by attribute
>>> traces.trend_inflection
Trace(label='Trace', samples=[])
>>> # trend sign trace by key
>>> traces['trend_inflection']
Trace(label='Trace', samples=[])

Error Trace#

You can get the prognosis error Trace with the error attribute from the ExponentialSmoothingTraces collection.

The Trace with the error samples is returned.

>>> # error trace by attribute
>>> traces.error
Trace(label='Trace', samples=[])
>>> # error trace by key
>>> traces['error']
Trace(label='Trace', samples=[])

Absolute Error Trace#

You can get the absolute error Trace with the absolute_error attribute from the ExponentialSmoothingTraces collection.

The Trace with the absolute error samples is returned.

>>> # absolute error trace by attribute
>>> traces.absolute_error
Trace(label='Trace', samples=[])
>>> # absolute error trace by key
>>> traces['absolute_error']
Trace(label='Trace', samples=[])

Variance Trace#

You can get the variance Trace with the variance attribute from the ExponentialSmoothingTraces collection.

The Trace with the variance samples is returned.

>>> # variance trace by attribute
>>> traces.variance
Trace(label='Trace', samples=[])
>>> # variance trace by key
>>> traces['variance']
Trace(label='Trace', samples=[])

Standard Deviation Trace#

You can get the standard deviation Trace with the deviation attribute from the ExponentialSmoothingTraces collection.

The Trace with the standard deviation samples is returned.

>>> # standard deviation trace by attribute
>>> traces.deviation
Trace(label='Trace', samples=[])
>>> # standard deviation trace by key
>>> traces['deviation']
Trace(label='Trace', samples=[])

Skew Trace#

You can get the skew Trace with the skew attribute from the ExponentialSmoothingTraces collection.

The Trace with the skew samples is returned.

>>> # biased skew trace by attribute
>>> traces.skew
Trace(label='Trace', samples=[])
>>> # biased skew trace by key
>>> traces['skew']
Trace(label='Trace', samples=[])

Kurtosis Trace#

You can get the kurtosis Trace with the kurtosis attribute from the ExponentialSmoothingTraces collection.

The Trace with the kurtosis samples is returned.

>>> # biased kurtosis trace by attribute
>>> traces.kurtosis
Trace(label='Trace', samples=[])
>>> # biased kurtosis trace by key
>>> traces['kurtosis']
Trace(label='Trace', samples=[])