Я работаю с данными временных рядов (нестационарными), я применил .diff (period = n) для дифференцирования данных, чтобы исключить тенденции и факторы сезонности из данных.
Используя .diff ( периоды = n), наблюдение с предыдущего временного шага (t-1) вычитается из текущего наблюдения (t).
Теперь я хочу вернуть разностные данные к исходному масштабу, но я есть проблемы с этим.
Вы можете ввести код здесь: https://colab.research.google.com/drive/1DacBLM6Y6YN5NHlRJdiEInl1WkfZHvrd?usp=sharing#scrollTo = AfMVhOG2SO8l
Мой код для сравнения:
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. Он инвертирует и сдвигает значения на строку вверх. У меня вопрос, почему? Что мне не хватает?
спасибо!