У меня есть большой набор данных временных рядов, охватывающий несколько лет с ежедневными ставками.Я пытаюсь добавить два дополнительных столбца, которые включают в себя пересечение Y и коэффициент х или наклона на основе предыдущих 10 дней ставки.
В Excel я использую функцию linest для вычисления пересечения Y и коэффициента x или наклона.
Я хотел бы повторить это в Python.
Я включил пример кода для этого вопроса.
import pandas as pd
import numpy as np
from datetime import datetime
date_rng = pd.date_range(start='7/1/2018', end='08/31/2018', freq='D')
df = pd.DataFrame(date_rng, columns=['date'])
df['data'] = np.random.randint(76, 100, size=(len(date_rng)))
df['datetime'] = pd.to_datetime(df['date'])
df = df.set_index('datetime')
df.drop(['date'], axis=1, inplace=True)
Я ожидаю увидеть следующие результаты
datetime data Slope Intercept
1/07/2018 93 NaN NaN
2/07/2018 91 NaN NaN
3/07/2018 76 NaN NaN
5/07/2018 78 NaN NaN
6/07/2018 86 NaN NaN
7/07/2018 94 NaN NaN
8/07/2018 97 NaN NaN
9/07/2018 97 NaN NaN
10/07/2018 96 1.303030303 81.93333333
11/07/2018 82 1.175757576 81.53333333
12/07/2018 95 1.757575758 78.73333333
13/07/2018 95 1.290909091 83.2
14/07/2018 81 0.296969697 88.46666667
15/07/2018 84 -0.842424242 95.33333333
16/07/2018 77 -1.903030303 100.2666667
17/07/2018 78 -2.266666667 100.6666667