【问题标题】:Use Spline interpolation to deal with missing time series data使用样条插值处理缺失的时间序列数据
【发布时间】:2020-03-29 04:58:46
【问题描述】:

我有一个关于处理时间序列中缺失数据的问题。我得到了day1-day7,day14和day30的数据。我想预测第 60 天、第 90 天和第 180 天的数据。但是时间间隔不同,所以我想为缺失的数据生成数据点。

day ltv
1   8.94
2   18.93
3   26.19
4   31.97
5   38.19
6   45.59
7   52.06
8   NA
9   NA
10  NA
11  NA
12  NA
13  NA
14  69.10
15  NA
16  NA
17  NA
18  NA
19  NA
20  NA
21  NA
22  NA
23  NA
24  NA
25  NA
26  NA
27  NA
28  NA
29  NA
30  103

有没有使用 spline() 函数来做到这一点?谢谢!

【问题讨论】:

    标签: r time-series spline


    【解决方案1】:

    我们可以从zoo使用na.spline

    library(zoo)
    df1$ltv <- na.spline(df1$ltv)
    df1$ltv
    #[1]   8.94000  18.93000  26.19000  31.97000  38.19000  45.59000  52.06000  57.25141  61.32302  64.39529
    #[11]  66.58868  68.02362  68.82058  69.10000  68.98271  68.59102  68.04762  67.47520  66.99644  66.73402
    #[21]  66.81064  67.34898  68.47173  70.30157  72.96119  76.57328  81.26051  87.14559  94.35119 103.00000
    

    数据

    df1 <- structure(list(day = 1:30, ltv = c(8.94, 18.93, 26.19, 31.97, 
    38.19, 45.59, 52.06, NA, NA, NA, NA, NA, NA, 69.1, NA, NA, NA, 
    NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 103)),
     class = "data.frame", row.names = c(NA, 
    -30L))
    

    【讨论】:

      猜你喜欢
      • 2015-12-18
      • 1970-01-01
      • 1970-01-01
      • 2016-11-04
      • 2017-09-26
      • 2019-08-11
      • 2016-11-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多