【问题标题】:Imputed predictions for missing time-series data nearly stationary (flat line)缺失时间序列数据的估算预测几乎是静止的(平线)
【发布时间】:2023-03-14 22:32:01
【问题描述】:

我有球员随时间变化的数据,其中缺少几年来的球员人数。我正在尝试在不同的时间间隔内填充/预测丢失的玩家计数数据。

此处提供数据:https://1drv.ms/u/s!AvEZ_QPY7OZuhJAlKJN89rH185SUhA

我按照下面的说明使用 KalmanRun 来估算缺失值。我尝试了 3 种不同的方法来转换数据 - 使用 xts 对象,以及 2 种方法将其转换为时间序列数据

https://stats.stackexchange.com/questions/104565/how-to-use-auto-arima-to-impute-missing-values

require(forecast)
library(xts)
library(anytime)
library(DescTools)

df_temp = read.csv("r_share.csv")
df_temp[['DateTime']] <- as.Date(strptime(df_temp[['DateTime']], format='%Y-%m-%d %H:%M:%S'))

3种数据转换方法; xts 似乎通过返回可解释的非零数据来发挥最佳效果。

#Convert df_temp to TimeSeries object

df_temp = xts(df_temp$Players, df_temp$DateTime)
#df_temp = as.ts(log(df_temp$Players), start = start(df_temp$DateTime), end = end(df_temp$DateTime), frequency = 365)
#df_temp = ts(df_temp$Players, start = c(2013, 02, 02), end = c(2016, 01, 31), frequency = 365)

拟合和绘图:

fit <- auto.arima(df_temp, seasonal = TRUE)
id.na <- which(is.na(df_temp))

kr <- KalmanRun(index(df_temp), fit$model, update = FALSE)

#?KalmanRun$tol

for (i in id.na)
  df_temp[i] <- fit$model$Z %*% kr$states[i,]

plot(df_temp)

预期输出是模拟实际数据中看到的可变性的数据,并且每个区间都不同,而实际输出相对平稳且不变(两个区间的预测几乎相同)。

【问题讨论】:

    标签: r datetime time-series kalman-filter forecast


    【解决方案1】:

    需要与型号arima()?.
    也许您可以尝试另一种模型,由 Facebook 开发,名为 Prophet。
    在这里您可以找到guidegithub page

    如果我理解你想要这样的东西:

    # Import library
    
    library(prophet)
    
    # Read  data
    df = read.csv("C:/Users/Downloads/r_share.csv",sep = ";")
    
    # Transform to date
    df["DateTime"] = as.Date(df$DateTime,format = "%d/%m/%Y")
    
    # Change names for the model
    colnames(df) = c("ds","y")
    
    # call model
    m = prophet(df)
    
    
    # make "future" just one day greater than past
    future = make_future_dataframe(m,periods = 1)
    
    # predict the points
    forecast = predict(m,future)
    
    # plot results
    plot(m,forecast)
    

    【讨论】:

    • 抱歉,到目前为止,我实际上一直在与预言家合作进行时间序列预测。我认为这对你来说是一个很好的建议。每个模型都有自己的特点,有马是一个非常常用的模型,很高兴开始使用它。
    猜你喜欢
    • 2021-07-29
    • 2021-06-10
    • 1970-01-01
    • 2018-05-01
    • 2019-06-22
    • 1970-01-01
    • 2014-06-21
    • 2022-11-11
    • 1970-01-01
    相关资源
    最近更新 更多