Consider the Wolfer Sunspot Data (Anderson 1971, p. 660) consisting of the number of sunspots observed each year from 1749 through 1924. The data set for this example consists of the number of sunspots observed from 1770 through 1869. In this example, ARAutoUnivariate
found the minimum AIC fit is an autoregressive model with 3 lags:
using System; using Imsl.Stat; using PrintMatrix = Imsl.Math.PrintMatrix; public class ARAutoUnivariateEx1 { public static void Main(String[] args) { double[] z = new double[]{100.8, 81.6, 66.5, 34.8, 30.6, 7, 19.8, 92.5, 154.4, 125.9, 84.8, 68.1, 38.5, 22.8, 10.2, 24.1, 82.9, 132, 130.9, 118.1, 89.9, 66.6, 60, 46.9, 41, 21.3, 16, 6.4, 4.1, 6.8, 14.5, 34, 45, 43.1, 47.5, 42.2, 28.1, 10.1, 8.1, 2.5, 0, 1.4, 5, 12.2, 13.9, 35.4, 45.8, 41.1, 30.4, 23.9, 15.7, 6.6, 4, 1.8, 8.5, 16.6, 36.3, 49.7, 62.5, 67, 71, 47.8, 27.5, 8.5, 13.2, 56.9, 121.5, 138.3, 103.2, 85.8, 63.2, 36.8, 24.2, 10.7, 15, 40.1, 61.5, 98.5, 124.3, 95.9, 66.5, 64.5, 54.2, 39, 20.6, 6.7, 4.3, 22.8, 54.8, 93.8, 95.7, 77.2, 59.1, 44, 47, 30.5, 16.3, 7.3, 37.3, 73.9}; ARAutoUnivariate autoAR = new ARAutoUnivariate(20, z); Console.Out.WriteLine(""); Console.Out.WriteLine(" Method of Moments "); Console.Out.WriteLine(""); autoAR.EstimationMethod = Imsl.Stat.ARAutoUnivariate.ParamEstimation.MethodOfMoments; autoAR.Compute(); Console.Out.WriteLine("Order Selected: " + autoAR.Order); Console.Out.WriteLine("AIC = " + autoAR.AIC + " Variance = " + autoAR.InnovationVariance); Console.Out.WriteLine("Constant = " + autoAR.Constant); Console.Out.WriteLine(""); new PrintMatrix("AR estimates are: ").Print(autoAR.GetAR()); /* try another method */ Console.Out.WriteLine(""); Console.Out.WriteLine(""); Console.Out.WriteLine(" Least Squares "); Console.Out.WriteLine(""); autoAR.EstimationMethod = Imsl.Stat.ARAutoUnivariate.ParamEstimation.LeastSquares; autoAR.Compute(); Console.Out.WriteLine("Order Selected: " + autoAR.Order); Console.Out.WriteLine("AIC = " + autoAR.AIC + " Variance = " + autoAR.InnovationVariance); Console.Out.WriteLine("Constant = " + autoAR.Constant); Console.Out.WriteLine(); new PrintMatrix("AR estimates are: ").Print(autoAR.GetAR()); Console.Out.WriteLine(""); Console.Out.WriteLine(""); Console.Out.WriteLine(" Maximum Likelihood "); Console.Out.WriteLine(""); autoAR.EstimationMethod = Imsl.Stat.ARAutoUnivariate.ParamEstimation.MaximumLikelihood; autoAR.Compute(); Console.Out.WriteLine("Order Selected: " + autoAR.Order); Console.Out.WriteLine("AIC = " + autoAR.AIC + " Variance = " + autoAR.InnovationVariance); Console.Out.WriteLine("Constant = " + autoAR.Constant); Console.Out.WriteLine(); new PrintMatrix("AR estimates are: ").Print(autoAR.GetAR()); } }
Method of Moments Order Selected: 3 AIC = 405.981241965022 Variance = 287.269907744347 Constant = 13.7097894010953 AR estimates are: 0 0 1.36757589345393 1 -0.737673445646019 2 0.0782508772709516 Least Squares Order Selected: 3 AIC = 405.981241965022 Variance = 221.995196605174 Constant = 11.6104946249815 AR estimates are: 0 0 1.55022677857954 1 -1.00394753883711 2 0.205447994348897 Maximum Likelihood Order Selected: 3 AIC = 405.981241965022 Variance = 218.848375884726 Constant = 11.4178509825012 AR estimates are: 0 0 1.55139136379628 1 -0.998935931377056 2 0.204487453682164Link to C# source.