StatisticalTestEWMA¶
- class StatisticalTestEWMA(self: visp._visp.core.StatisticalTestEWMA, alpha: float = 0.1f)¶
Bases:
StatisticalTestAbstract
Class that permits to perform Exponentially Weighted Moving Average mean drft tests.
The EWMA test is designed to detect drift in the mean \(\mu\) of an observed signal \(s(t)\) .
The test signal \(w(t)\) is computed as follow:
\(w(0) = \mu\)
\(w(t) = \alpha s(t) + ( 1 - \alpha ) * w(t-1)\)
Be \(\sigma\) the standard deviation of the input signal \(s(t)\) .
A downward alarm is raised if: \(w(t) <= \mu - 3 * \sigma * \sqrt{ \frac{\alpha}{2 - \alpha}}\)
An upward alarm is raised if: \(w(t) >= \mu + 3 * \sigma * \sqrt{ \frac{\alpha}{2 - \alpha}}\)
To detect only downward drifts of the input signal \(s(t)\) use testDownwardMeanDrift() .To detect only upward drifts in \(s(t)\) use testUpwardMeanDrift() . To detect both, downward and upward drifts use testDownUpwardMeanDrift() .
Construct a new vpStatisticalTestEWMA object.
- Parameters:
- alpha
The forgetting factor.
Methods
Construct a new vpStatisticalTestEWMA object.
Get the forgetting factor of the algorithm.
Get the current value of the test signal.
Overloaded function.
Set the forgetting factor.
Inherited Methods
Test if a downward or an upward mean drift occurred according to the new value of the signal.
MEAN_DRIFT_BOTH
Get the standard deviation used as reference.
MEAN_DRIFT_NONE
Test if a downward mean drift occurred according to the new value of the signal.
MEAN_DRIFT_DOWNWARD
Get the upper and lower limits of the test signal.
Cast a string into a vpMeanDriftType .
MEAN_DRIFT_UNKNOWN
Enum that indicates if a drift of the mean occurred.
Test if an upward mean drift occurred according to the new value of the signal.
Get the list of available vpMeanDriftType objects that are handled.
Get the mean used as reference.
Set the number of samples required to compute the mean and standard deviation of the signal and allocate the memory accordingly.
MEAN_DRIFT_COUNT
Set the minimum value of the standard deviation that is expected.
MEAN_DRIFT_UPWARD
Operators
__doc__
Construct a new vpStatisticalTestEWMA object.
__module__
Attributes
MEAN_DRIFT_BOTH
MEAN_DRIFT_COUNT
MEAN_DRIFT_DOWNWARD
MEAN_DRIFT_NONE
MEAN_DRIFT_UNKNOWN
MEAN_DRIFT_UPWARD
__annotations__
- class MeanDriftType(self, value: int)¶
Bases:
pybind11_object
Enum that indicates if a drift of the mean occurred.
Values:
MEAN_DRIFT_NONE: No mean drift occurred
MEAN_DRIFT_DOWNWARD: A downward drift of the mean occurred.
MEAN_DRIFT_UPWARD: An upward drift of the mean occurred.
MEAN_DRIFT_BOTH: Both an aupward and a downward drifts occurred.
MEAN_DRIFT_COUNT
MEAN_DRIFT_UNKNOWN
- __init__(self: visp._visp.core.StatisticalTestEWMA, alpha: float = 0.1f)¶
Construct a new vpStatisticalTestEWMA object.
- Parameters:
- alpha
The forgetting factor.
- getAlpha(self) float ¶
Get the forgetting factor of the algorithm.
- Returns:
float The forgetting factor.
- static getAvailableMeanDriftType(prefix: str = <, sep: str =, suffix: str = >) str ¶
Get the list of available vpMeanDriftType objects that are handled.
- Parameters:
- prefix
The prefix that should be placed before the list.
- sep
The separator between each element of the list.
- suffix
The suffix that should terminate the list.
- Returns:
std::string The list of handled type of process tests, presented as a string.
- getLimits(self, limitDown: float, limitUp: float) tuple[float, float] ¶
Get the upper and lower limits of the test signal.
- getStdev(self) float ¶
Get the standard deviation used as reference.
- Returns:
float The standard deviation.
- getWt(self) float ¶
Get the current value of the test signal.
- Returns:
float The current value of the test signal.
- init(*args, **kwargs)¶
Overloaded function.
init(self: visp._visp.core.StatisticalTestEWMA, alpha: float) -> None
Initialize the EWMA algorithm.
- Parameters:
- alpha
The forgetting factor.
init(self: visp._visp.core.StatisticalTestEWMA, alpha: float, mean: float, stdev: float) -> None
Initialize the EWMA algorithm.
- Parameters:
- alpha
The forgetting factor.
- mean
The expected mean of the signal to monitor.
- stdev
The expected standard deviation of the signal to monitor.
init(self: visp._visp.core.StatisticalTestAbstract) -> None
(Re)Initialize the algorithm.
- static print(type: visp._visp.core.StatisticalTestAbstract.MeanDriftType) None ¶
- setMinStdev(self, stdevmin: float) None ¶
Set the minimum value of the standard deviation that is expected. The computed standard deviation cannot be lower this value if set.
- setNbSamplesForStat(self, nbSamples: int) None ¶
Set the number of samples required to compute the mean and standard deviation of the signal and allocate the memory accordingly.
- testDownUpwardMeanDrift(self, signal: float) visp._visp.core.StatisticalTestAbstract.MeanDriftType ¶
Test if a downward or an upward mean drift occurred according to the new value of the signal.
Note
See testDownwardMeanDrift() testUpwardMeanDrift()
- testDownwardMeanDrift(self, signal: float) visp._visp.core.StatisticalTestAbstract.MeanDriftType ¶
Test if a downward mean drift occurred according to the new value of the signal.
Note
See testUpwardMeanDrift()
- testUpwardMeanDrift(self, signal: float) visp._visp.core.StatisticalTestAbstract.MeanDriftType ¶
Test if an upward mean drift occurred according to the new value of the signal.
Note
See testDownwardMeanDrift()
- static vpMeanDriftTypeFromString(name: str) visp._visp.core.StatisticalTestAbstract.MeanDriftType ¶
Cast a string into a vpMeanDriftType .
- static vpMeanDriftTypeToString(type: visp._visp.core.StatisticalTestAbstract.MeanDriftType) str ¶