【问题标题】:How to compute level values for dynlm output wth regressison using differenced series如何使用差分序列通过回归计算 dynlm 输出的电平值
【发布时间】:2018-11-06 11:39:32
【问题描述】:

我使用 dynlm 函数将一个差分序列作为因变量回归,并将其 5 个滞后作为回归量。附上摘要输出文件。有人可以帮我从汇总输出中计算出水平拟合值吗?我还附上了显示残差值和基于上述回归拟合值的数据框?

摘要输出

Time series regression with "ts" data:
Start = 6, End = 364

Call:
dynlm(formula = dusagets ~ (L(dusagets, 1:5)))

Residuals:
    Min      1Q  Median      3Q     Max 
-6915.9  -748.9    20.7   822.1  6099.6 

Coefficients:
                   Estimate Std. Error t value Pr(>|t|)    
(Intercept)       -41.24158   88.26414  -0.467 0.640608    
L(dusagets, 1:5)1  -0.19753    0.05231  -3.776 0.000187 ***
L(dusagets, 1:5)2  -0.43436    0.05311  -8.179 5.22e-15 ***
L(dusagets, 1:5)3  -0.15207    0.05729  -2.654 0.008305 ** 
L(dusagets, 1:5)4  -0.14216    0.05292  -2.687 0.007561 ** 
L(dusagets, 1:5)5  -0.17909    0.05243  -3.415 0.000711 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1671 on 353 degrees of freedom
Multiple R-squared:  0.1858,    Adjusted R-squared:  0.1743 
F-statistic: 16.11 on 5 and 353 DF,  p-value: 2.602e-14

附言 如何附加文件。想附上带有残差和回归拟合值的文件,但不知道怎么做!

最好的问候

迪帕克

【问题讨论】:

    标签: r


    【解决方案1】:

    通过处理差异,所有丢失的只是一个系列的初始级别。这是一个示例,如何通过引入滞后项返回到情况更加复杂的级别。

    y <- log10(UKDriverDeaths)
    dy <- diff(y)
    m <- dynlm(dy ~ L(dy, 1) + L(dy, 12))
    

    现在fitted(m) 已经为差异拟合了值,唯一缺少的是知道从哪里开始。特别是,我们有那个

    cumsum(fitted(m)) + y[1 + 12]
    

    是可以在级别上与初始系列进行比较的值,

    tail(y, -(1 + 12))
    

    由于取差,我们失去了 1 个观察值,另外 12 个对应于最大滞后。


    现在为什么cumsum(fitted(m)) + y[1 + 12] 会给出想要的结果?一般来说,让观察到的水平序列为 y1, y2, ... 并且差异的序列为 Δy2, Δy 3, ...,请注意,由于没有 y0,我们没有 Δy1

    现在忘记滞后,只考虑cumsum 的角色,请注意

    yt = (yt-yt-1) + (yt-1- yt-2) + ... + (y2-y1) + y1 = Δy t + Δyt-1 + ... + Δy2 + y1.

    即通过对从开始到t期间的所有变化求和,我们首先得到总变化yt-y1,然后as得到yt 我们还添加了 y1 - 起始级别。

    通过使用cumsum,我们以向量化方式为每个 t 累积这些变化,然后我们将 y13 添加到整个向量 cumsum(fitted(m)),因为它们都有相同的兴趣起点, y13

    【讨论】:

    • 嗨 Julius -> 如果我们使用 L(duk, 12),拟合值不会从第 13 个值开始吗?那么如何 cumsum(c(0,fitted(dfm)) 用零填充第一个 12 个值?它不会只将 1 个零值添加到 ftted 值向量。还是我的理解有缺陷?
    • @DeepakAgarwal,对,我完全忘记了滞后,希望现在是对的。
    • -> 现在一定是正确的!回家后我会测试一下。在工作!谢谢!会及时通知您。
    • -> 刚刚意识到这只会给我差分序列的拟合值,而不是水平值)。我追求水平值。当然,这些可以使用参数估计和第一原理通过手算来计算,只是想知道是否有一种方法可以使用可用的 R 函数来获取这些信息,因为对于我的原始场景来说,通过 long hanc 来完成它会相当复杂差异系列的 5 个滞后?
    • 我不确定你的意思。在我的示例中,tail(uk, -(1 + 12)) 是级别,cumsum(fitted(dfm)) + uk[1 + 12] 是差异系列的拟合值转换 为一系列级别。因此,我知道后一个系列就是您所追求的。
    猜你喜欢
    • 1970-01-01
    • 2020-06-11
    • 2019-11-21
    • 2021-09-17
    • 2016-10-04
    • 1970-01-01
    • 2018-11-09
    • 2021-01-16
    • 2021-05-08
    相关资源
    最近更新 更多