Я работаю с данными временных рядов (нестационарными), я применил .diff(periods=n)
для разграничения данных, чтобы исключить из данных тренды и факторы сезонности.
При использовании .diff(periods=n)
наблюдение из предыдущего временного шага (t-1
) вычитается из текущего наблюдения (t
).
Теперь я хочу вернуть разностные данные к исходному масштабу, но у меня с этим проблемы. Код можно найти здесь.
Мой код для разности:
data_diff = df.diff(periods=1)
data_diff.head(5)
Мой код для инвертирования разностных данных обратно в исходный масштаб:
cols = df.columns
x = []
for col in cols:
diff_results = df[col] + data_diff[col].shift(-1)
x.append(diff_results)
diff_df_inverted = pd.concat(x, axis=1)
diff_df_inverted
Как вы можете видеть из последнего вывода в коде, я успешно инвертировал свои данные обратно в исходный масштаб. Однако я не получаю инвертированные данные для строки 1. Он инвертирует и сдвигает значения вверх по строке. Мой вопрос, почему? Что мне не хватает?
спасибо!