Closed TonyBagnall closed 3 days ago
aeon
I have added the following labels to this PR based on the title: [ $\color{#FEF1BE}{\textsf{enhancement}}$ ]. I would have added the following labels to this PR based on the changes made: [ $\color{#BCAE15}{\textsf{classification}}$, $\color{#7E0206}{\textsf{regression}}$, $\color{#41A8F6}{\textsf{transformations}}$ ], however some package labels are already present.
The Checks tab will show the status of our automated tests. You can click on individual test runs in the tab or "Details" in the panel below to see more information if there is a failure.
If our pre-commit
code quality check fails, any trivial fixes will automatically be pushed to your PR unless it is a draft.
Don't hesitate to ask questions on the aeon
Slack channel if you have any.
These checkboxes will add labels to enable/disable CI functionality for this PR. This may not take effect immediately, and a new commit may be required to run the new configuration.
pre-commit
checks for all filesmypy
typecheck testspytest
tests and configurationscodecov
testspre-commit
fixes (always disabled for drafts)hmmm, more complex than I thought actually. Currently setting the series length to the minimum seen in fit, which then is used to set the dilation range. However, if the smallest in transform is smaller than the smallest in fit, you get overflow and error. Considered refitting the kernel but was convinced thats a bad idea.
So, if the dilated kernel is longer than the series, what to do? Currently thinking return either 0 or NaN.
You could simply throw an error during transform if any series is shorter than (length -1) * dilation ? The kernels are ill defined for shorter series than this value, so an error makes sense for me
You could simply throw an error during transform if any series is shorter than (length -1) * dilation ? The kernels are ill defined for shorter series than this value, so an error makes sense for me
it would need to be a general policy to do this imo, and baked into testing as it is something that will happen in many algorithms. If we do this then one could in fit take a defensive posture and lower min length. It will all impact though. Not sure really
so I've been thinking about this and I think @baraline is correct, I think the correct first version should find min size in train and just throw an error in test. To me its a research question how to handle this situation correctly, and until we have any evidence we should do safety first
Check out this pull request on
See visual diffs & provide feedback on Jupyter Notebooks.
Powered by ReviewNB
part of #1699
Adapted to take unequal length, was actually simple. I have tested this against the current one for correctness and speed. If anything, its faster.
Basically
If this is ok I can roll out for the other rockets
So the big question is what to do if series passed to transform are shorter than series seen in fit. In this case, with dilation, the kernels may be longer than the series, causing array out of bounds errors. Considered solutions