Я работаю с данными из SteamCharts в игре - Warframe (https://steamdb.info/app/230410/graphs/)
Редактировать - данные загружаются в формате .csv рядом с "Диаграммы Steam на каждый день"
Я моделирую данные временных рядов, но в используемом пакете нет пропущенных значений. Чтобы решить эту проблему, я использую arima для прогнозирования пропущенных значений (инструкции по ссылке воспроизводятся ниже)
https://stats.stackexchange.com/questions/104565/how-to-use-auto-arima-to-impute-missing-values
require(forecast)
# sample series
x0 <- x <- log(AirPassengers)
y <- x
# set some missing values
x[c(10,60:71,100,130)] <- NA
# fit model
fit <- auto.arima(x)
# Kalman filter
kr <- KalmanRun(x, fit$model)
# impute missing values Z %*% alpha at each missing observation
id.na <- which(is.na(x))
for (i in id.na)
y[i] <- fit$model$Z %*% kr$states[i,]
# alternative to the explicit loop above
sapply(id.na, FUN = function(x, Z, alpha) Z %*% alpha[x,],
Z = fit$model$Z, alpha = kr$states)
На данный момент мне удалось преобразовать в
- Преобразовать строки Date в объект DateTime в моем фрейме данных:
df <- read.csv(file="chart.csv", header=TRUE, sep=",")
df = df %>% select(DateTime, Players)
df_temp[['DateTime']] <- as.Date(strptime(df[['DateTime']], format='%Y-%m-%d %H:%M:%S'))
- Получить объект xts из моих данных (я думаю, что arima работает только с ts)
df = xts(df$Players, df$DateTime)
df = ts(df)
Модель arima подходит, но когда я пытаюсь использовать KalmanRun, я получаю следующую ошибку:
Error in KalmanRun(x, fit$model) : invalid argument type
Я считаю, что есть проблема в том, как я преобразовываю его в объект временной серии, но не знаю, как его решить. Любая помощь будет принята с благодарностью. Спасибо!