如何在 matlab 中用 retime 填充最后一次观察?
How to fill the last observations with retime in matlab?
我在 MATLAB 中将变量从季度频率插值到每月频率。但是,当我使用 retime
时,它并没有走到样本的末尾,而是在 2 个月前停止。
举个例子:
T = datetime(2002,01,01):calquarters:datetime(2019,12,01);
TT = timetable(T', randn(72,1))
x = retime(TT, 'monthly', 'spline') % interpolate
如您所见,它返回了 214 个观测值而不是 216 个,缺少 2019 年 11 月和 12 月的观测值。
我该如何解决?
谢谢!
我没有足够的声誉来添加评论,但是 TT
有 72 个季度而不是 73 个意味着你实际上存储的日期是从 2002 年 1 月 1 日到 2019 年 10 月 1 日 - 因为下一个季度会从 2020 年 1 月 1 日开始,然后不包含在您的原始数组中(您可以通过打印 TT
并检查是否包含此日期来检查)。
如果是这种情况,retime
无法插入缺失的月份,因为它们不在原始矩阵中(也就是说,retime
无法从十月插入到一月,因为 TT
).
中没有这样的东西
将 datetime(2019,12,01)
替换为 datetime(2020,01,01)
,并将 randn(72,1)
替换为 randn(73,1)
,可能会解决您的问题。
我在 MATLAB 中将变量从季度频率插值到每月频率。但是,当我使用 retime
时,它并没有走到样本的末尾,而是在 2 个月前停止。
举个例子:
T = datetime(2002,01,01):calquarters:datetime(2019,12,01);
TT = timetable(T', randn(72,1))
x = retime(TT, 'monthly', 'spline') % interpolate
如您所见,它返回了 214 个观测值而不是 216 个,缺少 2019 年 11 月和 12 月的观测值。 我该如何解决?
谢谢!
我没有足够的声誉来添加评论,但是 TT
有 72 个季度而不是 73 个意味着你实际上存储的日期是从 2002 年 1 月 1 日到 2019 年 10 月 1 日 - 因为下一个季度会从 2020 年 1 月 1 日开始,然后不包含在您的原始数组中(您可以通过打印 TT
并检查是否包含此日期来检查)。
如果是这种情况,retime
无法插入缺失的月份,因为它们不在原始矩阵中(也就是说,retime
无法从十月插入到一月,因为 TT
).
将 datetime(2019,12,01)
替换为 datetime(2020,01,01)
,并将 randn(72,1)
替换为 randn(73,1)
,可能会解决您的问题。