Python - Statsmodels.tsa.seasonal_decompose - 数据框的头部和尾部缺失值

Python - Statsmodels.tsa.seasonal_decompose - missing values in head and tail of dataframe

我有以下数据框,我正在调用 "sales_df":

            Value
Date             
2004-01-01      0
2004-02-01    173
2004-03-01    225
2004-04-01    230
2004-05-01    349
2004-06-01    258
2004-07-01    270
2004-08-01    223
...           ...
2015-06-01    218
2015-07-01    215
2015-08-01    233
2015-09-01    258
2015-10-01    252
2015-11-01    256
2015-12-01    188
2016-01-01     70

我想将其趋势与其季节性成分分开,为此我通过以下代码使用 statsmodels.tsa.seasonal_decompose:

decomp=sm.tsa.seasonal_decompose(sales_df.Value)
df=pd.concat([sales_df,decomp.trend],axis=1)
df.columns=['sales','trend']

这让我明白了:

            sales       trend
Date                         
2004-01-01      0         NaN
2004-02-01    173         NaN
2004-03-01    225         NaN
2004-04-01    230         NaN
2004-05-01    349         NaN
2004-06-01    258         NaN
2004-07-01    270  236.708333
2004-08-01    223  248.208333
2004-09-01    243  251.250000
...           ...         ...
2015-05-01    270  214.416667
2015-06-01    218  215.583333
2015-07-01    215  212.791667
2015-08-01    233         NaN
2015-09-01    258         NaN
2015-10-01    252         NaN
2015-11-01    256         NaN
2015-12-01    188         NaN
2016-01-01     70         NaN

请注意,趋势系列的开头和结尾有 6 个 NaN。 所以我问,这样对吗?为什么会这样?

这是预期的,因为如果未指定 filt 参数(如您所做),seasonal_decompose 默认使用对称移动平均线。频率是从时间序列中推断出来的。 https://searchcode.com/codesearch/view/86129185/