如何在Python中反转时间序列的季节性对数差异

k_b*_*_bm 5 python reverse time-series difference

您能帮我解决这个问题吗,因为我进行了很多搜索但无法解决。我有一个用于电力消耗的多变量数据框,并且我正在使用时间序列的 VAR(向量自回归)模型进行预测。我做出了预测,但我需要反转时间序列(energy_log_diff),因为我应用了季节性对数差来使序列平稳,以获得真实的能量值:

df['energy_log'] = np.log(df['energy'])
df['energy_log_diff'] = df['energy_log'] - df['energy_log'].shift(1)
Run Code Online (Sandbox Code Playgroud)

为此,我首先做了:

df['energy'] = np.exp(df['energy_log_diff']) 
Run Code Online (Sandbox Code Playgroud)

这应该给出滞后 365 天的 2 个值之间的能量差,但我也不确定这一点。

我怎样才能做到这一点?

tja*_*787 4

我们使用 log diff 的原因是它们是相加的,因此我们可以使用累积和,然后乘以最后观察到的值。

last_energy=df['energy'].iloc[-1]

df['energy']=(np.exp(df['energy'].cumsum())*last_energy)
Run Code Online (Sandbox Code Playgroud)

根据季节性:如果您对日志差异进行了去季节操作,则只需在执行上述步骤之前添加(或乘以);如果您对原始系列进行了去季节操作,则在之后添加