UPDATE: 2023-01-14 10:13:49
差分系列を元の系列に戻す方法をまとめておく。
差分系列とは、原系列に対して、各時点での差分をとって作られる系列のことで、単位根過程を定常過程に戻す際に使用される。単位根過程とは、ある時系列が非定常過程であり、差分系列が定常になる過程のこと。
<- c(10,15,25,26,30)
x x
## [1] 10 15 25 26 30
差分系列はdiff
関数を使えば計算できる。
<- diff(x)
diff_x diff_x
## [1] 5 10 1 4
差分系列をもとの系列の戻すには、差分系列の累積和を原系列の頭の値に足して、頭に原系列の頭の値をつなげれば元の過程に戻すことができる。
c(x[1], x[1] + cumsum(diff_x))
## [1] 10 15 25 26 30
もう少しわかりやすくするためにデータフレームに値をまとめる。diff
には差分が記録され、cumdiff
には差分の累計が記録されている。
差分には5, 10, 1, 4
であり、最初の値を入れて10, 5, 10, 1, 4
、累計和をとれば、
10, 5, 10, 1, 4
10
10 + 5 = 15
10 + 5 + 10 = 25
10 + 5 + 10 + 1 = 26
10 + 5 + 10 + 1 + 4 = 30
となる。手計算しなくても、diffinv
関数に初期値を渡せばもとに戻せる。
data.frame(
x,diff = c(NA, diff_x),
cumdiff = c(NA, cumsum(diff_x)),
reverse_x = c(x[1], x[1] + cumsum(diff_x)),
diffinv_x = diffinv(diff_x, xi = x[[1]])
)
## x diff cumdiff reverse_x diffinv_x
## 1 10 NA NA 10 10
## 2 15 5 5 15 15
## 3 25 10 15 25 25
## 4 26 1 16 26 26
## 5 30 4 20 30 30