【问题标题】:Continuous Integration of a 1st Differenced Logged Series in RR 中第一个差分记录系列的持续集成
【发布时间】:2019-05-07 11:46:31
【问题描述】:

我有一个第一个差异记录系列,我需要将其转换回原始级别单位。我如何在 R 中做到这一点?

以下是我的数据系列和尝试的代码:

原创系列:

1.1, 2.6, 3.6, 4.8, 5.1, 6.0, 7.3, 8.8, 9.4, 10.5

尝试的代码:

o <- c(1.1, 2.6, 3.6, 4.8, 5.1, 6.0, 7.3, 8.8, 9.4, 10.5)
l <- log(o)
dl <- diff(l)

exp(diffinv(dl, differences = 1)) # Attempt to recover o

电流输出:

[1] 1.000000 2.363636 3.272727 4.363636 4.636364 5.454545 6.636364 8.000000 
[9] 8.545455 9.545455

期望的输出:

[1] 1.1 2.6 3.6 4.8 5.1 6.0 7.3 8.8
[9] 9.4 10.5

【问题讨论】:

    标签: r integration difference continuous


    【解决方案1】:

    在不知道第一个元素的情况下,不可能完全恢复原始系列:

    exp(diffinv(dl) + log(1.1))
    # [1]  1.1  2.6  3.6  4.8  5.1  6.0  7.3  8.8  9.4 10.5
    

    exp(cumsum(c(log(1.1), dl)))
    # [1]  1.1  2.6  3.6  4.8  5.1  6.0  7.3  8.8  9.4 10.5
    

    设X1, X2, X3, X4 为原序列。那么最终你有

    Z1 = ln(X2) - ln(X1),

    Z2 = ln(X3) - ln(X2)

    Z3 = ln(X4) - ln(X3)

    给定 Z1, Z2, Z3,你希望恢复 X1, X2、X3、X4。然后注意

    Z1 = ln(X2) - ln(X1),

    Z2 + Z1 = ln(X3) - ln(X1),

    Z3 + Z2 + Z1 = ln(X4) - ln(X1),

    这样

    Z1 + ln(X1) = ln(X2),

    Z2 + Z1 + ln(X1) = ln(X3),

    Z3 + Z2 + Z1 + ln(X1) = ln(X4),

    exp(Z1 + ln(X1)) = X2,

    exp(Z2 + Z1 + ln(X1)) = X3,

    exp(Z3 + Z2 + Z1 + ln(X1)) = X 4,

    这正是(比第一个解决方案更透明)

    exp(cumsum(c(log(1.1), dl)))
    

    确实如此。因此,

     exp(diffinv(dl))
    

    单独仅在原始系列从 1 = exp(0) 开始时才有效。

    因此,您现在必须将系列的初始级别从任何类型的差异中恢复,这是非常自然的。想象一下,我们只知道您每天将赚取和花费多少。在不知道初始金额的情况下,绝不可能说出您总共有多少钱。

    【讨论】:

    • 太好了,这些信息很有帮助。现在假设,我只知道原始系列的预测值,它们也是第一个差分和记录的,即:dlf
    • @Darlene,我想你想要一个原始系列的预测水平。过程相同:exp(cumsum(c(log(firstValueInLevels), forecasted)))。这个想法是,虽然您已经预测了差异,但您仍然可以将其与已知的初始水平相结合。
    • 是的,我很抱歉,stackoverflow 不允许我编辑我的问题。在我的示例中,firstValueInLevels 是什么?
    • @Darlene,好的,那么你想要o[length(o)] + exp(cumsum(dlf))。这些是未来的水平预测。在我之前的示例中,这意味着时间段 4 的级别预测为 1 + 0 = 1。这里 o 是级别中非常初始的系列,例如之前的 (2,4,1)。
    • @Darlene,实际上我认为我上次的评论错了,应该是 exp(cumsum(dlf) + log(o[length(o)])),抱歉。
    猜你喜欢
    • 2019-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-04
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    相关资源
    最近更新 更多