Commit graph

335 commits

Author SHA1 Message Date
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
Dani
5accde4fb5
resolve python requirements : pandas<1.1.0 (#1623) 2020-08-12 14:37:15 -07:00
anqus
ad53b428c3
Plot continuous weekly seasonality with sub daily data (#1615)
* Check frequency of data

* If sub-daily, use plot_seasonality()

* Format xticks as weekdays for plot_seasonality()

* Display 8 xticks for weekly component
2020-08-12 14:30:06 -07:00
Cuong Duong
40b170b95a
Add helper function to summarise coefficients of extra regressors (#1572)
* add regressor summary fn for python

* styling, docstring

* update docstring

* fix definition for multiplicative regressor, add tests

* simpler shape test
2020-08-12 12:12:24 -07:00
Dani
1053a6e9ce
Update PyPi package metadata and resolve Travis CI failing build (#1602)
* Update PyPi package metadata setup.py 'long_description'

* Add V8 package to Travis CI config & caching pip
2020-07-29 17:02:37 -07:00
Robin Teuwens
87844821d3
Making sure 'holiday' is a Dataframe when using plot_components_ploty() (#1526)
* Issue #1525: Using m.construct_holiday_dataframe() to make sure 'holidays' is a DataFrame.

* #1525 | issuecomment-639399524 | enhancement: have plotly graph the holiday component consistent with matplotlib.

Co-authored-by: Robin Teuwens <teuwens@electris.lu>
2020-06-10 17:33:12 -07:00
Ryan Nazareth
30bcfed918
Include mdape in performance metric docstring (#1512)
* update docstring with mdape in list for python perf metric func

* re-run python notebook cell to generate  mdape in results table

* remove comment

Co-authored-by: Ben Letham <bletham@gmail.com>
2020-06-05 17:51:25 -07:00
Ryan Nazareth
31841c90c9
import tqdm.auto instead (#1509) 2020-06-05 17:46:41 -07:00
Chanran Kim
5669f13abf
Drop Korea class from hdays.py (#1438)
To solve this [issue](https://github.com/facebook/prophet/issues/1437) by @chongdae

Korean lunar calendar which is different from Chinese lunar calendar is added python-holidays package recently.
This commit is about dropping the Korean and KR class in hdays.py file and hdays_part1(holidays) will work for Korean holidays.

```
import fbprophet.hdays as hdays_part2
import holidays as hdays_part1
``
2020-06-05 16:54:58 -07:00
Ryan Nazareth
ac59b44ca3
add implementation for constant trend in Python (#1466)
* add implementation for constant trend

* force k and delta params to be 0s

* add tests and fix n_changepoints, changepoints_t to 0

* Add test for cv with constant trend

* Add docs and test for checking invalid input

* make changes to stan

* add transformed params block in stan and output flat trend vector

* correct syntax

* transformed params syntax

* Fix test and port changes to win stan file

* add test for flat trend function

* Add separate function for flat trend init

* fix test
2020-05-14 21:40:40 -07:00