prophet-rb 0.4.1 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 69d58f060a9bda44b1ab8666ded81b3e61ff1b95b08ae40727fa7a2dfee57ee0
4
- data.tar.gz: dc76685a8b45ca7cad79561f986af9c66e5e49bd45dd5e10c72f91088d9b470a
3
+ metadata.gz: 4fd9d15984092c132cd6f13fa633e76e989de29ddd38f3f467803f7f76036466
4
+ data.tar.gz: 79b66208c4473e18a2da9fe8676d806d1e993f8f2723739f6ba4592d94b2b2f4
5
5
  SHA512:
6
- metadata.gz: 34d2fd0587110c6de9db334c44a4859a5de92d1cc124efb5f865c845d504816f3d3cd34d63776a709de396af8f9b2cf82a390cfb9f3e49e685ef8be4f469fb3e
7
- data.tar.gz: '0587986407bb68a9ca97928ad65bcbb42fe101bd9d2e50a44b2126df38d67c04544932ec39009c6f1d6467736aa0a8404ac4aad04187dcb953285d4d5ee80a77'
6
+ metadata.gz: de7a1a66e44a5846eebbdfc3fe77f7b43032e30562c276fb4e4422086887f689699046c683e4bc55b5291ac2cc80c28a9b8cdd5a2bddb218162a9c5fde6ebd30
7
+ data.tar.gz: 5ab4054e4e4f77a6b3255ee1f9fcb70b5e3aa02d74912960f2c2817c2b4e730d9c896959cd2e8dcaa0dc66338cece5e0130d967a3cdcc2b7c913f9a8fffb524b
data/CHANGELOG.md CHANGED
@@ -1,3 +1,16 @@
1
+ ## 0.5.0 (2023-09-05)
2
+
3
+ - Added support for Polars
4
+ - Updated holidays
5
+ - Changed warning to error for unsupported country holidays
6
+ - Disabled logging by default
7
+ - Fixed error with `add_regressor` and holidays
8
+ - Dropped support for Ruby < 3
9
+
10
+ ## 0.4.2 (2022-07-12)
11
+
12
+ - Fixed warning with `add_country_holidays` method
13
+
1
14
  ## 0.4.1 (2022-07-10)
2
15
 
3
16
  - Added support for cross validation and performance metrics
data/LICENSE.txt CHANGED
@@ -1,7 +1,7 @@
1
1
  MIT License
2
2
 
3
3
  Copyright (c) Facebook, Inc. and its affiliates.
4
- Copyright (c) 2020-2022 Andrew Kane
4
+ Copyright (c) 2020-2023 Andrew Kane
5
5
 
6
6
  Permission is hereby granted, free of charge, to any person obtaining
7
7
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -87,6 +87,7 @@ Check out the [Prophet documentation](https://facebook.github.io/prophet/docs/qu
87
87
  - [Holidays and Special Events](#holidays-and-special-events)
88
88
  - [Multiplicative Seasonality](#multiplicative-seasonality)
89
89
  - [Uncertainty Intervals](#uncertainty-intervals)
90
+ - [Outliers](#outliers)
90
91
  - [Non-Daily Data](#non-daily-data)
91
92
  - [Diagnostics](#diagnostics)
92
93
  - [Additional Topics](#additional-topics)
@@ -226,22 +227,24 @@ m = Prophet.new(changepoints: ["2014-01-01"])
226
227
  Create a data frame with `holiday` and `ds` columns. Include all occurrences in your past data and future occurrences you’d like to forecast.
227
228
 
228
229
  ```ruby
229
- playoffs = Rover::DataFrame.new(
230
+ playoffs = Rover::DataFrame.new({
230
231
  "holiday" => "playoff",
231
- "ds" => ["2008-01-13", "2009-01-03", "2010-01-16",
232
- "2010-01-24", "2010-02-07", "2011-01-08",
233
- "2013-01-12", "2014-01-12", "2014-01-19",
234
- "2014-02-02", "2015-01-11", "2016-01-17",
235
- "2016-01-24", "2016-02-07"],
232
+ "ds" => [
233
+ "2008-01-13", "2009-01-03", "2010-01-16",
234
+ "2010-01-24", "2010-02-07", "2011-01-08",
235
+ "2013-01-12", "2014-01-12", "2014-01-19",
236
+ "2014-02-02", "2015-01-11", "2016-01-17",
237
+ "2016-01-24", "2016-02-07"
238
+ ],
236
239
  "lower_window" => 0,
237
240
  "upper_window" => 1
238
- )
239
- superbowls = Rover::DataFrame.new(
241
+ })
242
+ superbowls = Rover::DataFrame.new({
240
243
  "holiday" => "superbowl",
241
244
  "ds" => ["2010-02-07", "2014-02-02", "2016-02-07"],
242
245
  "lower_window" => 0,
243
246
  "upper_window" => 1
244
- )
247
+ })
245
248
  holidays = playoffs.concat(superbowls)
246
249
 
247
250
  m = Prophet.new(holidays: holidays)
@@ -287,6 +290,8 @@ forecast = m.predict(future)
287
290
 
288
291
  [Explanation](https://facebook.github.io/prophet/docs/multiplicative_seasonality.html)
289
292
 
293
+ Specify multiplicative seasonality
294
+
290
295
  ```ruby
291
296
  df = Rover.read_csv("example_air_passengers.csv")
292
297
  m = Prophet.new(seasonality_mode: "multiplicative")
@@ -295,8 +300,18 @@ future = m.make_future_dataframe(periods: 50, freq: "MS")
295
300
  forecast = m.predict(future)
296
301
  ```
297
302
 
303
+ Specify mode when adding seasonality and regressors
304
+
305
+ ```ruby
306
+ m = Prophet.new(seasonality_mode: "multiplicative")
307
+ m.add_seasonality(name: "quarterly", period: 91.25, fourier_order: 8, mode: "additive")
308
+ m.add_regressor("regressor", mode: "additive")
309
+ ```
310
+
298
311
  ## Uncertainty Intervals
299
312
 
313
+ [Explanation](https://facebook.github.io/prophet/docs/uncertainty_intervals.html)
314
+
300
315
  Specify the width of uncertainty intervals (80% by default)
301
316
 
302
317
  ```ruby
@@ -309,6 +324,18 @@ Get uncertainty in seasonality
309
324
  Prophet.new(mcmc_samples: 300)
310
325
  ```
311
326
 
327
+ ## Outliers
328
+
329
+ [Explanation](https://facebook.github.io/prophet/docs/outliers.html)
330
+
331
+ Remove outliers
332
+
333
+ ```ruby
334
+ df = Rover.read_csv("example_wp_log_R_outliers1.csv")
335
+ df["y"][(df["ds"] > "2010-01-01") & (df["ds"] < "2011-01-01")] = Float::NAN
336
+ m = Prophet.new.fit(df)
337
+ ```
338
+
312
339
  ## Non-Daily Data
313
340
 
314
341
  [Explanation](https://facebook.github.io/prophet/docs/non-daily_data.html)
@@ -1,4 +1,4 @@
1
- Copyright (c) 2017-2022 <maurizio.montel@gmail.com>
1
+ Copyright (c) 2017-2023 <dr.prodigy.github@gmail.com>
2
2
  Copyright (c) 2014-2017 <ryanssdev@icloud.com>
3
3
 
4
4
  Permission is hereby granted, free of charge, to any person obtaining a copy
data/data-raw/README.md CHANGED
@@ -1,3 +1,3 @@
1
1
  Holidays from 1995 through 2044 are generated from [this script](https://github.com/facebook/prophet/blob/main/python/scripts/generate_holidays_file.py).
2
2
 
3
- The data is primarily based on the Python [holidays](https://pypi.org/project/holidays/) package.
3
+ The data is from the Python [holidays](https://pypi.org/project/holidays/) package.