Skip to content

add existing TS BO#6

Merged
SebastianSchmidl merged 39 commits into
TimeEval:mainfrom
gezelligheid:existing_ts_bo
Apr 6, 2023
Merged

add existing TS BO#6
SebastianSchmidl merged 39 commits into
TimeEval:mainfrom
gezelligheid:existing_ts_bo

Conversation

@gezelligheid
Copy link
Copy Markdown
Contributor

One can now add synthetic anomalies to existing univariate TS.

VANRIJNA added 2 commits February 6, 2023 20:11
@SebastianSchmidl SebastianSchmidl added comp: 📖 documentation Improvements or additions to documentation enhancement New feature or request 🏅 medium MoSCoW: Should-have comp: GutenTAG (general) comp: 📂 config / schema Generation configuration and its schema comp: 🐍 API GutenTAG Python API labels Feb 7, 2023
Sebastian Schmidl and others added 6 commits February 7, 2023 15:43
*anonymized data file names
*changed naming custom process to custom input
*update requirements.txt
*removed notebooks
*replaced assertion with try except
add .venv variants to ignore
fixed import naming
@codecov
Copy link
Copy Markdown

codecov Bot commented Feb 15, 2023

Codecov Report

Merging #6 (fdbd6dd) into main (0a756c4) will increase coverage by 0.15%.
The diff coverage is 96.29%.

@@            Coverage Diff             @@
##             main       #6      +/-   ##
==========================================
+ Coverage   89.57%   89.73%   +0.15%     
==========================================
  Files          52       53       +1     
  Lines        2034     2084      +50     
==========================================
+ Hits         1822     1870      +48     
- Misses        212      214       +2     
Flag Coverage Δ
unittests 89.73% <96.29%> (+0.15%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
gutenTAG/utils/compatibility.py 75.00% <ø> (ø)
gutenTAG/utils/default_values.py 100.00% <ø> (ø)
gutenTAG/base_oscillations/custom_input.py 94.59% <94.59%> (ø)
gutenTAG/base_oscillations/__init__.py 100.00% <100.00%> (ø)
gutenTAG/base_oscillations/interface.py 94.20% <100.00%> (+0.35%) ⬆️
gutenTAG/base_oscillations/random_walk.py 96.96% <100.00%> (ø)
gutenTAG/consolidator.py 94.73% <100.00%> (+0.19%) ⬆️
gutenTAG/generator/timeseries.py 66.36% <100.00%> (ø)
gutenTAG/utils/global_variables.py 100.00% <100.00%> (ø)

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

Comment thread gutenTAG/base_oscillations/custom_input.py Outdated
Comment thread .gitignore Outdated
Comment thread doc/introduction/base-oscillations.md
Comment thread gutenTAG/base_oscillations/custom_input.py Outdated
Comment thread gutenTAG/base_oscillations/custom_input.py Outdated
Comment thread requirements.txt Outdated
Comment thread tests/configs/example-config-custom-input-multi.yaml Outdated
To do:
-errors from type checker
-testing all anomaly types
-document working of the TS input file path
-(optional) second path for train data
Comment thread gutenTAG/base_oscillations/custom_input.py Outdated
Comment thread gutenTAG/utils/dataframe_operations.py Outdated
Previous to dos
+ creating updated dummy data
+ create test config representing all custom input compatible anomaly types
+ add dummy input
+ document input file path structure
remaining to dos:
 - test all anomaly types
 - resolve type checking errors
visualizations to verify correctness of adding anomaly types
Copy link
Copy Markdown

@dbroeh dbroeh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi VANRIJNA,

thanks for providing this PR. From my end, this looks good 👍 I did spot only a few minor things. I did not run this though.

Cheers, David

Comment thread gutenTAG/api/bo.py Outdated
Comment thread doc/introduction/base-oscillations.md Outdated
Comment thread gutenTAG/base_oscillations/custom_input.py Outdated
Comment thread gutenTAG/base_oscillations/random_walk.py
Comment thread gutenTAG/base_oscillations/random_walk.py
Comment thread gutenTAG/api/bo.py Outdated
Comment thread tests/configs/example-config-custom-input-all-compatible-types.yaml Outdated
@SebastianSchmidl
Copy link
Copy Markdown
Member

@gezelligheid Thank you very much for the effort you put into this PR!

There are still some tests failing. However, I think despite the mentioned minor issues, this PR reached a good state. Let's try to fix the failing tests and type checks and, then, we can merge this into main 👍🏼

You can also run the tests locally:

python setup.py typecheck
python setup.py test

@gezelligheid
Copy link
Copy Markdown
Contributor Author

typecheck won't run giving the following message:
running typecheck
.venv/lib/python3.11/site-packages/numpy/init.pyi:641: error: Positional-only parameters are only supported in Python 3.8 and greater
def seek(self, offset: int, whence: int, /) -> object: ...
^
Found 1 error in 1 file (errors prevented further checking)

Which puzzles me as I believe I run 3.11.2

@SebastianSchmidl
Copy link
Copy Markdown
Member

Which puzzles me as I believe I run 3.11.2

This might be the problem and solution likewise. We perform our type checks in Python 3.7 to ensure backwards-compatibility.

Comment thread doc/images/pycharm-create-schema-mapping.png
Comment thread doc/images/pycharm-select-schema.png
Comment thread gutenTAG/base_oscillations/custom_input.py Outdated
Comment thread tests/configs/example-config-custom-input-all-compatible-types.yaml Outdated
gezelligheid and others added 4 commits March 22, 2023 09:17
typechecking

Co-authored-by: Sebastian Schmidl <CodeLionX@users.noreply.github.com>
*Reset file mode of pycharm-create-schema-mapping.png to 755
*Remove unused generation configs
*Add custom_input unittest
@SebastianSchmidl
Copy link
Copy Markdown
Member

Please fix the CI issues.

@gezelligheid
Copy link
Copy Markdown
Contributor Author

Thank you for your patience and support @CodeLionX . Is it ok like this?

@SebastianSchmidl
Copy link
Copy Markdown
Member

Thank you for your patience and support @CodeLionX . Is it ok like this?

Yes, this looks like it fixed the typing and test issues. 👍🏼

However, your latest commit 3211be3 also changed the line ending of many files. Please revert to standard \n (LF) line endings for all files!

@gezelligheid
Copy link
Copy Markdown
Contributor Author

I forgot to save al CRLF to LF changes before I committed and then corrupted my repo with a reckless bash command. I hope to get to doing it right later today

Copy link
Copy Markdown
Member

@SebastianSchmidl SebastianSchmidl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please check the line endings again. I still found the following files with CRLF:

  • gutenTAG/config/parser.py
  • gutenTAG/config/schema/anomaly.guten-tag-generation-config.schema.yaml
  • gutenTAG/config/schema/oscillation.guten-tag-generation-config.schema.yaml
  • gutenTAG/utils/compatibility.py
  • gutenTAG/utils/default_values.py
  • gutenTAG/utils/global_variables.py

Copy link
Copy Markdown
Member

@SebastianSchmidl SebastianSchmidl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@SebastianSchmidl SebastianSchmidl merged commit 42816ec into TimeEval:main Apr 6, 2023
@gezelligheid gezelligheid deleted the existing_ts_bo branch April 6, 2023 17:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: 📖 documentation Improvements or additions to documentation comp: GutenTAG (general) comp: 📂 config / schema Generation configuration and its schema comp: 🐍 API GutenTAG Python API enhancement New feature or request 🏅 medium MoSCoW: Should-have

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants