Fix orig edivisive flow#141
Conversation
Signed-off-by: Vishnu Challa <vchalla@redhat.com>
|
cc: @henrikingo @Gerrrr |
|
Unfortunately, rather than fixing the orig_edivisive flow, in master, we should actually remove it. By orig_edivisive we mean the original, close to textbook implementation at MongoDB in 2017. Since we no longer want to depend on the external dependency, we cannot offer this option anymore. Note that in the 0.7 branch you can still use --orig-edivisive, but as far as I can tell, this bug isn't happening in that branch. |
+1.
@vishnuchalla if you find issues with --orig-edivisive in 0.7.0, we can fix it there and do a bugfix release. |
|
Closing. If we misunderstood something, please just reply here and reopen. |
|
Oh dear... My sincerest apologies. I was looking into something unrelated yesterday and realized that there is a completely valid --orig-edivisive flow also in the new algorithm in main branch / 0.8.0 and higher. I had forgotten that @Sowiks did re-implement a version of the algorithm that is entered at Line 280 in 1ceb153 ...and your patch is against that. I will re-open this and look at your patch later. |
|
Ok yes,I caught up with this. Working indepently on a different patch, I end up needing exactly this patch for --orig-edivisive +1 |
|
I think your patch looks good except for this one linting failure. If you move the TTestSignificanceTester one line up, I'll hit the button to rerun tests for you. In the mean time, do you already have a signed contributor agreement on file with the ASF? If not:
|
Signed-off-by: Vishnu Challa <vchalla@redhat.com>
8f45408 to
76ed75d
Compare
@henrikingo Singed and emailed the ICLA. Also fixed the linting issue. PTAL once you get sometime. Thank you. |
The recent work in #96 to replace the original external dependency on the so called "signal processing" repository with our own implementation, introduced new classess ChangePoint and CandidateChangePoint, in change_point_divisive/base.py but also left in place the original ChangePoint class in analysis.py. These come together in series.py, where the newer is renamed as _ChangePoint() and also acts as a parent to older class, thus aligning their signature as much as possible. It turns out having two similarly named classes can be a source of confusion and bugs. For example, in #141 vishnuchalla fixes a bug that is due to this and has essentially blocked the --orig-edivisive code path completely. This patch is an effort to make the existence of two separate classes very explicit, by renaming them to ChagePointHunter and ChangePointOtava based on their "lineage". A test case is added to exercise the --orig-edivisive code path. The test fails, as predicted by #141. The test is now cmmented out. The bug is due to a missing cp.metric property in one variation of the ChangePoint class. Note that this patch is intended more for discussion than to merge.
|
Whether testing the full output of |
I think the tests just need a re-run? Updated with this patch. |
|
The merge re-introduced 413d774 |
715d9a5 to
46e0ba7
Compare
Oops, fixed. |
|
Thanks. And nice to have you here @vishnuchalla ! |
The recent work in #96 to replace the original external dependency on the so called "signal processing" repository with our own implementation, introduced new classess ChangePoint and CandidateChangePoint, in change_point_divisive/base.py but also left in place the original ChangePoint class in analysis.py. These come together in series.py, where the newer is renamed as _ChangePoint() and also acts as a parent to older class, thus aligning their signature as much as possible. It turns out having two similarly named classes can be a source of confusion and bugs. For example, in #141 vishnuchalla fixes a bug that is due to this and has essentially blocked the --orig-edivisive code path completely. This patch is an effort to make the existence of two separate classes very explicit, by renaming them to ChagePointHunter and ChangePointOtava based on their "lineage". A test case is added to exercise the --orig-edivisive code path. The test fails, as predicted by #141. The test is now cmmented out. The bug is due to a missing cp.metric property in one variation of the ChangePoint class. Note that this patch is intended more for discussion than to merge.
Description
Fix orig edivsive flow. I am running into below error if more than 10 datapoints are being used for analysis
Testing
Tested and verified in local