| 12 | |
| 13 | == Utilidades == |
| 14 | |
| 15 | El paquete {{{tolKit}}} incorpora funcionalidades de TOL al entorno R de una manera amigable para el usuario de R, |
| 16 | evitando en la medida de lo posible la necesidad de conocer las particularidades de la programación en TOL. |
| 17 | |
| 18 | En su primera versión, este paquete facilita el acceso a las funciones de estimación y previsión de modelos |
| 19 | lineales con estructura ARIMA denominadas: {{{Estimate}}} y {{{CalcForecasting}}}. |
| 20 | |
| 21 | === tolEstimate === |
| 22 | |
| 23 | La función {{{Estimate}}} de TOL se incorpora a R como {{{tolEstimate}}}. |
| 24 | |
| 25 | {{{tolEstimate}}} estima un modelo lineal cuyo ruido presenta estructura ARIMA. Es decir, un modelo ARIMA con regresores externos. |
| 26 | |
| 27 | Nótese que no se trata de un modelo ARIMAX habitual, ya que el bloque AR afecta tanto al output (variable observada) como a los inputs (regresores). |
| 28 | |
| 29 | Ejemplo: |
| 30 | {{{ |
| 31 | #!ruby |
| 32 | # Se utiliza la serie USAccDeaths |
| 33 | ser <- as.Serie(USAccDeaths) |
| 34 | # Se descartan los últimos dos años de datos |
| 35 | # para compararlos con la previsión |
| 36 | ser.in = Ssub(ser, to=-25) |
| 37 | ser.out = Ssub(ser, from=-24) |
| 38 | plot(ser.in, ser.out, style="TOL") |
| 39 | }}} |
| 40 | |
| 41 | {{{ |
| 42 | #!ruby |
| 43 | # Se estima un ARIMA(0,1,1)xSARIMA(12,0,1,1) |
| 44 | est <- tolEstimate(ser.in, |
| 45 | dif=(1-B)*(1-B^12), MA=list(1-0.1*B, 1-0.1*B^12)) |
| 46 | print(est) |
| 47 | plot(est, style="TOL") |
| 48 | acf(residuals(est)) |
| 49 | }}} |
| 50 | |
| 51 | === CalcForecasting === |
| 52 | |
| 53 | La función {{{CalcForecasting }}} de TOL se incorpora a R como {{{tolCalcForecasting}}}. |
| 54 | |
| 55 | {{{tolCalcForecasting}}} calcula previsiones para un modelo previamente estimado con {{{tolEstimate}}}. |
| 56 | |
| 57 | Ejemplo: |
| 58 | {{{ |
| 59 | #!ruby |
| 60 | fst <- tolCalcForecasting(est, 24) |
| 61 | print(fst) |
| 62 | plot(fst, actual=ser.out, style="TOL") |
| 63 | plot(fst, actual=ser.out, style="TOL", |
| 64 | mar=c(6,4,2,2), legend.names=list()) |
| 65 | }}} |