Ниже приведен пример использования операции GetMs для расчёта уравнения. В запросе передаются: экземпляр открытого контейнера моделирования, шаблон расчёта уравнения и параметры выполнения операции. В ответе приходит экземпляр модели, содержащей уравнение с результатами расчёта.
Для выполнения примера уравнение должно рассчитываться методом «ARIMA».
{
"Envelope" :
{
"Body" :
{
"GetMs" :
{
"tMs" :
{
"id" : "S33!M!S!C1"
},
"tArg" :
{
"pattern" :
{
"obInst" : "false",
"all" : "false",
"item" :
{
"key" : "3206",
"model" :
{
"transform" :
{
"formulas" :
{
"method" : ""
},
"displayId" : "true",
"equationsFormula" :
{
"method" : ""
},
"kind" : "true"
}
}
}
},
"execParams" :
{
"k" : "0",
"scenarioKeys" : "",
"execMethod" : "true",
"execSummaryStatistics" : "true",
"execCoefficients" : "true",
"execEvaluateSeries" : "true",
"execARMACoefficients" : "true", "execAutoCorrelation" : "true", "execInitDefault" : "true", "execStatCoefficients" : "true", "execGenerateName" : "true" } } } } } }
{
"Envelope" :
{
"Body" :
{
"GetMsResult" :
{
"id" :
{
"id" : "S33!M!S!C1"
},
"meta" :
{
"item" :
{
"k" : "3206",
"id" : "OBJ3206",
"n" : "D(pchPoP(MyOutputVavable[t], -2),2) = A0 + [AR(1)=A1, AR(2)=A2, AR(3)=A3, MA(1)=A4, MA(2)=A5, MA(3)=A6, SAR(1)=A7, SAR(4)=A8, SMA(1)=A9, SMA(3)=A10]",
"vis" : "1",
"type" : "Model",
"modelMd" :
{
"transform" :
{
"formulas" :
{
"its" :
{
"it" :
[
{
"k" : "0",
"kind" : "Arima",
"method" :
{
"arima" :
{
"maxIteration" : "600",
"constantMode" : "ManualEstimate",
"constantValue" : "5.700000",
"missingData" :
{
"specifiedVector" : "",
"method" : "SpecifiedValue",
"methodParameter" : "5",
"specifiedValue" : "4.700000"
},
"confidenceLevel" : "0.960000",
"ARMA" :
{
"orderAR" :
{
"l" :
[
"1",
"2",
"3"
]
},
"orderMA" :
{
"l" :
[
"1",
"2",
"3"
]
},
"calcInitMode" : "Auto",
"initAR" :
{
"d" : "0.002500"
},
"initMA" :
{
"d" : "0.002500"
},
"initIntercept" : "3.000000",
"estimationMethod" : "GaussNewton",
"tolerance" : "0.000100",
"maxIteration" : "600",
"coefficientsAR" :
{
"estimate" : "",
"standardError" : "",
"tStatistic" : "",
"probability" : ""
},
"coefficientsMA" :
{
"estimate" : "",
"standardError" : "",
"tStatistic" : "",
"probability" : ""
},
"diff" : "2",
"diffSeas" : "0",
"orderARSeas" :
{
"l" :
[
"1",
"4"
]
},
"orderMASeas" :
{
"l" :
[
"1",
"3"
]
},
"initARSeas" :
{
"d" : "0.003000"
},
"initMASeas" :
{
"d" : "0.001500"
},
"periodSeas" : "4",
"coefficientsARSeas" :
{
"estimate" : "",
"standardError" : "",
"tStatistic" : "",
"probability" : ""
},
"coefficientsMASeas" :
{
"estimate" : "",
"standardError" : "",
"tStatistic" : "",
"probability" : ""
},
"useARMAasInstrums" : "1",
"useAnalyticDeriv" : "1",
"useBackCast" : "0"
},
"explained" :
{
"slice" :
{
"k" : "0",
"id" : "262",
"n" : "MyOutputVavable",
"vis" : "1",
"variableKey" : "3208",
"stubKey" : "2805",
"selections" :
{
"its" :
{
"Item" :
{
"id" :
{
"id" : "2818"
},
"variant" : "262"
}
}
},
"aggregator" : "None",
"parametrizedDimensions" :
{
"its" :
{
"Item" :
{
"dimension" : "0",
"parameter" : "0"
}
}
},
"unitInfo" :
{
"unit" : "4294967295",
"measure" : "4294967295",
"baseUnit" : "4294967295",
"unitsDimensionKey" : "0"
},
"level" : "None"
},
"lag" : "",
"key" : "0",
"termToText" : "{MyOutputVavable[t]}",
"termToInnerText" : "@_3208:0[]",
"termInfo" :
{
"k" : "4294967295",
"lag" : "0",
"inversion" :
{
"type" : "None",
"lag" : "PrecidingValue",
"previousLag" : "-1",
"seasonality" : "None",
"dependence" : "Linear",
"K" : "3"
}
},
"unitInfo" :
{
"unit" : "4294967295",
"measure" : "4294967295",
"baseUnit" : "4294967295",
"unitsDimensionKey" : "0"
}
},
"autoCorrelation" :
{
"acf" :
{
"d" :
[
"0.240424",
"-0.461502",
"-0.214216", "0.154013", "0.173092", "-0.126188", "-0.078472", "0.211110", "-0.043977", "-0.281776" ] },
"pacf" :
{
"d" :
[
"0.240424",
"-0.551166",
"0.137825",
"-0.094865",
"0.104568",
"-0.223779",
"0.246384",
"0.023814",
"-0.240444",
"0.010257"
]
},
"qStatistics" :
{
"d" :
[
"1.395961", "6.810249", "8.041586", "8.715517", "9.619965", "10.132700", "10.345144", "12.000989", "12.078833", "15.565124"
]
},
"probability" :
{
"d" :
[
"0.237401",
"0.033203",
"0.045160",
"0.068617",
"0.086748", "0.119174", "0.169843", "0.151160", "0.208901", "0.112776" ] }, "confidenceLevel" : "0.436436" },
"armaCoefficients" :
{
"orderAR" :
{
"l" :
[
"1",
"2",
"3"
]
},
"orderMA" :
{
"l" :
[
"1",
"2",
"3"
]
},
"coefficientsAR" :
{
"estimate" :
{
"d" :
[
"-1.542394",
"-0.169511",
"-1.693581"
]
},
"standardError" :
{
"d" :
[
"7.888994",
"1.834224",
"4.880753"
]
},
"tStatistic" :
{
"d" :
[
"-0.195512",
"-0.092416",
"-0.346992"
]
},
"probability" :
{
"d" :
[
"0.863055",
"0.934791",
"0.761708"
]
}
},
"coefficientsMA" :
{
"estimate" :
{
"d" :
[
"-3.561945",
"-5.393040",
"12.628042"
]
},
"standardError" :
{
"d" :
[
"8.651895",
"90.883394",
"92.780699"
]
},
"tStatistic" :
{
"d" :
[
"-0.411695",
"-0.059340",
"0.136106"
]
},
"probability" :
{
"d" :
[
"0.720490",
"0.958077",
"0.904201"
]
}
},
"orderARSeas" :
{
"l" :
[
"1",
"4"
]
},
"orderMASeas" :
{
"l" :
[
"1",
"3"
]
},
"coefficientsARSeas" :
{
"estimate" :
{
"d" :
[
"0.754823",
"-0.366717"
]
},
"standardError" :
{
"d" :
[
"3.769716",
"1.778126"
]
},
"tStatistic" :
{
"d" :
[
"0.200233",
"-0.206238"
]
},
"probability" :
{
"d" :
[
"0.859812",
"0.855694"
]
}
},
"coefficientsMASeas" :
{
"estimate" :
{
"d" :
[
"2.582073",
"1.061915"
]
},
"standardError" :
{
"d" :
[
"13.207960",
"6.838074"
]
},
"tStatistic" :
{
"d" :
[
"0.195494",
"0.155294"
]
},
"probability" :
{
"d" :
[
"0.863067",
"0.890846"
]
}
}
},
"statCoefficients" :
{
"intercept" :
{
"mode" : "ManualEstimate",
"estimate" : "5.700000",
"standardError" : "NaN",
"tStatistic" : "NaN",
"probability" : "NaN"
},
"coefficients" :
{
"estimate" : "",
"standardError" : "",
"tStatistic" : "",
"probability" : ""
}
}
},
"summaryStatistics" :
{
"stR2" : "0.997851",
"stAdjR2" : "0.988182",
"stR2_2" : "0.997856",
"stAdjR2_2" : "0.987137",
"stSE" : "18.931394", "stSSR" : "716.795375", "stLogL" : "-41.566565", "stDW" : "2.692730", "stDWLowerBound" : "NaN", "stDWUpperBound" : "NaN", "stSD" : "174.146152", "stAIC" : "8.594427", "stSC" : "8.998516", "stFstat" : "103.199732",
"stProbFstat" : "0.009633", "stME" : "-0.799466", "stMAE" : "5.646657", "stMSE" : "59.732948", "stMaxAE" : "14.891572", "stSqMSE" : "7.728709", "stVE" : "59.093803", "stSEE" : "7.687249", "stMD" : "-2.305503", "stHQcriterion" : "8.444819",
"stAvgLogL" : "NaN", "stMcFaddenRsquared" : "NaN", "stRestrLogL" : "NaN", "stLRstatistic" : "NaN", "stLRprobability" : "NaN", "stIncludedObservations" : "12.000000", "stJstat" : "NaN", "stProbJstat" : "NaN", "stNumOfIter" : "548.000000", "stJBStat" : "1.597359"
},
"name" : "D(pchPoP(Y, -2),2) = 5.7000 + [AR(1)=-1.5424, AR(2)=-0.1695, AR(3)=-1.6936, MA(1)=-3.5619, MA(2)=-5.3930, MA(3)=12.6280, SAR(1)=0.7548, SAR(4)=-0.3667, SMA(1)=2.5821, SMA(3)=1.0619]",
"evaluateSeries" :
{
"its" :
{
"Item" :
{
"scenarioKey" : "4294967295",
"fact" :
{
"d" :
[
"NaN",
"NaN",
"50.000000",
"58.102767",
"66.666667",
"60.000000",
"0",
"-20.312500", "24.000000", "39.215686", "-6.451613", "-60.563380", "-36.206897", "100.000000", "-13.513514", "-35.714286", "150.000000",
"94.444444",
"-60.000000",
"-71.428571",
"-6.250000",
"210.000000",
"136.666667"
]
},
"modelling" :
{
"d" : [ "NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN",
"NaN", "NaN", "NaN", "-51.918451", "-49.954088", "108.874533", "-2.799001", "-50.605858", "149.764800", "99.614875",
"-57.956947",
"-68.932522",
"-5.516773",
"209.841740",
"136.615744"
]
},
"forecast" :
{
"d" :
[ "NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN",
"NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN",
"NaN", "NaN", "NaN", "NaN", "292.583420", "-116.275905", "753.714586", "-726.063746", "2149.182155", "-3434.287242",
"7336.325399",
"-12947.824501"
]
},
"residuals" :
{
"d" :
[
"NaN",
"NaN",
"NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "-8.644929",
"13.747192", "-8.874533", "-10.714513", "14.891572", "0.235200", "-5.170430", "-2.043053", "-2.496050", "-0.733227", "0.158260",
"0.050923"
]
},
"upperConfidenceLevel" :
{
"d" :
[
"NaN",
"NaN",
"NaN",
"NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN",
"NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN",
"331.463751", "-76.683213", "875.453226", "317.518046", "4269.915675", "-123.343052", "14076.955704", "-90.956085" ] },
"lowerConfidenceLevel" :
{
"d" :
[
"NaN",
"NaN",
"NaN",
"NaN",
"NaN",
"NaN",
"NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN",
"NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "253.703090", "-155.868598", "631.975947",
"-1769.645538", "28.448635", "-6745.231432", "595.695094", "-25804.692916" ] } } }, "dates" :
{
"it" :
[
"1990A1",
"1991A1",
"1992A1",
"1993A1",
"1994A1",
"1995A1",
"1996A1",
"1997A1", "1998A1", "1999A1", "2000A1", "2001A1", "2002A1", "2003A1", "2004A1", "2005A1", "2006A1",
"2007A1", "2008A1", "2009A1", "2010A1", "2011A1", "2012A1", "2013A1", "2014A1", "2015A1", "2016A1",
"2017A1",
"2018A1",
"2019A1",
"2020A1"
]
}
},
"inversionInfo" :
{
"type" : "PCH",
"lag" : "PrecidingValue", "previousLag" : "2", "seasonality" : "None", "dependence" : "Linear", "K" : "3" } }, "calendarLevel" : "Year", "outputSliceKey" : "0" }
]
}
},
"displayId" : "0",
"kind" : "Simple"
},
"warnings" :
{
"it" :
[
"Авторегрессионн${1}${2}${3}${f1}${1}-6${3}
${f5}${last}й процесс не является стационарн${1}${2}${3}${f1}${1}-6${3}
${f5}${last}м",
"Процесс скользящего среднего не является стационарн${1}${2}${3}${f1}${1}-6${3}
${f5}${last}м"
]
}
}
}
}
}
}
}
}
Функция GetMsCalcEq рассчитывает указанное уравнение. Входные параметры: экземпляр контейнера моделирования; ключ рассчитываемого уравнения. В результате выполнения функция возвращает модель, содержащую рассчитанное уравнение. Результаты расчёта выводятся в окно консоли. Для вывода результатов используются вспомогательные процедуры: PrintStat, PrintCoef, PrintStatCoef, printARMA, printSeries, printCorrel, printArray.
Для выполнения примера уравнение должно рассчитываться методом «ARIMA».
public static MsItem GetMsCalcEq(MsId ms, ulong eqKey)
{
var getMsOp = new GetMs();
// Задаем параметры выполнения операции
getMsOp.tMs = ms;
getMsOp.tArg = new GetMsArg()
{ // Задаем шаблон извлечения данных
pattern = new MsMdPattern()
{
obInst = false,
all = false,
item = new MsItemPattern()
{ // Указываем ключ рассчитываемого уравнения
key = eqKey,
model = new MsModelPattern()
{
transform = new MsFormulaTransformPattern()
{
kind = true,
formulas = new TsFormulaPattern()
{
method = new TsMethodPattern() { }
},
displayId = true,
equationsFormula = new TsFormulaPattern()
{
method = new TsMethodPattern() { }
}
}
}
}
}, // Задаем параметры расчёта уравнения
execParams = new MsMdExecParams()
{
k = 0,
execMethod = true,
execEvaluateSeries = true,
execGenerateName = true,
execSummaryStatistics = true,
execAutoCorrelation = true,
execCoefficients = true,
execStatCoefficients = true,
execARMACoefficients = true,
scenarioKeys = new long[] { },
execInitDefault = true,
options = null
}
};
// Создаем прокси-объект для выполнения операции
var somClient = new SomPortTypeClient();
GetMsResult getMsResult = somClient.GetMs(getMsOp);
MsItem model = getMsResult.meta.item;
// Выводим ошибки и предупреждения
MsModel eq = model.modelMd;
if (eq.warnings != null)
{
Console.WriteLine("-- Предупреждения --");
Console.WriteLine("".PadRight(3) +printArray(eq.warnings));
}
if (eq.error == null) //Проверяем, возникли ли ошибки при расчёте уравнения
{ // Уравнение рассчитано без ошибок
// Получаем результаты расчёта TsFormula formula = eq.transform.formulas.its.GetValue(0) as TsFormula; TsArimaMethod arima = formula.method.arima; // Получаем статистические характеристики и выводим в окно консоли StatSummaryStatistics stat = formula.method.summaryStatistics; PrintStat(stat); // Поучаем значения коэффициентов и выводим в окно консоли StatModelCoefficients coef = arima.statCoefficients; PrintCoef(coef); // Получаем значения коэффициентов авторегрессии, скользящего среднего и выводим в окно консоли
SlARMA armaCoef = arima.armaCoefficients; printARMA(armaCoef); // Получаем значения автокорреляционного анализа MsAutoCorrelationResult corr = arima.autoCorrelation; printCorrel(corr); // Получаем рассчитанные значения и выводим в окно консоли MsEvaluateSeriesResult seriesRes = formula.method.evaluateSeries; printSeries(seriesRes); } else // При расчёте уравнения возникли ошибки
{
Console.WriteLine("-- Ошибки --");
Console.WriteLine(eq.error);
}
// Возвращаем модель, содержащую уравнение
return model;
}
//Процедура вывода в окно консоли значений статистических характеристик
public static void PrintStat(StatSummaryStatistics stat)
{
Console.WriteLine("-- Статистические характеристики --");
Console.WriteLine("".PadRight(3) + "- Критерии качества -");
Console.WriteLine("".PadRight(6) + "- коэффициент детерминации: " + stat.stR2);
Console.WriteLine("".PadRight(6) + "- скорректированный коэффициент детерминации: " + stat.stAdjR2);
Console.WriteLine("".PadRight(6) + "- коэффициент детерминации (нецентрированный): " + stat.stR2_2);
Console.WriteLine("".PadRight(6) + "- скорректированный коэффициент детерминации (нецентрированный): " + stat.stAdjR2_2);
Console.WriteLine("".PadRight(6) + "- статистика Фишера: " + stat.stFstat);
Console.WriteLine("".PadRight(6) + "- вероятность статистики Фишера: " + stat.stProbFstat);
Console.WriteLine("".PadRight(6) + "- логарифм функции правдоподобия: " + stat.stLogL);
Console.WriteLine("".PadRight(6) + "- информационный критерий Акаике: " + stat.stAIC);
Console.WriteLine("".PadRight(6) + "- информационный критерий Шварца: " + stat.stSC);
Console.WriteLine("".PadRight(6) + "- стандартная ошибка: " + stat.stSE);
Console.WriteLine("".PadRight(6) + "- J-статистика: " + stat.stJstat);
Console.WriteLine("".PadRight(6) + "- вероятность J-статистики: " + stat.stProbJstat);
Console.WriteLine("".PadRight(3) + "- Диагностические критерии -");
Console.WriteLine("".PadRight(6) + "- статистика Дарбина-Уотсона: " + stat.stDW);
Console.WriteLine("".PadRight(9) + "- вероятность нижней границы: " + stat.stDWLowerBound);
Console.WriteLine("".PadRight(9) + "- вероятность верхней границы: " + stat.stDWUpperBound);
Console.WriteLine("".PadRight(6) + "- HQ-критерий: " + stat.stHQcriterion);
Console.WriteLine("".PadRight(6) + "- среднее логарифма функции правдоподобия: " + stat.stAvgLogL);
Console.WriteLine("".PadRight(6) + "- McFadden R-квадрат: " + stat.stMcFaddenRsquared);
Console.WriteLine("".PadRight(6) + "- остаток логарифма функции правдоподобия: " + stat.stRestrLogL);
Console.WriteLine("".PadRight(6) + "- LR-статистика: " + stat.stLRstatistic);
Console.WriteLine("".PadRight(6) + "- р-значение вероятности для LR-статистики: " + stat.stLRprobability);
Console.WriteLine("".PadRight(3) + "- Анализ остатков -");
Console.WriteLine("".PadRight(6) + "- среднее остатков: " + stat.stME);
Console.WriteLine("".PadRight(6) + "- среднее абсолютных величин остатков: " + stat.stMAE);
Console.WriteLine("".PadRight(6) + "- среднее квадратов остатков: " + stat.stMSE);
Console.WriteLine("".PadRight(6) + "- корень из среднего квадратов остатков: " + stat.stSqMSE);
Console.WriteLine("".PadRight(6) + "- стандартное отклонение остатков: " + stat.stSEE);
Console.WriteLine("".PadRight(6) + "- статистика Жака-Бера: " + stat.stJBStat);
Console.WriteLine("".PadRight(6) + "- сумма квадратов остатков: " + stat.stSSR);
Console.WriteLine("".PadRight(6) + "- максимальная абсолютная ошибка: " + stat.stMaxAE);
Console.WriteLine("".PadRight(3) + "- Общие -");
Console.WriteLine("".PadRight(6) + "- число наблюдений: " + stat.stIncludedObservations);
Console.WriteLine("".PadRight(6) + "- количество итераций, за которое сошёлся метод: " + stat.stNumOfIter);
Console.WriteLine("".PadRight(6) + "- среднее зависимой переменной: " + stat.stMD);
Console.WriteLine("".PadRight(6) + "- стандартное отклонение зависимой переменной: " + stat.stSD);
Console.WriteLine("".PadRight(6) + "- дисперсия остатков: " + stat.stVE);
}
// Процедура вывода в окно консоли значений коэффициентов
public static void PrintCoef(StatModelCoefficients coef)
{
Console.WriteLine("-- Коэффициенты --");
StatIntercept constVal = coef.intercept;
Console.WriteLine("".PadRight(3)+"- Константа -");
Console.WriteLine("".PadRight(6)+" - режим расчёта: "+constVal.mode);
Console.WriteLine("".PadRight(6)+" - значение: "+constVal.estimate);
Console.WriteLine("".PadRight(6)+" - стандартная ошибка: "+constVal.standardError);
Console.WriteLine("".PadRight(6)+" - t-статистика: "+constVal.tStatistic);
Console.WriteLine("".PadRight(6)+" - вероятность: "+constVal.probability);
Console.WriteLine("".PadRight(3) + "- Фактор -");
PrintStatCoef(6, coef.coefficients);
}
public static void PrintStatCoef(int pad, StatCoefficients statCoef)
{
Console.WriteLine("".PadRight(pad) + " - значение: " + printArray(statCoef.estimate));
Console.WriteLine("".PadRight(pad) + " - стандартная ошибка: " + printArray(statCoef.standardError));
Console.WriteLine("".PadRight(pad) + " - t-статистика: " + printArray(statCoef.tStatistic));
Console.WriteLine("".PadRight(pad) + " - вероятность: " + printArray(statCoef.probability));
}
// Процедура вывода в окно консоли значений коэффициентов ARMA
public static void printARMA(SlARMA armaCoef)
{
Console.WriteLine("-- Коэффициенты авторегрессии и скользящего среднего --");
Console.WriteLine("".PadRight(3) + "- Коэффициенты авторегрессии -");
PrintStatCoef(6, armaCoef.coefficientsAR);
Console.WriteLine("".PadRight(3) + "- Коэффициенты сезонной авторегрессии -");
PrintStatCoef(6, armaCoef.coefficientsARSeas);
Console.WriteLine("".PadRight(3) + "- Коэффициенты скользящего среднего -");
PrintStatCoef(6, armaCoef.coefficientsMA);
Console.WriteLine("".PadRight(3) + "- Коэффициенты сезонного скользящего среднего -");
PrintStatCoef(6, armaCoef.coefficientsMASeas);
}
// Процедура вывода рассчитанных значений
public static void printSeries(MsEvaluateSeriesResult seriesRes)
{
Console.WriteLine("-- Рассчитанные значения --");
MsEvaluateSeriesResultForScenario res = seriesRes.its.GetValue(0) as MsEvaluateSeriesResultForScenario;
Console.WriteLine("".PadRight(3) + "- Данные о сценарии -");
Console.WriteLine("".PadRight(6) + "- ключ: "+ res.scenarioKey);
Console.WriteLine("".PadRight(3) + "- Даты расчёта -");
Console.WriteLine("".PadRight(6) + printArray(seriesRes.dates));
Console.WriteLine("".PadRight(3) + "- Исходный ряд -");
Console.WriteLine("".PadRight(6) + printArray(res.fact));
if (res.modelling != null)
{
Console.WriteLine("".PadRight(3) + "- Модельный ряд -");
Console.WriteLine("".PadRight(6) + printArray(res.modelling));
}
if (res.forecast != null)
{
Console.WriteLine("".PadRight(3) + "- Прогнозный ряд -");
Console.WriteLine("".PadRight(6) + printArray(res.forecast));
}
if (res.residuals != null)
{
Console.WriteLine("".PadRight(3) + "- Ряд остатков -");
Console.WriteLine("".PadRight(6) + printArray(res.residuals));
}
if (res.lowerConfidenceLevel != null)
{
Console.WriteLine("".PadRight(3) + "- Нижняя доверительная граница -");
Console.WriteLine("".PadRight(6) + printArray(res.lowerConfidenceLevel));
}
if (res.upperConfidenceLevel != null)
{
Console.WriteLine("".PadRight(3) + "- Нижняя доверительная граница -");
Console.WriteLine("".PadRight(6) + printArray(res.upperConfidenceLevel));
}
if (res.dLowerConfidenceLevel != null)
{
Console.WriteLine("".PadRight(3) + "- Нижняя динамическая доверительная граница -");
Console.WriteLine("".PadRight(6) + printArray(res.dLowerConfidenceLevel));
}
if (res.dUpperConfidenceLevel != null)
{
Console.WriteLine("".PadRight(3) + "- Нижняя динамическая доверительная граница -");
Console.WriteLine("".PadRight(6) + printArray(res.dUpperConfidenceLevel));
}
if (res.factsMatrix != null)
{
Console.WriteLine("".PadRight(3) + "- Матрица факторов -");
Console.WriteLine("".PadRight(6) + printArray(res.factsMatrix));
}
}
// Процедура вывода в окно консоли результатов автокорреляционного анализа
public static void printCorrel(MsAutoCorrelationResult corr)
{
Console.WriteLine("-- АКФ и ЧАКФ --");
Console.WriteLine("".PadRight(3) + " - значимость доверительных границ: " + corr.confidenceLevel);
Console.WriteLine("".PadRight(3) + " - q-статистика Льюнга-Бокса -");
Console.WriteLine("".PadRight(6) + printArray(corr.qStatistics));
Console.WriteLine("".PadRight(3) + " - Вероятность q-статистики -");
Console.WriteLine("".PadRight(6) + printArray(corr.probability));
Console.WriteLine("".PadRight(3) + " - Автокорреляционная функция - ");
Console.WriteLine("".PadRight(6) + printArray(corr.acf));
Console.WriteLine("".PadRight(3) + " - Частная автокорреляционная функция - ");
Console.WriteLine("".PadRight(6) + printArray(corr.pacf));
}
// Процедура вывода в окно консоли массива значений
public static string printArray(Array arr)
{
if (arr != null)
{
int rank = arr.Rank;
string s = "";
if (rank == 1)
{
for (int i = 0; i
См. также:
SOAP