Пример #1
0
        /// <summary>
        /// Constructor for ArimaParams
        /// </summary>
        /// <param name="p"> ARIMA parameter, the order (number of time lags) of the autoregressive model </param>
        /// <param name="d"> ARIMA parameter, the degree of differencing </param>
        /// <param name="q"> ARIMA parameter, the order of the moving-average model </param>
        /// <param name="P"> ARIMA parameter, autoregressive term for the seasonal part </param>
        /// <param name="D"> ARIMA parameter, differencing term for the seasonal part </param>
        /// <param name="Q"> ARIMA parameter, moving average term for the seasonal part </param>
        /// <param name="m"> ARIMA parameter, the number of periods in each season </param>
        public ArimaParams(int p, int d, int q, int P, int D, int Q, int m)
        {
            this.p = p;
            this.d = d;
            this.q = q;
            this.P = P;
            this.D = D;
            this.Q = Q;
            this.m = m;

            // dependent states
            this._opAR = NewOperatorAR;
            this._opMA = NewOperatorMA;
            _opAR.initializeParams(false);
            _opMA.initializeParams(false);
            this._dp = _opAR.Degree;
            this._dq = _opMA.Degree;
            this._np = _opAR.numParams();
            this._nq = _opMA.numParams();
            //JAVA TO C# CONVERTER NOTE: The following call to the 'RectangularArrays' helper class reproduces the rectangular array initialization that is automatic in Java:
            //ORIGINAL LINE: this._init_seasonal = (D > 0 && m > 0) ? new double[D][m] : null;
            this._init_seasonal = (D > 0 && m > 0) ? RectangularArrays.ReturnRectangularDoubleArray(D, m) : null;
            //JAVA TO C# CONVERTER NOTE: The following call to the 'RectangularArrays' helper class reproduces the rectangular array initialization that is automatic in Java:
            //ORIGINAL LINE: this._init_non_seasonal = (d > 0) ? new double[d][1] : null;
            this._init_non_seasonal      = (d > 0) ? RectangularArrays.ReturnRectangularDoubleArray(d, 1) : null;
            this._diff_seasonal          = (D > 0 && m > 0) ? new double[D][] : null;
            this._diff_non_seasonal      = (d > 0) ? new double[d][] : null;
            this._integrate_seasonal     = (D > 0 && m > 0) ? new double[D][] : null;
            this._integrate_non_seasonal = (d > 0) ? new double[d][] : null;
        }