Skip to content

Refit after a month of new data ​

match flagged ← All linear growth benchmarks

fit(history, { map: { warmStart } }) from warmStartParameters of a fit of the first 226 days, against fit(df, init=warm_start_params(m)). 256 days in all, fitted with L-BFGS. Timings compare the refit with a fresh fit.

Input ​

benchmark/inputs/v1/linear-medium.json: 256 history rows and 64 forecast rows.

Output ​

Largest difference: 0.0024 (0.0025% of the input's range).

Every forecast row from both libraries.

DateEffect ProphetPython ProphetDifference
2020-09-13107.7958107.79520.00059
2020-09-14107.5632107.56260.00060
2020-09-15108.3425108.34180.00063
2020-09-16109.9333109.93260.00068
2020-09-17111.5460111.54530.00070
2020-09-18112.3359112.33510.00072
2020-09-19112.0777112.07700.00074
2020-09-20111.3662111.36540.00079
2020-09-21111.1336111.13280.00080
2020-09-22111.9129111.91210.00082
2020-09-23113.5037113.50280.00088
2020-09-24115.1164115.11550.00089
2020-09-25115.9063115.90540.00092
2020-09-26115.6482115.64720.00094
2020-09-27114.9366114.93560.00099
2020-09-28114.7040114.70300.00099
2020-09-29115.4833115.48230.0010
2020-09-30117.0741117.07300.0011
2020-10-01118.6868118.68570.0011
2020-10-02119.4767119.47560.0011
2020-10-03119.2186119.21750.0011
2020-10-04118.5071118.50590.0012
2020-10-05118.2744118.27320.0012
2020-10-06119.0537119.05250.0012
2020-10-07120.6445120.64330.0013
2020-10-08122.2572122.25600.0013
2020-10-09123.0471123.04580.0013
2020-10-10122.7890122.78770.0013
2020-10-11122.0775122.07610.0014
2020-10-12121.8448121.84350.0014
2020-10-13122.6242122.62270.0014
2020-10-14124.2150124.21350.0015
2020-10-15125.8277125.82620.0015
2020-10-16126.6176126.61600.0015
2020-10-17126.3594126.35790.0015
2020-10-18125.6479125.64630.0016
2020-10-19125.4153125.41370.0016
2020-10-20126.1946126.19300.0016
2020-10-21127.7854127.78370.0017
2020-10-22129.3981129.39640.0017
2020-10-23130.1880130.18630.0017
2020-10-24129.9299129.92810.0017
2020-10-25129.2183129.21650.0018
2020-10-26128.9857128.98390.0018
2020-10-27129.7650129.76320.0018
2020-10-28131.3558131.35390.0019
2020-10-29132.9685132.96660.0019
2020-10-30133.7584133.75650.0019
2020-10-31133.5003133.49840.0019
2020-11-01132.7887132.78680.0020
2020-11-02132.5561132.55410.0020
2020-11-03133.3354133.33340.0020
2020-11-04134.9262134.92420.0021
2020-11-05136.5389136.53690.0021
2020-11-06137.3288137.32670.0021
2020-11-07137.0707137.06860.0021
2020-11-08136.3592136.35700.0022
2020-11-09136.1265136.12440.0022
2020-11-10136.9058136.90360.0022
2020-11-11138.4967138.49440.0023
2020-11-12140.1094140.10710.0023
2020-11-13140.8993140.89690.0023
2020-11-14140.6411140.63880.0023
2020-11-15139.9296139.92720.0024

Internal fit differences ​

The forecasts match, so this case passes. Both libraries search for the best-fitting parameters and stop when they are close enough. On this input they stopped at slightly different points, so these internal numbers differ by more than the threshold where we take a closer look.

CheckEffect ProphetPython ProphetThreshold
Fitting objective (lower is a better fit)-1762.2305-1762.15160.01

Timing ​

Median of all measured repetitions.

StepEffect ProphetPython ProphetEffect Prophet is
Fit26.7 ms88.3 ms3.3× faster
Refit from an earlier fit27.3 ms73.2 ms2.7× faster

Settings ​

The case declaration both libraries ran.

json
{
  "kind": "map",
  "comparison": {
    "kind": "equivalent-objective",
    "evidenceId": "linear-output-first-v4"
  },
  "fitRequest": "growth-only",
  "configuration": {
    "growth": "linear",
    "scaling": "absmax",
    "seasonalityMode": "additive",
    "holidaysMode": "additive",
    "changepoints": {
      "mode": "auto",
      "count": 25,
      "range": 0.8
    },
    "changepointPriorScale": 0.05,
    "seasonalities": [
      {
        "name": "weekly",
        "periodDays": 7,
        "fourierOrder": 3,
        "priorScale": 10
      }
    ],
    "events": [],
    "regressors": []
  },
  "pythonOptimizer": {
    "algorithm": "Auto",
    "maxIterations": 10000,
    "newtonFallback": true
  },
  "warmStart": {
    "baseRows": 226,
    "investigateParameterAbsolute": 0.01
  }
}

Inspired by Prophet from Meta. Not affiliated with Meta.