public virtual void Arma2ma_test() { double[] ar = new double[] { 1.0, -0.25 }; double[] ma = new double[] { 1.0, 2.0 }; int lag = 10; double[] ma_coeff = ForecastUtil.ARMAtoMA(ar, ma, lag); double[] true_coeff = new double[] { 1.0, 2.0, 3.75, 3.25, 2.3125, 1.5, 0.921875, 0.546875, 0.31640625, 0.1796875 }; Assert.Equal(ma_coeff, true_coeff); //$!!$, 1e-6); //Util.Equal(ma_coeff, true_coeff, 1e-6); }
/// <summary> /// Set Sigma2(RMSE) and Predication Interval for forecast result. /// </summary> /// <param name="params"> ARIMA parameters </param> /// <param name="forecastResult"> MODIFIED. forecast result </param> /// <param name="forecastSize"> size of forecast </param> /// <returns> max normalized variance </returns> //JAVA TO C# CONVERTER WARNING: 'final' parameters are not available in .NET: //ORIGINAL LINE: public static double setSigma2AndPredicationInterval(final TimeSeries.Forecast.TimeSeries.Arima.struct.ArimaParams params, final TimeSeries.Forecast.TimeSeries.Arima.struct.ForecastResult forecastResult, final int forecastSize) public static double setSigma2AndPredicationInterval(ArimaParams @params, ForecastResult forecastResult, int forecastSize) { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] coeffs_AR = params.getCurrentARCoefficients(); double[] coeffs_AR = @params.CurrentARCoefficients; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final double[] coeffs_MA = params.getCurrentMACoefficients(); double[] coeffs_MA = @params.CurrentMACoefficients; return(forecastResult.SetConfInterval(ForecastUtil.confidence_constant_95pct, ForecastUtil.getCumulativeSumOfCoeff(ForecastUtil.ARMAtoMA(coeffs_AR, coeffs_MA, forecastSize)))); }