GithubHelp home page GithubHelp logo

Refactor SCRIMP++ about matrixprofile-ts HOT 9 OPEN

target avatar target commented on May 28, 2024
Refactor SCRIMP++

from matrixprofile-ts.

Comments (9)

ameya98 avatar ameya98 commented on May 28, 2024

I think I might be able to make some progress on this.

from matrixprofile-ts.

ameya98 avatar ameya98 commented on May 28, 2024

I did make progress on my fork. I also fixed a bug in SCRIMP++ where the matrix profile indices were taking invalid values. I also added comments in some places, and removed some variables that weren't necessary.

from matrixprofile-ts.

ameya98 avatar ameya98 commented on May 28, 2024

There was another bug where the exclusion zones were not applied to the distance profiles. This has been fixed - SCRIMP++ now gives me the same output as STOMP.

from matrixprofile-ts.

ameya98 avatar ameya98 commented on May 28, 2024

I want to make a pull request with all of my contributions and bug fixes, but I think I've added quite a few things (exclusion_zone_fraction) and modified the names of other variables, as well as committed to my master branch only. What do you think? Someone could benefit from these fixes though.

from matrixprofile-ts.

tylerwmarrs avatar tylerwmarrs commented on May 28, 2024

@ameya98 Typically, it is best practice to solve one issue in a branch in your repository and then submit a pull request. You may be able to use git's cherry pick functionality to create new branches that resolve specific issues.

An an aside, my implementation followed UCR Matlab code explicitly where as the stomp implementation in this library was based on the paper. I'm not sure that it makes sense to have SCRIMP++ follow the stomp standards. @vanbenschoten what do you think?

from matrixprofile-ts.

ameya98 avatar ameya98 commented on May 28, 2024

It's not about the standards, it's about the implementation here: both STOMP and SCRIMP++ (when run to completion) compute the exact matrix profile. There is no reason for the outputs of both of these to be any different (except for floating point errors, but those errors are extremely minor).
The current implementation has bugs - the matrix profile indices were being incorrectly computed (the indices were taking values larger than the profile length), and the exclusion zone should be applied when computing the distance profiles in SCRIMP (just like you would do in STOMP).

from matrixprofile-ts.

ameya98 avatar ameya98 commented on May 28, 2024

Correction on the exclusion zones - there shouldn't be any need for them in PreSCRIMP. There seems to be some issue with the noise correction I've implemented.

from matrixprofile-ts.

tylerwmarrs avatar tylerwmarrs commented on May 28, 2024

@ameya98 It is great that you are helping resolve some of these issues. When you find a new bug unrelated to refactoring, please create a new issue. When you submit a pull request please reference the issue in the pull request. Please review the contributing guidelines. https://github.com/target/matrixprofile-ts/blob/master/CONTRIBUTING.md

from matrixprofile-ts.

ameya98 avatar ameya98 commented on May 28, 2024

Sorry, I've done so now!

from matrixprofile-ts.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    šŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. šŸ“ŠšŸ“ˆšŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ā¤ļø Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.