С помощью функции arima я нашел несколько хороших результатов, однако теперь у меня проблемы с интерпретацией их для использования вне R.
В настоящее время я борюсь с условиями МА, вот короткий пример:
ser=c(1, 14, 3, 9) #Example series
mod=arima(ser,c(0,0,1)) #From {stats} library
mod
#Series: ser
#ARIMA(0,0,1) with non-zero mean
#
#Coefficients:
# ma1 intercept
# -0.9999 7.1000
#s.e. 0.5982 0.8762
#
#sigma^2 estimated as 7.676: log likelihood = -10.56
#AIC = 27.11 AICc = Inf BIC = 25.27
mod$resid
#Time Series:
#Start = 1
#End = 4
#Frequency = 1
#[1] -4.3136670 3.1436951 -1.3280435 0.6708065
predict(mod,n.ahead=5)
#$pred
#Time Series:
#Start = 5
#End = 9
#Frequency = 1
#[1] 6.500081 7.100027 7.100027 7.100027 7.100027
#
#$se
#Time Series:
#Start = 5
#End = 9
#Frequency = 1
#[1] 3.034798 3.917908 3.917908 3.917908 3.917908
?arima
При рассмотрении спецификации представлена эта формула:
X[t] = a[1]X[t-1] + … + a[p]X[t-p] + e[t] + b[1]e[t-1] + … + b[q]e[t-q]
Учитывая мой выбор терминов AR и MA и учитывая, что я включил константу, это должно привести к:
X[t] = e[t] + b[1]e[t-1] + constant
Однако это не работает, когда я сравниваю результаты R с ручными вычислениями:
6.500081 != 6.429261 == -0.9999 * 0.6708065 + 7.1000
Кроме того, я также не могу воспроизвести ошибки выборки, предполагая, что я знаю первую, это должно быть возможно:
-4.3136670 * -0.9999 +7.1000 != 14 - 3.1436951
3.1436951 * -0.9999 +7.1000 != 3 + 1.3280435
-1.3280435 * -0.9999 +7.1000 != 9 - 0.6708065
Я надеюсь, что кто-то сможет пролить свет на этот вопрос, так что я действительно смогу использовать хорошие результаты, которые я получил.