Prophet学习(六)乘法季节性

乘法季节性(Multiplicative Seasonality)

默认情况下,Prophet适合添加的季节性,这意味着季节性的影响被添加到趋势中以获得预测。航空乘客数量的时间序列是一个例子,当加法季节性不工作:

# Python
df = pd.read_csv('https://raw.githubusercontent.com/facebook/prophet/main/examples/example_air_passengers.csv')
m = Prophet()
m.fit(df)
future = m.make_future_dataframe(50, freq='MS')
forecast = m.predict(future)
fig = m.plot(forecast)

该时间序列具有明确的年周期,但预测中的季节性在时间序列开始时太大,在时间序列结束时太小。在这个时间序列中,季节性并不是Prophet假设的一个恒定的加性因子,而是随趋势而增长。这就是乘法季节性。

Prophet可以通过在输入参数中设置seasonality_mode='multiplicative'来建模季节性的乘法:

# Python
m = Prophet(seasonality_mode='multiplicative')
m.fit(df)
forecast = m.predict(future)
fig = m.plot(forecast)

成分图现在将显示季节性占趋势的百分比:

# Python
fig = m.plot_components(forecast)

使用seasonality_mode='multiplicative',假日效果也将被建模为乘法。默认情况下,任何添加的季节性因素或额外的回归因素都将使用任何seasonality_mode设置的值,但在添加季节性因素或回归因素时,可以通过指定mode='additive'或mode='multiplicative'作为参数来覆盖。

例如,这个块将内置的季节性设置为乘法,但包括一个加性季度季节性和一个加性回归:

# Python
m = Prophet(seasonality_mode='multiplicative')
m.add_seasonality('quarterly', period=91.25, fourier_order=8, mode='additive')
m.add_regressor('regressor', mode='additive')

加法和乘法额外回归量将在分量图的单独面板中显示。然而,请注意,它不太可能混合了加性和乘性季节性,所以通常只在有理由期望出现这种情况时才会使用这种方法。

猜你喜欢

转载自blog.csdn.net/weixin_64338372/article/details/130138428
今日推荐