Skip to content
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

Changepoint detection may be senstive to extreme outliers #998

Closed
2 tasks
MichaelClerx opened this issue Oct 8, 2019 · 7 comments
Closed
2 tasks

Changepoint detection may be senstive to extreme outliers #998

MichaelClerx opened this issue Oct 8, 2019 · 7 comments
Labels

Comments

@MichaelClerx
Copy link
Member

https://www.cs.ox.ac.uk/projects/PINTS/functional-testing/#mcmc-banana-populationmcmc-1

It works really well on other cases, but here I think I can see a change that isn't picked up. Perhaps because a while earlier there was a KL-divergence of 1e15??

Todo:

  • Remove this point in some ad-hoc way, see if the changepoint detection improves
  • If so, find a good way to remove these very extreme outliers
@MichaelClerx
Copy link
Member Author

Alternatively, should be fixed by #906

@ben18785
Copy link
Collaborator

@abhidg Can we have a look at this please? The method I had before here (using R) worked fine in this regard.

@MichaelClerx
Copy link
Member Author

MichaelClerx commented Mar 21, 2020

Not sure there's any point picking off small issues on the functional testing @ben18785 ! We need someone to sit down for it in earnest for a few days and work out what to do + how best to do it. See e.g. the other tickets open on "functional testing" https://github.com/pints-team/pints/issues?q=is%3Aissue+is%3Aopen+label%3Afunctional-testing

@ben18785
Copy link
Collaborator

ben18785 commented Mar 21, 2020 via email

@MichaelClerx
Copy link
Member Author

Have you tested it on this specific data set?

The code we have now works well on lots of cases, but this ticket was about a situation where it didn't give the answer I expected, so thought it was worth debugging (at the time).

The main reason it's "not working" at the moment is that

  • we're doing things like looking at the wrong metric Change changepoint metric to number of passes per commit #906
  • we're only plotting changepoints, not actually doing anything with hose results (e.g. notifying developers)
  • we're not using the x-axis in a sensible way (closely related to 1), it's currently something like commit, or test-run, but commit history isn't linear, and if we start doing things like "number of fails" then it has to be an aggregate of multiple tests etc.

So the whole thing needs thinking out

@MichaelClerx
Copy link
Member Author

I still think the whole changepoint thing is a really great idea btw, and possibly novel for software engineering? Would be a paper if we do it right I'll bet. Just requires some proper thinking which isn't going to come from me for the next few months at least!

@MichaelClerx
Copy link
Member Author

(having said that I'm now thinking about it quite a lot...)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants