Суббота, 20 Января 2024
Прошел урок по тренду из тайм сириес на кагле. Тренд это линия показывающая что будет дальше, может быть прямая, парабола(второй стпени), третьей степени и тд.
Moving Average Plot
Мувинг эвередж это среднее значение данных взятое в каком то отрезке этих значений. если взять по маленьким отрезкам и взять среднее, то график сгладиться и можно будет увидить куда идет тренд линия: вверх, вниз или на одном уровне
moving_average = tunnel.rolling(
window=365, # 365-day window
center=True, # puts the average at the center of the window
min_periods=183, # choose about half the window size
).mean() # compute the mean (could also do median, std, min, max, ...)
ax = tunnel.plot(style=".", color="0.5")
moving_average.plot(
ax=ax, linewidth=3, title="Tunnel Traffic - 365-Day Moving Average", legend=False,
)
Предсказание через создание тренд переменной
Через стастмоделс можно создать детерминированые значения
from statsmodels.tsa.deterministic import DeterministicProcess
dp = DeterministicProcess(
index=tunnel.index, # dates from the training data
constant=True, # dummy feature for the bias (y_intercept)
order=1, # the time dummy (trend)
drop=True, # drop terms if necessary to avoid collinearity
)
# `in_sample` creates features for the dates given in the `index` argument
X = dp.in_sample()
X.head()
далее можно обучить линейную регрессию на trend фиче и предсказать количество машин.
from sklearn.linear_model import LinearRegression
y = tunnel["NumVehicles"] # the target
# The intercept is the same as the `const` feature from
# DeterministicProcess. LinearRegression behaves badly with duplicated
# features, so we need to be sure to exclude it here.
model = LinearRegression(fit_intercept=False)
model.fit(X, y)
y_pred = pd.Series(model.predict(X), index=X.index)
Так как мы использовали детерминистик процесс, тот который мы можем легко предугадать(+1 каждый раз), мы можем использовать полученый результат для предсказания следующих значений. В данном случае 30 следующих
X = dp.out_of_sample(steps=30)
y_fore = pd.Series(model.predict(X), index=X.index)
y_fore.head()
Интересные идеи
-
Мозг это предсказательный механизм. В процессе эволюции выживали те кто мог предсказать что случиться дальше исходя из того что происходит сейчас или происходило в прошлом. И принять меры чтобы избежать наихудьшего предсказания (слышишь волков рядом - прячься)
-
Бизнеса не существует. Ты просто делаешь то что нравиться другим людям и отдаешь им это за деньги
Идея проекта
Игра в doodle jump. Сделать программу которая сама будет играть в нее.
Как сделать: делать скриншоты экрана игры и предсказывать(класификатор) с помощью конволюшн сети которую кнопку жать: лево, право или никакую.
Делать скриншоты 10 раз в секунду. Сначала самому наиграть большое количество скриншотов чтобы было на чем обучаться и далее предоставить их моделе