我正在尝试生成每月数据的日期范围,其中日期始终是月初:
pd.date_range(start='1/1/1980', end='11/1/1991', freq='M')
Run Code Online (Sandbox Code Playgroud)
这会生成1/31/1980,2/29/1980等等.相反,我只是想1/1/1980,2/1/1980...
我已经看到有关生成始终在每个月的特定日期的数据的其他问题,答案说这是不可能的,但肯定必须在月初!
我有一个月度数据(df.sales)的熊猫系列。我需要减去12个月前的数据以适应时间序列,因此我运行了以下命令:
sales_new = df.sales.diff(periods=12)
Run Code Online (Sandbox Code Playgroud)
然后,我拟合了ARMA模型,并预测了未来:
model = ARMA(sales_new, order=(2,0)).fit()
model.predict('2015-01-01', '2017-01-01')
Run Code Online (Sandbox Code Playgroud)
因为我已经比较了销售数据,所以当我使用模型进行预测时,它会预测前向差异。如果这是时段1的差异,我将使用np.cumsum(),但是由于这是时段12,因此有点麻烦。
“展开”差异并将其转换回原始数据规模的最佳方法是什么?