Commit graph

344 commits

Author SHA1 Message Date
Ben Letham
83c4ef3e2b Merge branch 'patch-1' of https://github.com/loulo1/prophet into loulo1-patch-1 2021-04-20 17:49:17 -07:00
Ben Letham
847ecee033 Merge 2021-04-20 17:43:10 -07:00
loulo1
3a0061e8e1
change init into inits for CmdStanPyBackend 2021-04-14 15:39:02 +02:00
Vladimir Shargin
899b4fac13
Add include_legend flag to m.plot() (#1858) 2021-04-03 18:01:41 -04:00
Sean Taylor
94e5d2e80a Bump version numbers 2021-03-26 15:36:07 -07:00
Sean Taylor
82f3399409 Pin to last 2.* Pystan release. 2021-03-25 22:15:10 -07:00
Ben Letham
6d81543eb2
Pakage rename (#1844)
* Rename package from fbprophet to prophet, and add shim

* Untrack files that should have been ignored

* Update github actions build commands
2021-03-21 14:13:50 -07:00
Cuong Duong
16472a5700
Upgrade CmdStanPy interface (#1849)
* cmdstan variable extraction update

* add backwards compatibility

* Fix bug

* Upgrade stan version in requirements and in CI testing

Co-authored-by: Ben Letham <bletham@gmail.com>
2021-03-20 10:59:58 -07:00
Cuong Duong
8ffa0e02a6
use builtin int and float (#1850) 2021-03-20 10:50:14 -07:00
loulo1
fc8fa49aac Fix the issue #1814
I did as PyStanBackend. And now when we use the method fit of Prophet, we can do like in the documentation:

https://facebook.github.io/prophet/docs/additional_topics.html#updating-fitted-models

def stan_init(m):
    """Retrieve parameters from a trained model.

    Retrieve parameters from a trained model in the format
    used to initialize a new Stan model.

    Parameters
    ----------
    m: A trained model of the Prophet class.

    Returns
    -------
    A Dictionary containing retrieved parameters of m.

    """
    res = {}
    for pname in ['k', 'm', 'sigma_obs']:
        res[pname] = m.params[pname][0][0]
    for pname in ['delta', 'beta']:
        res[pname] = m.params[pname][0]
    return res

df = pd.read_csv('../examples/example_wp_log_peyton_manning.csv')
df1 = df.loc[df['ds'] < '2016-01-19', :]  # All data except the last day
m1 = Prophet().fit(df1) # A model fit to all data except the last day

%timeit m2 = Prophet().fit(df)  # Adding the last day, fitting from scratch
%timeit m2 = Prophet().fit(df, init=stan_init(m1))  # Adding the last day, warm-starting from m1

Update models.py

Update models.py

Update models.py

Update models.py

Update models.py

Update models.py

Update models.py

Test

Test2

Test4

Test4

Test are fixed
2021-03-09 15:05:57 +01:00
Ben Letham
8882c6a3e3 Use pathlib to load model file (#1835) 2021-03-05 09:55:35 -08:00
Ben Letham
49a89d2a4e Bump version in unit test 2021-03-04 20:12:34 -08:00
Ben Letham
612934695b Version bump 2021-03-04 17:16:23 -08:00
Ben Letham
eb6b8f60ec Enable cross validation on a deserialized model (#1709) 2021-03-03 18:40:27 -08:00
Ben Letham
bbc44bf67c Add test for backwards compatibility with v0.7.1 serialized models 2021-03-03 18:14:16 -08:00
Ben Letham
a1803a8801 Minor rearrange 2021-03-03 18:09:59 -08:00
Ben Letham
74b21f7cd9 Error for unrecognized options in StanBackend.set_options 2021-03-03 18:04:15 -08:00
Ben Letham
f123a1a7cc Fix holidays NA handling 2021-03-03 16:06:25 -08:00
Ben Letham
2e9f831474 Check for NAs in holiday dataframe 2021-03-03 15:43:49 -08:00
Ben Letham
29f14172f0 Handle numpy fit_kwargs when serializing (#1701) 2021-03-03 15:23:12 -08:00
Ben Letham
9e4e87af9b Make sure y_scale is not numpy float (#1824) 2021-03-03 14:52:08 -08:00
Nodar Okroshiashvili
ad2de1e69d
Add Georgian holidays (#1827)
* Update gitignore

* Add Georgian holidays
2021-03-01 17:25:03 -08:00
Luke Scales
9bc7fb77b5
Added optional colour to plot_cross_validation_metric (#1758)
* Added optional colour to plot_cross_validation_metric to facilitate the comparison of different model's performance on the one plot

* use color

Change from colour to color for consistency.

Co-authored-by: Ben Letham <bletham@gmail.com>
2021-01-07 10:50:18 -08:00
Devdutt Shenoi
20f590b726
[python] code quality improvements (#1745)
* Add DeepSource config

* Simplify if statement

* Refactor use of dict() with empty literal

* Use set comprehension syntax

* Refactor chained comparison

* Rewrite instances of list literal within set() as set literals

* Add test_slow to class definition
2020-12-08 15:35:54 -08:00
Aziz Alto
ee592451f2
Fix "UserWarning" in model.plot_components (#1732)
See the issue https://github.com/facebook/prophet/issues/1721
2020-11-10 11:21:23 -08:00
Sharon Woo
4f34de0363
'Added checks to cutoffs and error messages if checks fail using ValueError. Fixed earlier bug' (#1718)
* Update error message: Dataframe has no rows #1650, added err msgs

* Added error messages and checks for cutoffs"
2020-11-06 21:46:01 -08:00
Pawel Kranzberg
97bb057de4
Update performance_metrics() in diagnostics.py (#1710)
* Update performance_metrics() in diagnostics.py

Include smape as a valid metric.
Add support for monthly horizons.

* Update performance_metrics() docstring

* Update performance_metrics() docstring

* Include smape in test_diagnostics.py

* sMAPE code formatting improvement
2020-11-06 21:29:32 -08:00
Greg Rafferty
0a33f381ba
X axis labels in plot_seasonality (#1707)
* changed x-axis format in plot_seasonality

* changed x-axis format in plot_seasonality
2020-11-06 21:20:59 -08:00
fbonaita
3a17402585
Tqdm flag (#1706)
* add disable_tqdm flag to diagnostics.py

* add comment to cross_validation()

* Replace boolean comparison operator

Co-authored-by: Marius Theiss <justusbersten@gmail.com>

* Fix indentation

* Restore original indentation

Co-authored-by: Filippo Bonaita <filippo.bonaita@corp.badoo.com>
Co-authored-by: Marius Theiss <justusbersten@gmail.com>
2020-11-06 21:02:54 -08:00
quant9
e41ed25646
add option to disable Newton fallback via set_options method (#1702) 2020-10-08 11:13:21 -07:00
Ben Letham
3a436ec603 Update holidays version requirement, for TR 2020-09-03 17:09:24 -07:00
Ben Letham
5faacc9fd5 Update serialize test with version change 2020-09-03 16:51:00 -07:00
Ben Letham
cb966a5244 Fix issue with holidays in some years 2020-09-03 16:47:22 -07:00
Sean Taylor
838c72fb85 Split test into fast and slow part 2020-09-02 17:38:20 -07:00
Ben Letham
96848bcc92 Fix test for python38 2020-09-02 16:34:18 -07:00
Ben Letham
2061f251f8 Clean up script for R holidays, and regenerate 2020-08-27 18:36:18 -07:00
Greg Rafferty
3d0bb6e081
fix for comma-separated holidays (#1638)
* use holidays.get_list() to return list of holidays

* make_holidays_df now accepts states
2020-08-27 17:49:19 -07:00
Ben Letham
181933b948 Change dataset for flat growth test 2020-08-24 09:17:29 -07:00
Ben Letham
ffedaa4eed Add new test file to manifest 2020-08-19 19:50:33 -07:00
Ben Letham
fb82a6a43d Minor docstring updates 2020-08-18 13:04:39 -07:00
Ben Letham
0d0f508cf1 Add test for deserialize backwards compatibility 2020-08-18 12:34:47 -07:00
Ben Letham
9084506968 Bump pandas requirement for deserialize 2020-08-17 18:38:11 -07:00
Ben Letham
a88f6458ad Fix test issues 2020-08-17 18:36:29 -07:00
Ben Letham
ccde3a498f version bump 2020-08-17 17:43:55 -07:00
Ben Letham
9fb8f103d6 Minor simplification to weekly plotting logic 2020-08-17 17:40:01 -07:00
Ben Letham
2049217471 Use y_scale in coefficient utility 2020-08-17 17:25:55 -07:00
Ben Letham
a519043f1b Fix bug in changepoint handling in prophet_copy (#1529) 2020-08-17 16:24:34 -07:00
Ben Letham
fb6552137c Deduplicate history dates for make_future_dataframe 2020-08-17 14:51:06 -07:00
Ben Letham
6ec0a90a60 Use holidays package for Turkey 2020-08-17 14:24:47 -07:00
Ben Letham
75ec9dffb1 Fix holidays for pandas 1.1.0 2020-08-14 11:03:04 -07:00