Comments (5)
More complex options:
http://en.wikipedia.org/wiki/Segmented_regression
http://en.wikipedia.org/wiki/Multivariate_adaptive_regression_splines
While these methods could be used to provide an estimate themselves, they could also be used to dynamically segment the samples into regions that would receive different weightings for the Monte Carlo simulation.
from drupalreleasedate.
The improved-weighting branch implements a weighting function that results in a distribution something like this:
The structure isn't especially visible at this scale, but works as follows:
- Values are grouped by time period (e.g. one week).
Each time period has a weight that is a small multiple of the previous period, so that the weights compound (e.g. 1.00, 1.10, 1.21, 1.331...) - Within each period, samples are weighted linearly within the range of that period (e.g. 1.00, 1.01, 1.02, 1.03, ..., 1.09)
The weighting of groups can be calculated so that the final weight is a set multiple of the initial weight with pow($multiple, 1/$periods)
. (e.g. pow(2, 1/52)
will double the value over one year of weeks)
Given this, what are suitable values for the weight change?
For some context, with this recent set of samples:
A linear regression of the samples has a very slight downward slope (-0.008), but doesn't account for the timing of samples (initial samples were less frequent, and samples are not available for a period in the middle)
If the weight is set to double over a year, most iterations (90+%) fail due to the issue count increasing.
If the weight is set to double over sixth months, a majority (~60%) of iterations still fail. (No more than 10% of iterations can fail for a successful estimation)
If the weight is set to double over three months (13 weeks), an estimate of March 2017 is generated.
Is recent momentum actually worth twice as much as that of 3-4 months ago, or would this be over-weighting just to get an estimate?
from drupalreleasedate.
I think the current momentum has /some/ significance. For 2-3 months, while the overall number of beta blockers was reducing, they were being replaced with non-beta blocking critical issues at the same rate (so no overall change in numbers of issues), but the past month or so this has changed beyond treading water. Also the beta blockers in general (not all) represent some of the toughest remaining architectural changes. There are still some very difficult issues in the non-beta blocking criticals, but there's also a higher proportion of straightforward bugs that tend to get both opened and closed quicker.
Once things get to beta, we'll likely see a lot of new issues found as things get tested more widely, whether that's matched by more people fixing them is anyone's guess.
What I've been wondering before seeing this issue, would be whether it's viable to do projections based on the past month / three months / 6 months / year - so show multiple possible dates/trajectories?
from drupalreleasedate.
I ran a set of estimations, with varying lengths for the weight adjustment, using data up to June 27th:
Day | Week | Month | 3 Months | 6 Months | Year |
---|---|---|---|---|---|
+2 | 0 | -11 | -27 | -26 | +1 |
The result is the following estimates:
Weighting Length | Estimate | Issues per day |
---|---|---|
26 weeks | n/a (6 hour timeout hit) | |
20 weeks | n/a (6 hour timeout hit) | |
16 weeks | 2017-03-25 | 0.095 |
12 weeks | 2016-05-07 | 0.140 |
8 weeks | 2015-11-13 | 0.188 |
4 weeks | 2015-10-08 | 0.203 |
The estimate weighted for 16 week periods took just over 5 hours with all the data, so a little prohibitive to run multiple estimates frequently.
from drupalreleasedate.
Here's a visualization of the previous estimates along side the samples:
Not sure if it would be helpful to create an updated chart that includes the recent increase in issue count in the estimates.
from drupalreleasedate.
Related Issues (20)
- Prevent run-away estimate iterations HOT 1
- Use navigator.sendBeacon for analytics events HOT 1
- Add range filter to charts HOT 1
- Split console 'cron' command into individual commands HOT 1
- Multiple estimation methods HOT 1
- IE support HOT 2
- "Invalid Date" error in Chrome on OSX HOT 2
- Remove / hide estimates before 12th Dec HOT 1
- Replace logarithmic issue graph with separate linear graph for majors and criticals. HOT 5
- Account for new "Plan" issue category HOT 3
- Add links to the issue que
- Implement Content-Security-Policy header HOT 3
- Add stats for closed and opened HOT 1
- Move contents of the about page to homepage HOT 1
- Better configuration management
- Add tracking 'days-to' to statistics HOT 1
- Calculation does not account for Drupal Core release windows. HOT 1
- Update homepage with latest RC available
- Automatically manage versions
- Get rid of inline JS / CSS
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from drupalreleasedate.