Moving Linear Regression#
The signal samples
of a signal trace can be
processed with a moving linear regression over a number of signal
samples
, whereby each window of the signal samples
is statistically analyzed, and a linear regression trace collection is returned.
Create the Trace Collection#
You can process the signal samples
with a statistically analyzed
moving linear regression by calling the method
moving_regression()
.
An linear regression trace collection is returned.
>>> # moving linear regression over a number of samples
>>> traces = Trace('Signal', [1, 2, 3]).moving_regression(2)
>>> traces
LinearRegressionTraces(level=Trace(label='Signal:regression:level',
samples=[1.0, 2.0, 3.0]),
slope=Trace(label='Signal:regression:slope',
samples=[0.0, 1.0, 1.0]),
intercept=Trace(label='Signal:regression:intercept',
samples=[1.0, 1.0, 2.0]),
mean=Trace(label='Signal:regression:mean',
samples=[1, 1.5, 2.5]),
median=Trace(label='Signal:regression:median',
samples=[1.0, 1.5, 2.5]),
minimum=Trace(label='Signal:regression:minimum',
samples=[1, 1, 2]),
maximum=Trace(label='Signal:regression:maximum',
samples=[1, 2, 3]),
range=Trace(label='Signal:regression:range',
samples=[0, 1, 1]),
error=Trace(label='Signal:regression:error',
samples=[0.0, 0.0, 0.0]),
negative_error=Trace(label='Signal:regression:negative_error',
samples=[0.0, 0.0, 0.0]),
positive_error=Trace(label='Signal:regression:positive_error',
samples=[0.0, 0.0, 0.0]),
absolute_error=Trace(label='Signal:regression:absolute_error',
samples=[0.0, 0.0, 0.0]),
variance=Trace(label='Signal:regression:variance',
samples=[0.0, 0.0, 0.0]),
deviation=Trace(label='Signal:regression:deviation',
samples=[0.0, 0.0, 0.0]),
skew=Trace(label='Signal:regression:skew',
samples=[0.0, 0.0, 0.0]),
kurtosis=Trace(label='Signal:regression:kurtosis',
samples=[0.0, 0.0, 0.0]))
Note
The moving linear regression uses the first signal sample as the preset
value to generate the windows for the first number
of signal samples
.
Figure#
You can visualize the trace collection with a figure containing the subplots of
the traces in the collection by calling the method
figure()
.
>>> figure = Trace('Signal', [1, 2, 3]).moving_regression(2).figure()
(Source code, html)