gpt4 book ai didi

r - diffinv 函数输出不是我想的那样

转载 作者:行者123 更新时间:2023-12-05 06:15:37 24 4
gpt4 key购买 nike

尝试弄清楚如果使用 2 个差分如何正确地求反差分。

我可以使用选项 differences = 2 进行两次差分,一切正常:

diff(c(3,6,23,64,77)) = 3 17 41 13
diff(c(3, 17, 41, 13)) = 14 24 -28
diff(c(3,6,23,64,77), lag = 1, differences = 2) = 14 24 -28

当我两次使用diffinv时,使用3作为初始条件(由于第一个差的第一个元素是3,答案是正确的,它是起始向量:

diffinv(
diffinv(
diff(c(3,6,23,64,77), lag = 1, differences = 2),
xi = 3),
xi=3) = 3 6 23 64 77

但是如果我尝试做两个逆差,我会得到不正确的答案:

diffinv(
diff(c(3, 6, 23, 64, 77), lag = 1, differences = 2),
lag = 1, differences = 2, xi = c(3, 3)
) = 3 3 17 55 65

尝试将 difinvdifferences = 2 一起使用时,我做错了什么?

最佳答案

如果单独执行反差分,则每种情况下都需要第一项。

但是,如果你同时做两个逆差,你需要原始数据的前两个值

diffinv(
diff(c(3, 6, 23, 64, 77), lag = 1, differences = 2),
lag = 1, differences = 2, xi = c(3, 6)
) = 3 6 23 64 77

请注意,在这种情况下,我必须使用 c(3, 6),它们是原始数据的前两个元素。

在前面的例子中,我使用了两次 diffinv,所以 c(3, 3) 是原始数据的第一个元素,也是数据的第一个差分的第一个元素。

关于r - diffinv 函数输出不是我想的那样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62418375/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com