[Webkit-unassigned] [Bug 184131] Added UI to show potential regressions in chart with t-testing against segmentations.
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Mar 30 17:35:07 PDT 2018
https://bugs.webkit.org/show_bug.cgi?id=184131
--- Comment #3 from Ryosuke Niwa <rniwa at webkit.org> ---
Comment on attachment 336807
--> https://bugs.webkit.org/attachment.cgi?id=336807
Patch
View in context: https://bugs.webkit.org/attachment.cgi?id=336807&action=review
> Websites/perf.webkit.org/public/shared/statistics.js:113
> + this.tTestForRangeWithSignificance = function (values, segmentations, significance) {
This is not running t-test. We're finding ranges which reject null hypothesis based on segmentations.
How about findRangesForChangeDetectionsWithWelchsTTest?
> Websites/perf.webkit.org/public/shared/statistics.js:124
> + const currentTestingIndex = segmentations[i].seriesIndex;
What does testing index mean? I think this is really a change point: https://en.wikipedia.org/wiki/Change_detection
So it should be named as such: currentChangePoint
> Websites/perf.webkit.org/public/shared/statistics.js:126
> + const leftBound = segmentations[i - 1].seriesIndex;
> + const rightBound = segmentations[i + 2].seriesIndex;
Use start/end instead of left/right. "Bound" is ambiguous still.
This should be called previousChangePoint and nextChangePoint respectively.
Do we always include 0 and length - 1 in the segmentations?
If not, we'd not detect a change if the graph had exactly one change point.
> Websites/perf.webkit.org/public/shared/statistics.js:128
> + for (let leftEdge = currentTestingIndex - 2, rightEdge = currentTestingIndex + 2; leftEdge >= leftBound && rightEdge <= rightBound; leftEdge--, rightEdge++) {
Why are we always adding & subtracting two?
> Websites/perf.webkit.org/public/shared/statistics.js:129
> + const result = this.computeWelchsT(values, leftEdge, currentTestingIndex - leftEdge, values, currentTestingIndex, rightEdge - currentTestingIndex, 2 * significance - 1);
What does 2 * significance - 1 mean here?
Are we converting one-sided probability to two-sided probability or something?
If so, we should store that in a local variable with a descriptive name.
> Websites/perf.webkit.org/public/v3/components/chart-pane-base.js:176
> + if(annotation.task)
Nit: Missing a space between if and (.
> Websites/perf.webkit.org/public/v3/components/time-series-chart.js:159
> + setSuggestedAnnotations(suggestedAnnotations)
> + {
> + this._suggestedAnnoations = suggestedAnnotations;
> + this._annotationRows = null;
> + this.enqueueToRender();
> + }
I don't think it makes sense for TimeSeriesChart to provide a facility to merge the list of annotations like this.
ChartPane should simply combine the list of analysis tasks & annotations for change point detections in a single array instead.
> Websites/perf.webkit.org/public/v3/pages/chart-pane.js:50
> + function valueForIndexInSegmentation(index) {
Where is this function ever used?
> Websites/perf.webkit.org/public/v3/pages/chart-pane.js:68
> + fillStyle: '#808080',
Put this in ChartStyles as we talked about it in person.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20180331/a8e6074f/attachment.html>
More information about the webkit-unassigned
mailing list