This example is an artificial realization of an process via formula
using System; using Imsl.Stat; public class ARMAOutlierIdentificationEx2 { public static void Main(String[] args) { double resStdErr, aic; int[,] outlierStatistics; int numOutliers; double[] omegaWeights; int[] model = { 1, 1, 1, 0 }; double[] outlierFreeSeries; double constant; double[] ar, ma; double[] series = { 50.0000000, 50.2728081, 50.6242599, 51.0373917, 51.9317627, 50.3494759, 51.6597252, 52.7004929, 53.5499802, 53.1673279, 50.2373505, 49.3373871, 49.5516472, 48.6692696, 47.6606636, 46.8774185, 45.7315445, 45.6469727, 45.9882355, 45.5216560, 46.0479660, 48.1958656, 48.6387749, 49.9055367, 49.8077278, 47.7858467, 47.9386749, 49.7691956, 48.5425873, 49.1239853, 49.8518791, 50.3320694, 50.9146347, 51.8772049, 51.8745689, 52.3394470, 52.7273712, 51.4310036, 50.6727448, 50.8370399, 51.2843437, 51.8162918, 51.6933670, 49.7038231, 49.0189247, 49.455703, 50.2718010, 49.9605980, 51.3775749, 50.2285385, 48.2692299, 47.6495590, 49.2938499, 49.1924858, 49.6449242, 50.0446815, 51.9972496, 54.2576981, 52.9835434, 50.4193535, 50.3617897, 51.8276901, 53.1239929, 54.0682144, 54.9238319, 55.6877632, 54.8896332, 54.0701065, 52.2754097, 52.2522354, 53.1248703, 51.1287193, 50.5003815, 49.6504173, 47.2453079, 45.4555626, 45.8449707, 45.9765129, 45.7682228, 45.2343674, 46.6496811, 47.0894432, 49.3368340, 50.8058052, 49.9132500, 49.5893288, 48.2470627, 46.9779968, 45.6760864, 45.7070389, 46.6158409, 47.5303612, 47.5630417, 47.0389214, 46.0352287, 45.8161545, 45.7974396, 46.0015373, 45.3796463, 45.3461685, 47.6444016, 49.3327446, 49.3810692, 50.2027817, 51.4567032, 52.3986320, 52.5819206, 52.7721825, 52.6919098, 53.3274345, 55.1345940, 56.8962631, 55.7791634, 55.0616989, 52.3551178, 51.3264084, 51.0968323, 51.1980476, 52.8001442, 52.0545082, 50.8742943, 51.5150337, 51.2242050, 50.5033989, 48.7760124, 47.4179192, 49.7319527, 51.3320541, 52.3918304, 52.4140434, 51.0845947, 49.6485748, 50.6893463, 52.9840813, 53.3246994, 52.4568024, 51.9196091, 53.6683121, 53.4555359, 51.7755814, 49.2915611, 49.8755112, 49.4546776, 48.6171913, 49.9643021, 49.3766441, 49.2551308, 50.1021881, 51.0769119, 55.8328133, 52.0212708, 53.4930801, 53.2147255, 52.2356453, 51.9648819, 52.1816330, 51.9898071, 52.5623627, 51.0717278, 52.2431946, 53.6943054, 54.3752098, 54.1492615, 53.8523254, 52.1093712, 52.3982697, 51.2405128, 50.3018112, 51.3819618, 49.5479546, 47.5024452, 47.4447708, 47.8939056, 48.4070015, 48.2440681, 48.7389755, 49.7309227, 49.1998024, 49.5798340, 51.1196213, 50.6288414, 50.3971405, 51.6084099, 52.4564743, 51.6443901, 52.4080658, 52.4643364, 52.6257210, 53.1604691, 51.9309731, 51.4137230, 52.1233368, 52.9867249, 53.3180733, 51.9647636, 50.7947655, 52.3815842, 50.8353729, 49.4136009, 52.8355217, 52.2234840, 51.1392517, 48.5245132, 46.8700218, 46.1607285, 45.2324257, 47.4157829, 48.9989090, 49.6230736, 50.4352913, 51.1652985, 50.2588654, 50.7820129, 51.0448799, 51.2880516, 49.6898804, 49.0288200, 49.9338837, 48.2214432, 46.2103348, 46.9550171, 47.5595894, 47.7176018, 48.4502945, 50.9816895, 51.6950073, 51.6973495, 52.1941261, 51.8988075, 52.5617599, 52.0218391, 49.5236053, 47.9684906, 48.2445183, 48.8275146, 49.7176971, 51.5649338, 52.5627213, 52.0182419, 50.9688835, 51.5846901, 50.9486771, 48.8685837, 48.5600624, 48.4760094, 48.5348396, 50.4187813, 51.2542381, 50.1872864, 50.4407692, 50.6222687, 50.4972000, 51.0036087, 51.3367500, 51.7368202, 53.0463791, 53.6261253, 52.0728683, 48.9740753, 49.3280830, 49.2733917, 49.8519020, 50.8562126, 49.5594254, 49.6109200, 48.3785629, 48.0026474, 49.4874268, 50.1596375, 51.8059540, 53.0288620, 51.3321075, 49.3114815, 48.7999306, 47.7201881, 46.3433914, 46.5303612, 47.6294632, 48.6012459, 47.8567657, 48.0604057, 47.1352806, 49.5724792, 50.5566483, 49.4182968, 50.5578079, 50.6883736, 50.6333389, 51.9766159, 51.0595245, 49.3751640, 46.9667702, 47.1658173, 47.4411278, 47.5360374, 48.9914742, 50.4747620, 50.2728043, 51.9117165, 53.7627792}; ARMAOutlierIdentification armaOutlier = new ARMAOutlierIdentification(series); armaOutlier.RelativeError = 1.0e-5; armaOutlier.Compute(model); outlierFreeSeries = armaOutlier.GetOutlierFreeSeries(); numOutliers = armaOutlier.NumberOfOutliers; outlierStatistics = armaOutlier.GetOutlierStatistics(); omegaWeights = armaOutlier.GetOmegaWeights(); constant = armaOutlier.Constant; ar = armaOutlier.GetAR(); ma = armaOutlier.GetMA(); resStdErr = armaOutlier.ResidualStandardError; aic = armaOutlier.AIC; Console.Out.WriteLine("\n\n ARMA parameters:"); Console.Out.WriteLine("constant:{0, 11:f6}", constant); Console.Out.WriteLine("ar[0]:{0,14:f6}", ar[0]); Console.Out.WriteLine("ma[0]:{0,14:f6}", ma[0]); Console.Out.WriteLine(); Console.Out.WriteLine("Number of outliers:{0,3:d}", numOutliers); Console.Out.WriteLine(); Console.Out.WriteLine(" Outlier statistics:"); Console.Out.WriteLine("Time point Outlier type"); for (int i = 0; i < numOutliers; i++) Console.Out.WriteLine("{0,10:d}{1,18:d}", outlierStatistics[i,0], outlierStatistics[i,1]); Console.Out.WriteLine("\n Omega statistics:"); Console.Out.WriteLine("Time point Omega"); for (int i = 0; i < numOutliers; i++) Console.Out.WriteLine("{0,10:d}{1,11:f6}", outlierStatistics[i,0], omegaWeights[i]); Console.Out.WriteLine("\nRSE:{0,12:f6}", resStdErr); Console.Out.WriteLine("AIC:{0,12:f6}", aic); } }
ARMA parameters: constant: 10.829171 ar[0]: 0.785217 ma[0]: -0.496449 Number of outliers: 2 Outlier statistics: Time point Outlier type 150 1 200 3 Omega statistics: Time point Omega 150 4.477853 200 3.381622 RSE: 1.007223 AIC: 1417.044262Link to C# source.