hanaml.ARIMA is a R wrapper for SAP HANA PAL ARIMA algorithm.

hanaml.ARIMA(
  data = NULL,
  key = NULL,
  endog = NULL,
  exog = NULL,
  order = NULL,
  order.p = NULL,
  order.q = NULL,
  order.d = NULL,
  seasonal.order = NULL,
  seasonal.order.p = NULL,
  seasonal.order.d = NULL,
  seasonal.order.q = NULL,
  seasonal.order.s = NULL,
  method = NULL,
  include.mean = NULL,
  forecast.method = NULL,
  output.fitted = NULL,
  thread.ratio = NULL
)

Arguments

data

DataFrame
DataFrame containting the data.

key

character, optional
Name of the key. The type of key column is integer.
If not provide, defaults to the first column.

endog

character, optional
The endogenous variable, i.e. time series.
Defaults to the first non-ID column.

exog

character or list of character, optional
An optional array of exogenous variables. Valid only for ARIMAX; cannot be the first ID column and the name of endog column.
Defaults to NULL, i.e. no exogenous columns in data.

order

list/vector of integers, optional
(p, q, d) values of the auto regression, moving average and differentiation order.
Defaults to c(0,0,0).

order.p

integer, optional
value of the auto regression order.
Defaults to 0.

order.q

integer, optional
value of the differentiation order.
Defaults to 0.

order.d

integer, optional
Value of the differentiation order.
Defaults to 0.

seasonal.order

list of integer, optional
(P, Q, D, S) values of the auto regression, differentiation, moving average order and seasonal period for the seasonal part. Defaults to (0,0,0,0).

seasonal.order.p

integer, optional
value of the auto regression order for the seasonal part.
Defaults to 0.

seasonal.order.d

integer, optional
value of the differentiation order for the seasonal part.
Defaults to 0.

seasonal.order.q

integer, optional
value of the moving average order for the seasonal part.
Defaults to 0.

seasonal.order.s

integer, optional
value of the seasonal period.
Defaults to 0.

method

c("css", "mle", "css-mle"), optional
The object function for integer optimization.

  • "css": use the conditional sum of squares.

  • "mle": use the maximized likelihood estimation.

  • "css-mle": use css to approximate starting values and mle to fit.


Defaults to "css-mle".

include.mean

logical, optional
ARIMA model includes a constant part if TRUE.
Valid only when d + D <= 1. if d + D = 0, TRUE. else FALSE

forecast.method

{"formula.forecast", "innovations.algorithm"}, optional
Store information for the subsequent forecast method.

  • "formula.forecast": compute future series via formula.

  • "innovations.algorithm": apply innovations algorithm to compute future series, which requires more original information to be stored

Defaults to "innovations.algorithm".

output.fitted

logical, optional
Output fitted result and residuals if TRUE.
Defaults to TRUE.

thread.ratio

double, optional
Controls the proportion of available threads that can be used by this function.
The value range is from 0 to 1, where 0 indicates a single thread, and 1 indicates all available threads.
Values between 0 and 1 will use up to that percentage of available threads.Values outside this range are ignored.
Defaults to 0.

Value

Returns an "ARIMA" object with the following attributes:

  • model: DataFrame
    Fitted model.

  • fitted: DataFrame
    Predicted dependent variable values for training data. Set to NULL if the training data has no row IDs.

Details

Autoregressive Integrated Moving Average ARIMA(p, d, q) model.

Examples

Input DataFrame data:

> data$Collect()
   TIMESTAMP           Y
1          1 -0.63612643
2          2  3.09250865
3          3 -0.73733556
4          4 -3.14219098
5          5  2.08881981
.......

Invoke the function:

> arm <- hanaml.ARIMA(data = data,
                      order.p = 0,
                      order.d = 0,
                      order.q = 1,
                      seasonal.order.p = 1,
                      seasonal.order.s = 4,
                      method = "mle",
                      thread.ratio = 1.0,
                      output.fitted = TRUE)

Output:

> arm$fitted$Collect()
   TIMESTAMP      FITTED  RESIDUALS
1          1  0.02337363 -0.6595001
2          2  0.11459591  2.9779127
3          3 -0.39656680 -0.3407688
4          4  0.10108234 -3.2432733
5          5 -0.43702717  2.5258470
6          6  2.34169970  0.8376030
......

See also