Open Datseris opened 8 months ago
This would not be breaking, so should be fine. Either alternative is good with me.
This is high priority now, because that is the syntax we use in the paper. ANother thing I am taken aback we haven't closed yet. Damn, I should have gone thorugh the issues list before putting the paper online.
Are you on it, or should I do it, @Datseris ?
Note that we also need to change BubbleSortSwapsEncoding
, because it uses the same syntax.
haven't started yet!
Actually, the syntax OrdinalPatternEncoding(m=3)
already works - we did that for backwards compatibility when releasing 3.0. We just need to update the docstring.
For BubbleSortSwapsEncoding
, we do, however, need another constructor
We just need to update the docstring.
and probably also move the code from deprecated.jl into the main source.
Decision to be made: should m
, tau
, etc be keywords or positional arguments? Currently we have
Dispersion(; c = 5, m = 2, τ = 1, check_unique = true)
CosineSimilarityBinning(; m::Int, τ::Int, nbins::Int)
SequentialPairDistances(x::AbstractVector; n = 3, metric = Chebyshev(), m = 3, τ = 1)
etc...
while (after updating syntax) we have
OrdinalPatterns(m = 3, τ = 1, lt::Function = ComplexityMeasures.isless_rand) # positional
# and the same for the other ordinal pattern outcomes spaces
I like keyword arguments better. Any objections?
Keyword arguments are fine!
Making the ordinal patterns take
m
as a type parameter, as opposted to a keyowrd, was likely a mistake. Does it have a perforamnce benefit? If it does, it can only have one ifm
is given as a constant literal,3
, and not if it is given as a variablem
, because in the later case the type can anyways not be inferred.However, there are so many other types/outcome spaces that do delay embedding, yet
m
is a keyword. E.g., Dispersion, Cosine, etc. This is not harmonious and can even be confusing to a user ("why does one takem
in one way and the other in another way...?").I think we should revert the ordinal pattern decision and make it be a keyword there as well...