-
Notifications
You must be signed in to change notification settings - Fork 166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Question about the 'strategy' parameter in SymbolicAggregateApproximation() #128
Comments
Hi, Indeed, the parameter
It should be noted that the dimensionality reduction with Piecewise Aggregate Approximation is not included in this implementation, so you should use pyts.approximation.PiecewiseAggregateApproximation first (if you want to). To standardize time series, you can use pyts.preprocessing.StandardScaler (it is assumed that the time series are standardized to use Best, |
Thanks for your comments. I have a follow-up question regarding the normalization of a time series. Do we really need to normalize the time series prior to computing the SymbolicAggregateApproximation? Ivan |
Hi, It will depend on the
>>> import numpy as np
>>> from pyts.approximation import SymbolicAggregateApproximation
>>> from pyts.datasets import load_gunpoint
>>> X, _, _, _ = load_gunpoint(return_X_y=True)
>>> sax_normal = SymbolicAggregateApproximation(strategy='normal')
>>> np.alltrue(sax_normal.transform(X) == sax_normal.transform(2 * X + 6))
False
>>> np.alltrue(sax_normal.transform(X) == sax_normal.transform(np.exp(X))
False
>>> sax_quantile = SymbolicAggregateApproximation(strategy='quantile')
>>> np.alltrue(sax_quantile.transform(X) == sax_quantile.transform(2 * X + 6))
True
>>> np.alltrue(sax_quantile.transform(X) == sax_quantile.transform(np.exp(X)))
True
>>> sax_uniform = SymbolicAggregateApproximation(strategy='uniform')
>>> np.alltrue(sax_uniform.transform(X) == sax_uniform.transform(2 * X + 6))
True
>>> np.alltrue(sax_uniform.transform(X) == sax_uniform.transform(np.exp(X)))
False Best, |
Thanks for the explanations Ivan |
Description
Hi!
I am in doubt about the application of SymbolicAggregateApproximation() in comparison of its describition in the article "Experiencing SAX: a novel symbolic representation of time series". In the article, in section "3.2 Discretization", it is described that the data follows a Gaussian Distribution and the "breakpoints" are created to produce equal-sized areas under the curve of a Gaussian. So, I understand that the parameterer strategy='normal' uses the same strategy as the article, right? So, what a about the uniform and quantile strategies? Are they a change from the article?
Thank you for your help! Have a nice day!
The text was updated successfully, but these errors were encountered: