Как вычислить значения уровня для вывода dynlm с регрессией, используя разностные ряды - PullRequest
0 голосов
/ 06 ноября 2018

Я использовал функцию 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

P.S Как мне прикрепить файл. Хотел приложить файл с остатками и подобранными значениями из регрессии, но не знаю как!

С наилучшими пожеланиями

Дипак

1 Ответ

0 голосов
/ 06 ноября 2018

При работе с различиями все, что теряется, это начальный уровень серии. Вот пример того, как вернуться к уровням, где ситуация дополнительно усложняется введением запаздывающих терминов.

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] дает желаемый результат? В общем, пусть наблюдаемые ряды по уровням будут y 1 , y 2 , ... и разница в разностях будет Δy 2 , Δy 3 , ..., где обратите внимание, что у нас нет Δy 1 из-за отсутствия y 0 .

Теперь, забыв про лаги и просто подумав о роли cumsum, обратите внимание, что

y t = (y t -y t-1 ) + (y t-1 -y t-2 ) + ... + (y 2 -y 1 ) + y 1 = Δy t + Δy t-1 + ... + Δy 2 + y 1 .

То есть, суммируя все изменения от начала до периода t, мы сначала получаем совокупное изменение y t -y 1 , а затем как получим y t мы также добавляем y 1 - начальный уровень.

Используя cumsum, мы накапливаем эти изменения для каждого t векторизованным образом, а затем добавляем y 13 ко всему вектору cumsum(fitted(m)), поскольку все они имеют одинаковую начальную точку интереса, у 13 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...