Ниже приведен пример использования операции SetMs для изменения параметров уравнения. В запросах (SOAP, JSON) передаются: экземпляр открытого контейнера моделирования, параметры выполнения операции, настройки уравнения для метода «Экспоненциальное сглаживание» и шаблон получения измененных данных. В результате выполнения операция возвращает модель, содержащую измененное уравнение.
Функции C# SetMsExpSmoothing_grid и SetMsExpSmoothing_opt изменяют метод расчёта уравнения. Входные параметры:
ms. Экземпляр открытого контейнера моделирования;
modelKey. Ключ модели, содержащей уравнение;
eqKey. Ключ уравнения.
В результате выполнения функция возвращает модель, содержащую уравнение.
{ "SetMs" : { "tMs" : { "id" : "GDJKDKNCADNBFOAEGIAGHFCPECMLNKAEELPBDMJJHANMFGHH!M!S!CHDHKBONCADNBFOAEGHFNLPPFLAGHDKEEMLCEJLNILCOPLEEN" }, "tArg" : { "pattern" : { "obInst" : "true", "item" : { "key" : "89669", "problem" : { "metamodel" : { "calculationChain" : "Change" } } } }, "meta" : { "item" : { "k" : "89669", "type" : "Problem", "problemMd" : { "metamodel" : { "calculationChain" : { "its" : { "Item" : { "k" : "4", "type" : "Model", "model" : { "transform" : { "formulas" : { "its" : { "it" : [ { "k" : "0", "kind" : "ExponentialSmoothing", "method" : { "exponentialSmoothing" : { "trendComponent" : "Linear", "confidenceLevel" : "0.96", "missingData" : "", "params" : { "alpha" : "0.12" }, "seasonalComponent" : "", "autoSearch" : { "mode" : "Grid", "criterion" : "MeanAbsError", "quickestDescent" : { "initialApproximation" : { "gamma" : "0.12" }, "finalApproximation" : { "gamma" : "0.92" }, "gridStep" : "0.12" }, "alphaSearch" : "false", "gammaSearch" : "true", "deltaSearch" : "false", "phiSearch" : "false" } } } } ] } } } } } } } } } } }, "metaGet" : { "obInst" : "true", "scenarios" : "Get", "period" : "true", "item" : { "key" : "89669", "problem" : { "metamodel" : { "calculationChain" : "Get", "calcChainPattern" : { "modelPattern" : { "transform" : { "formulaCount" : "true", "formulas" : { "method" : "" }, "equationsFormula" : { "method" : "" }, "kind" : "true" } } }, "visualControllerPattern" : { "variableRubricatorKey" : "true", "useSourceName" : "false", "freeVariables" : "true", "levelFormat" : "Short" } }, "scenarios" : "Get", "details" : "true", "useSavedCoefficients" : "true" } } } } } }
{ "SetMsResult" : { "id" : { "id" : "GDJKDKNCADNBFOAEGIAGHFCPECMLNKAEELPBDMJJHANMFGHH!M!S!CHDHKBONCADNBFOAEGHFNLPPFLAGHDKEEMLCEJLNILCOPLEEN" }, "meta" : { "obInst" : { "obDesc" : { "@fullUrl" : "http:\/\/v-shp-development.dev.fs.fsight.world\/", "@isShortcut" : "0", "@isLink" : "0", "@ver" : "4", "@hf" : "0", "i" : "MODELSPACE", "n" : "Контейнер моделирования", "k" : "1581", "c" : "5121", "p" : "1580", "h" : "0", "hasPrv" : "0", "ic" : "0", "isPermanent" : "1", "isTemp" : "0" } }, "dirty" : "0", "period" : { "start" : "1970-01-01", "end" : "2020-12-31" }, "scenarios" : { "nodes" : { "it" : [ { "@isFolder" : "0", "k" : "1628", "id" : "OBJ1628", "n" : "Базовый", "vis" : "1", "scenDesc" : { "@fullUrl" : "http:\/\/v-shp-development.dev.fs.fsight.world\/", "@isShortcut" : "0", "@isLink" : "0", "@ver" : "0", "@hf" : "0", "i" : "OBJ1628", "n" : "Базовый", "k" : "1628", "c" : "5124", "p" : "1627", "h" : "0", "hasPrv" : "0", "ic" : "0" }, "internalKey" : "1629" }, { "@isFolder" : "0", "k" : "5371", "id" : "OBJ5371", "n" : "Базовый (копия1)", "vis" : "1", "scenDesc" : { "@fullUrl" : "http:\/\/v-shp-development.dev.fs.fsight.world\/", "@isShortcut" : "0", "@isLink" : "0", "@ver" : "0", "@hf" : "0", "i" : "OBJ5371", "n" : "Базовый (копия1)", "k" : "5371", "c" : "5124", "p" : "1627", "h" : "0", "hasPrv" : "0", "ic" : "0" }, "internalKey" : "5372" } ] } }, "item" : { "k" : "89669", "id" : "MODEL_NEW", "n" : "MODEL_NEW", "vis" : "1", "type" : "Problem", "problemMd" : { "metamodel" : { "k" : "89670", "calculationChain" : { "its" : { "Item" : [ { "k" : "1", "n" : "MyInputVavable", "vis" : "1", "type" : "Variable", "excluded" : "0", "graphMeta" : "{"Geometry":{"x":20,"y":10,"width":150,"height":50},"ChartOptions":{"chart":{"defaultSeriesType":"line","mixed":true,"backgroundColor":"rgba(0, 0, 0, 0.000000)"},"plotOptions":{"series":{"dataLabels":{"formatter":"%Autovalue","dataFormat":"#,##0.00"}}},"tooltip":{"formatter":"Значение: %Autovalue\nДата: %PointName","enabled":true,"backgroundType":"none","style":{"fontFamily":"Arial","fontSize":"12px","color":"#000000"}},"yAxis":[{"labels":{"enabled":true,"dataFormat":"#,##0.00"},"title":{"text":""}}],"xAxis":{"tickInterval":2,"labels":{},"title":{}},"series":[{"entryKey":1,"scenarioKey":4294967295,"serieType":"fact","showInLegend":true,"type":"line","color":"rgba(129, 129, 129, 1)","borderColor":"rgba(129, 129, 129, 1)","borderWidth":0,"lineColor":"rgba(129, 129, 129, 1)","zIndex":1,"legendIndex":0,"visible":true,"background":{"color":"rgba(129, 129, 129, 1)","type":"color"},"marker":{"enabled":false,"symbol":"circle","fillColor":"#FFFFFF","lineWidth":1.5,"lineColor":null},"dataLabels":{"formatter":"%Autovalue"},"trendLine":{}}]}}", "chainVariable" : { "slice" : { "k" : "0", "id" : "MyInputVavable|A", "n" : "MyInputVavable|A", "vis" : "1", "variableKey" : "1", "stubKey" : "89671", "selections" : { "its" : { "Item" : { "id" : { "id" : "89683" }, "variant" : "1" } } }, "aggregator" : "None", "parametrizedDimensions" : { "its" : { "Item" : { "dimension" : "0", "parameter" : "0" } } }, "unitInfo" : { "unit" : "4294967295", "measure" : "4294967295", "baseUnit" : "4294967295", "unitsDimensionKey" : "0" }, "level" : "Year" }, "fullName" : "MyInputVavable|A", "originalName" : "MyInputVavable", "originalShortName" : "MyInputVavable", "useCustomName" : "0" } }, { "k" : "2", "n" : "MyOutputVavable", "vis" : "1", "type" : "Variable", "excluded" : "0", "graphMeta" : "{"Geometry":{"x":30,"y":140,"width":150,"height":50}}", "chainVariable" : { "slice" : { "k" : "0", "id" : "MyOutputVavable|A", "n" : "MyOutputVavable|A", "vis" : "1", "variableKey" : "2", "stubKey" : "89671", "selections" : { "its" : { "Item" : { "id" : { "id" : "89683" }, "variant" : "2" } } }, "aggregator" : "None", "parametrizedDimensions" : { "its" : { "Item" : { "dimension" : "0", "parameter" : "0" } } }, "unitInfo" : { "unit" : "4294967295", "measure" : "4294967295", "baseUnit" : "4294967295", "unitsDimensionKey" : "0" }, "level" : "Year" }, "fullName" : "MyOutputVavable|A", "originalName" : "MyOutputVavable", "originalShortName" : "MyOutputVavable", "useCustomName" : "0" } }, { "k" : "4", "id" : "OBJ4", "n" : "MyOutputVavable|A[t] = An*t^n + ... + A2*t^2 + A1*t + A0, (От родителя)-(От родителя)", "vis" : "1", "type" : "Model", "excluded" : "0", "graphMeta" : "", "model" : { "transform" : { "formulaCount" : "1", "formulas" : { "its" : { "it" : [ { "k" : "0", "kind" : "ExponentialSmoothing", "method" : { "exponentialSmoothing" : { "trendComponent" : "Linear", "confidenceLevel" : "0.96", "missingData" : { "specifiedVector" : "", "method" : "Casewise", "methodParameter" : "5", "specifiedValue" : "0", "specifiedTerm" : { "k" : "4294967295" } }, "params" : { "alpha" : "0.12", "gamma" : "0.1", "delta" : "0.1", "phi" : "0.1" }, "seasonalComponent" : { "mode" : "None", "cycle" : "4" }, "autoSearch" : { "mode" : "Grid", "criterion" : "MeanAbsError", "quickestDescent" : { "initialApproximation" : { "alpha" : "0", "gamma" : "0.12", "delta" : "0", "phi" : "0.1" }, "finalApproximation" : { "alpha" : "1", "gamma" : "0.92", "delta" : "1", "phi" : "0.9" }, "gridStep" : "0.12" }, "bestTrial" : { "initialApproximation" : { "alpha" : "0.1", "gamma" : "0.1", "delta" : "0.1", "phi" : "0.1" }, "order" : "10", "methodConstant" : "0.1", "maxIteration" : "15" }, "alphaSearch" : "0", "gammaSearch" : "1", "deltaSearch" : "0", "phiSearch" : "0" }, "explained" : { "slice" : { "k" : "0", "id" : "MyOutputVavable|A", "n" : "MyOutputVavable|A", "vis" : "1", "variableKey" : "1", "stubKey" : "89671", "selections" : { "its" : { "Item" : { "id" : { "id" : "89683" }, "variant" : "2" } } }, "aggregator" : "None", "parametrizedDimensions" : { "its" : { "Item" : { "dimension" : "0", "parameter" : "0" } } }, "unitInfo" : { "unit" : "4294967295", "measure" : "4294967295", "baseUnit" : "4294967295", "unitsDimensionKey" : "0" }, "level" : "Year" }, "lag" : "", "key" : "0", "termToText" : "{MyOutputVavable|A[t]}", "termToInnerText" : "@_1:0[]", "termInfo" : { "k" : "4294967295", "lag" : "0", "inversion" : { "type" : "None", "lag" : "PrecidingValue", "previousLag" : "-1", "seasonality" : "None", "dependence" : "Linear", "K" : "3" }, "slice" : { "k" : "0", "id" : "MyOutputVavable|A", "n" : "MyOutputVavable|A", "vis" : "1", "variableKey" : "1", "stubKey" : "89671", "selections" : { "its" : { "Item" : { "id" : { "id" : "89683" }, "variant" : "2" } } }, "aggregator" : "None", "parametrizedDimensions" : { "its" : { "Item" : { "dimension" : "0", "parameter" : "0" } } }, "unitInfo" : { "unit" : "4294967295", "measure" : "4294967295", "baseUnit" : "4294967295", "unitsDimensionKey" : "0" }, "level" : "Year" }, "date" : "1899-12-30" }, "unitInfo" : { "unit" : "4294967295", "measure" : "4294967295", "baseUnit" : "4294967295", "unitsDimensionKey" : "0" }, "included" : "0" }, "asForecasting" : "0" }, "inversionInfo" : { "type" : "None", "lag" : "PrecidingValue", "previousLag" : "-1", "seasonality" : "None", "dependence" : "Linear", "K" : "3" }, "doUseR" : "0", "supportsR" : "1" }, "calendarLevel" : "Year", "outputSliceKey" : "0" } ] } }, "kind" : "Simple" }, "warnings" : "", "readOnly" : "0" } } ] } }, "visualController" : { "variableRubricatorKey" : "89671", "freeVariables" : { "its" : "" }, "userRPath" : "", "isRExist" : "0" }, "suppressEmptyFilter" : { "suppressEmpty" : "0", "suppressEmptyArea" : "SerieBounds" }, "readOnly" : "0", "variableTestUseR" : "0", "calculateIdentOnFact" : "0" }, "scenarios" : { "its" : "" }, "details" : { "period" : { "identificationStartDate" : "1990-01-01", "identificationEndDate" : "2018-04-24", "forecastStartDate" : "2018-04-25", "forecastEndDate" : "2020-01-01", "identificationStartDateParamID" : "", "identificationEndDateParamID" : "", "forecastStartDateParamID" : "", "forecastEndDateParamID" : "", "autoPeriod" : "0", "identificationStartOffset" : "0", "identificationEndOffset" : "0", "forecastEndOffset" : "0", "isIdentStartCorrect" : "1", "isIdentEndCorrect" : "1", "isForecastEndCorrect" : "1" }, "currentPoint" : "2018-04-25" }, "useSavedCoefficients" : "0", "useScenarios" : "0", "readOnly" : "0" } } } } }
public static MsItem SetMsExpSmoothing_grid(MsId ms, ulong modelKey, ulong eqKey) { var setMsOp = new SetMs(); // Задаем параметры выполнения операции setMsOp.tMs = ms; setMsOp.tArg = new SetMsArg() { // Задаем шаблон изменения данных pattern = new MsMdPattern() { item = new MsItemPattern() { // Указываем ключ уравнения key = modelKey, problem = new MsProblemPattern() { metamodel = new MsMetaModelPattern() { calculationChain = ListOperation.Change } } } }, // Задаем данные, которые необходимо изменить meta = new MsMd() { item = new MsItem() { k = modelKey, type = MsItemType.Problem, problemMd = new MsProblem() { metamodel = new MsMetaModel() { calculationChain = new MsCalculationChainEntries() { its = new MsCalculationChainEntry[] { new MsCalculationChainEntry() { k = eqKey, type = MsCalculationChainType.Model, model = new MsModel() { transform = new MsFormulaTransform() { formulas = new TsFormulas() { its = new TsFormula[] { new TsFormula() { kind = TsFormulaKind.ExponentialSmoothing, method = new TsMethod() { // Задаем параметры метода «Экспоненциальное сглаживание» exponentialSmoothing = new TsExponentialSmoothingMethod() { // Задаем значимость доверительных границ confidenceLevel = 0.96, // Задаём сезонный эффект seasonalComponent = new StatSeasonal(){}, // Задаём параметры обработки пропусков missingData = new StatMissingData(){}, // Задаём модель роста: аддитивная trendComponent = StatTrendType.Linear, // Задаём значения коэффициентов @params = new ExponentialSmoothingParams() { alpha = 0.12, delta = null, gamma = null, phi = null }, // Задаём параметры автоподбора значений коэффициентов autoSearch = new ExponentialSmoothingAutoSearch() { // Задаём подбираемые коэффициенты alphaSearch = false, deltaSearch = false, gammaSearch = true, phiSearch = false, // Задаём параметры метода «Поиск по сетке» mode = StatSearchType.Grid, quickestDescent =new ExponentialSmoothingQuickestDescentParams() { // Задаём значения начала интервала поиска initialApproximation = new ExponentialSmoothingParams() { alpha = null, delta = null, gamma = 0.12, phi = null }, // Задаём значения конца интервала поиска finalApproximation = new ExponentialSmoothingParams() { alpha = null, delta = null, gamma = 0.92, phi = null }, // Задаём шаг сетки gridStep = 0.12 }, criterion = StatCriterionType.MeanAbsError } } } } } } } } } } } } } } }, // Задаем шаблон извлечения измененных данных metaGet = new MsMdPattern() { scenarios = ListOperation.Get, period = true, item = new MsItemPattern() { key = modelKey, problem = new MsProblemPattern() { details = true, scenarios = ListOperation.Get, useSavedCoefficients = true, metamodel = new MsMetaModelPattern() { calculationChain = ListOperation.Get, calcChainPattern = new MsCalculationChainPattern() { modelPattern = new MsModelPattern() { transform = new MsFormulaTransformPattern() { kind = true, formulaCount = true, formulas = new TsFormulaPattern() { method = new TsMethodPattern() { } }, equationsFormula = new TsFormulaPattern() { method = new TsMethodPattern() { } } } } }, visualControllerPattern = new MsMetaModelVisualControllerPattern() { variableRubricatorKey = true, levelFormat = MsLevelFormat.Short, useSourceName = false, freeVariables = true } } } } } }; // Создаем прокси-объект для выполнения операции var somClient = new SomPortTypeClient(); // Задаем параметры выполнения операции var result = somClient.SetMs(setMsOp); return result.meta.item; }
{ "SetMs" : { "tMs" : { "id" : "FOHJOFJNADNBFOAEPDEIMKPCLJLPFLDEBILEJKOJMGKNANDD!M!S!CDJFPKJJNADNBFOAENAKODJNNPDGOIFMEKIFADEIKBFGIGHID" }, "tArg" : { "pattern" : { "obInst" : "true", "item" : { "key" : "89669", "problem" : { "metamodel" : { "calculationChain" : "Change" } } } }, "meta" : { "item" : { "k" : "89669", "type" : "Problem", "problemMd" : { "metamodel" : { "calculationChain" : { "its" : { "Item" : { "k" : "4", "type" : "Model", "model" : { "transform" : { "formulas" : { "its" : { "it" : [ { "k" : "0", "kind" : "ExponentialSmoothing", "method" : { "exponentialSmoothing" : { "trendComponent" : "Linear", "params" : { "alpha" : "0.12" }, "autoSearch" : { "mode" : "Optimal", "criterion" : "MeanError", "bestTrial" : { "initialApproximation" : { "gamma" : "0.12" }, "order" : "9", "methodConstant" : "0.15", "maxIteration" : "20" }, "alphaSearch" : "false", "gammaSearch" : "true", "deltaSearch" : "false", "phiSearch" : "false" } } } } ] } } } } } } } } } } }, "metaGet" : { "obInst" : "true", "scenarios" : "Get", "period" : "true", "item" : { "key" : "89669", "problem" : { "metamodel" : { "calculationChain" : "Get", "calcChainPattern" : { "modelPattern" : { "transform" : { "formulaCount" : "true", "formulas" : { "method" : "" }, "equationsFormula" : { "method" : "" }, "kind" : "true" } } }, "visualControllerPattern" : { "variableRubricatorKey" : "true", "useSourceName" : "false", "freeVariables" : "true", "levelFormat" : "Short" } }, "scenarios" : "Get", "details" : "true", "useSavedCoefficients" : "true" } } } } } }
{ "SetMsResult" : { "id" : { "id" : "FOHJOFJNADNBFOAEPDEIMKPCLJLPFLDEBILEJKOJMGKNANDD!M!S!CDJFPKJJNADNBFOAENAKODJNNPDGOIFMEKIFADEIKBFGIGHID" }, "meta" : { "obInst" : { "obDesc" : { "@fullUrl" : "http:\/\/v-shp-development.dev.fs.fsight.world\/", "@isShortcut" : "0", "@isLink" : "0", "@ver" : "4", "@hf" : "0", "i" : "MODELSPACE", "n" : "Контейнер моделирования", "k" : "1581", "c" : "5121", "p" : "1580", "h" : "0", "hasPrv" : "0", "ic" : "0", "isPermanent" : "1", "isTemp" : "0" } }, "dirty" : "0", "period" : { "start" : "1970-01-01", "end" : "2020-12-31" }, "scenarios" : { "nodes" : { "it" : [ { "@isFolder" : "0", "k" : "1628", "id" : "OBJ1628", "n" : "Базовый", "vis" : "1", "scenDesc" : { "@fullUrl" : "http:\/\/v-shp-development.dev.fs.fsight.world\/", "@isShortcut" : "0", "@isLink" : "0", "@ver" : "0", "@hf" : "0", "i" : "OBJ1628", "n" : "Базовый", "k" : "1628", "c" : "5124", "p" : "1627", "h" : "0", "hasPrv" : "0", "ic" : "0" }, "internalKey" : "1629" }, { "@isFolder" : "0", "k" : "5371", "id" : "OBJ5371", "n" : "Базовый (копия1)", "vis" : "1", "scenDesc" : { "@fullUrl" : "http:\/\/v-shp-development.dev.fs.fsight.world\/", "@isShortcut" : "0", "@isLink" : "0", "@ver" : "0", "@hf" : "0", "i" : "OBJ5371", "n" : "Базовый (копия1)", "k" : "5371", "c" : "5124", "p" : "1627", "h" : "0", "hasPrv" : "0", "ic" : "0" }, "internalKey" : "5372" } ] } }, "item" : { "k" : "89669", "id" : "MODEL_NEW", "n" : "MODEL_NEW", "vis" : "1", "type" : "Problem", "problemMd" : { "metamodel" : { "k" : "89670", "calculationChain" : { "its" : { "Item" : [ { "k" : "1", "n" : "MyInputVavable", "vis" : "1", "type" : "Variable", "excluded" : "0", "graphMeta" : "{"Geometry":{"x":20,"y":10,"width":150,"height":50},"ChartOptions":{"chart":{"defaultSeriesType":"line","mixed":true,"backgroundColor":"rgba(0, 0, 0, 0.000000)"},"plotOptions":{"series":{"dataLabels":{"formatter":"%Autovalue","dataFormat":"#,##0.00"}}},"tooltip":{"formatter":"Значение: %Autovalue\nДата: %PointName","enabled":true,"backgroundType":"none","style":{"fontFamily":"Arial","fontSize":"12px","color":"#000000"}},"yAxis":[{"labels":{"enabled":true,"dataFormat":"#,##0.00"},"title":{"text":""}}],"xAxis":{"tickInterval":2,"labels":{},"title":{}},"series":[{"entryKey":1,"scenarioKey":4294967295,"serieType":"fact","showInLegend":true,"type":"line","color":"rgba(129, 129, 129, 1)","borderColor":"rgba(129, 129, 129, 1)","borderWidth":0,"lineColor":"rgba(129, 129, 129, 1)","zIndex":1,"legendIndex":0,"visible":true,"background":{"color":"rgba(129, 129, 129, 1)","type":"color"},"marker":{"enabled":false,"symbol":"circle","fillColor":"#FFFFFF","lineWidth":1.5,"lineColor":null},"dataLabels":{"formatter":"%Autovalue"},"trendLine":{}}]}}", "chainVariable" : { "slice" : { "k" : "0", "id" : "MyInputVavable|A", "n" : "MyInputVavable|A", "vis" : "1", "variableKey" : "1", "stubKey" : "89671", "selections" : { "its" : { "Item" : { "id" : { "id" : "89683" }, "variant" : "1" } } }, "aggregator" : "None", "parametrizedDimensions" : { "its" : { "Item" : { "dimension" : "0", "parameter" : "0" } } }, "unitInfo" : { "unit" : "4294967295", "measure" : "4294967295", "baseUnit" : "4294967295", "unitsDimensionKey" : "0" }, "level" : "Year" }, "fullName" : "MyInputVavable|A", "originalName" : "MyInputVavable", "originalShortName" : "MyInputVavable", "useCustomName" : "0" } }, { "k" : "2", "n" : "MyOutputVavable", "vis" : "1", "type" : "Variable", "excluded" : "0", "graphMeta" : "{"Geometry":{"x":30,"y":140,"width":150,"height":50}}", "chainVariable" : { "slice" : { "k" : "0", "id" : "MyOutputVavable|A", "n" : "MyOutputVavable|A", "vis" : "1", "variableKey" : "2", "stubKey" : "89671", "selections" : { "its" : { "Item" : { "id" : { "id" : "89683" }, "variant" : "2" } } }, "aggregator" : "None", "parametrizedDimensions" : { "its" : { "Item" : { "dimension" : "0", "parameter" : "0" } } }, "unitInfo" : { "unit" : "4294967295", "measure" : "4294967295", "baseUnit" : "4294967295", "unitsDimensionKey" : "0" }, "level" : "Year" }, "fullName" : "MyOutputVavable|A", "originalName" : "MyOutputVavable", "originalShortName" : "MyOutputVavable", "useCustomName" : "0" } }, { "k" : "4", "id" : "OBJ4", "n" : "MyOutputVavable|A[t] = ExpSmooth(0.12, -, Авто, -), (От родителя)-(От родителя)", "vis" : "1", "type" : "Model", "excluded" : "0", "graphMeta" : "", "model" : { "transform" : { "formulaCount" : "1", "formulas" : { "its" : { "it" : [ { "k" : "0", "kind" : "ExponentialSmoothing", "method" : { "exponentialSmoothing" : { "trendComponent" : "Linear", "confidenceLevel" : "0.96", "missingData" : { "specifiedVector" : "", "method" : "Casewise", "methodParameter" : "5", "specifiedValue" : "0", "specifiedTerm" : { "k" : "4294967295" } }, "params" : { "alpha" : "0.12", "gamma" : "0.1", "delta" : "0.1", "phi" : "0.1" }, "seasonalComponent" : { "mode" : "None", "cycle" : "4" }, "autoSearch" : { "mode" : "Optimal", "criterion" : "MeanError", "quickestDescent" : { "initialApproximation" : { "alpha" : "0", "gamma" : "0.12", "delta" : "0", "phi" : "0.1" }, "finalApproximation" : { "alpha" : "1", "gamma" : "0.92", "delta" : "1", "phi" : "0.9" }, "gridStep" : "0.12" }, "bestTrial" : { "initialApproximation" : { "alpha" : "0.1", "gamma" : "0.12", "delta" : "0.1", "phi" : "0.1" }, "order" : "9", "methodConstant" : "0.15", "maxIteration" : "20" }, "alphaSearch" : "0", "gammaSearch" : "1", "deltaSearch" : "0", "phiSearch" : "0" }, "explained" : { "slice" : { "k" : "0", "id" : "MyOutputVavable|A", "n" : "MyOutputVavable|A", "vis" : "1", "variableKey" : "1", "stubKey" : "89671", "selections" : { "its" : { "Item" : { "id" : { "id" : "89683" }, "variant" : "2" } } }, "aggregator" : "None", "parametrizedDimensions" : { "its" : { "Item" : { "dimension" : "0", "parameter" : "0" } } }, "unitInfo" : { "unit" : "4294967295", "measure" : "4294967295", "baseUnit" : "4294967295", "unitsDimensionKey" : "0" }, "level" : "Year" }, "lag" : "", "key" : "0", "termToText" : "{MyOutputVavable|A[t]}", "termToInnerText" : "@_1:0[]", "termInfo" : { "k" : "4294967295", "lag" : "0", "inversion" : { "type" : "None", "lag" : "PrecidingValue", "previousLag" : "-1", "seasonality" : "None", "dependence" : "Linear", "K" : "3" }, "slice" : { "k" : "0", "id" : "MyOutputVavable|A", "n" : "MyOutputVavable|A", "vis" : "1", "variableKey" : "1", "stubKey" : "89671", "selections" : { "its" : { "Item" : { "id" : { "id" : "89683" }, "variant" : "2" } } }, "aggregator" : "None", "parametrizedDimensions" : { "its" : { "Item" : { "dimension" : "0", "parameter" : "0" } } }, "unitInfo" : { "unit" : "4294967295", "measure" : "4294967295", "baseUnit" : "4294967295", "unitsDimensionKey" : "0" }, "level" : "Year" }, "date" : "1899-12-30" }, "unitInfo" : { "unit" : "4294967295", "measure" : "4294967295", "baseUnit" : "4294967295", "unitsDimensionKey" : "0" }, "included" : "0" }, "asForecasting" : "0" }, "inversionInfo" : { "type" : "None", "lag" : "PrecidingValue", "previousLag" : "-1", "seasonality" : "None", "dependence" : "Linear", "K" : "3" }, "doUseR" : "0", "supportsR" : "1" }, "calendarLevel" : "Year", "outputSliceKey" : "0" } ] } }, "kind" : "Simple" }, "warnings" : "", "readOnly" : "0" } } ] } }, "visualController" : { "variableRubricatorKey" : "89671", "freeVariables" : { "its" : "" }, "userRPath" : "", "isRExist" : "0" }, "suppressEmptyFilter" : { "suppressEmpty" : "0", "suppressEmptyArea" : "SerieBounds" }, "readOnly" : "0", "variableTestUseR" : "0", "calculateIdentOnFact" : "0" }, "scenarios" : { "its" : "" }, "details" : { "period" : { "identificationStartDate" : "1990-01-01", "identificationEndDate" : "2018-04-24", "forecastStartDate" : "2018-04-25", "forecastEndDate" : "2020-01-01", "identificationStartDateParamID" : "", "identificationEndDateParamID" : "", "forecastStartDateParamID" : "", "forecastEndDateParamID" : "", "autoPeriod" : "0", "identificationStartOffset" : "0", "identificationEndOffset" : "0", "forecastEndOffset" : "0", "isIdentStartCorrect" : "1", "isIdentEndCorrect" : "1", "isForecastEndCorrect" : "1" }, "currentPoint" : "2018-04-25" }, "useSavedCoefficients" : "0", "useScenarios" : "0", "readOnly" : "0" } } } } }
public static MsItem SetMsExpSmoothing_opt(MsId ms, ulong modelKey, ulong eqKey) { var setMsOp = new SetMs(); // Задаем параметры выполнения операции setMsOp.tMs = ms; setMsOp.tArg = new SetMsArg() { // Задаем шаблон изменения данных pattern = new MsMdPattern() { item = new MsItemPattern() { // Указываем ключ модели key = modelKey, problem = new MsProblemPattern() { metamodel = new MsMetaModelPattern() { calculationChain = ListOperation.Change } } } }, // Задаем данные, которые необходимо изменить meta = new MsMd() { item = new MsItem() { k = modelKey, type = MsItemType.Problem, problemMd = new MsProblem() { metamodel = new MsMetaModel() { calculationChain = new MsCalculationChainEntries() { its = new MsCalculationChainEntry[] { new MsCalculationChainEntry() { k = eqKey, type = MsCalculationChainType.Model, model = new MsModel() { transform = new MsFormulaTransform() { formulas = new TsFormulas() { its = new TsFormula[] { new TsFormula() { kind = TsFormulaKind.ExponentialSmoothing, method = new TsMethod() { // Задаем параметры метода «Экспоненциальное сглаживание» exponentialSmoothing = new TsExponentialSmoothingMethod() { // Задаём модель роста: аддитивная trendComponent = StatTrendType.Linear, // Задаём значения коэффициентов @params = new ExponentialSmoothingParams() { alpha = 0.12, delta = null, gamma = null, phi = null }, // Задаём параметры автоподбора значений коэффициентов autoSearch = new ExponentialSmoothingAutoSearch() { // Задаём подбираемые коэффициенты alphaSearch = false, deltaSearch = false, gammaSearch = true, phiSearch = false, // Задаём параметры метода наилучшей пробы mode = StatSearchType.Optimal, bestTrial = new ExponentialSmoothingBestTrialParams() { // Задаём начальные значения initialApproximation = new ExponentialSmoothingParams() { alpha = null, delta = null, gamma = 0.12, phi = null }, methodConstant = 0.15, order = 9, maxIteration = 20 }, criterion = StatCriterionType.MeanError } } } } } } } } } } } } } } }, // Задаем шаблон извлечения измененных данных metaGet = new MsMdPattern() { scenarios = ListOperation.Get, period = true, item = new MsItemPattern() { key = modelKey, problem = new MsProblemPattern() { details = true, scenarios = ListOperation.Get, useSavedCoefficients = true, metamodel = new MsMetaModelPattern() { calculationChain = ListOperation.Get, calcChainPattern = new MsCalculationChainPattern() { modelPattern = new MsModelPattern() { transform = new MsFormulaTransformPattern() { kind = true, formulaCount = true, formulas = new TsFormulaPattern() { method = new TsMethodPattern() { } }, equationsFormula = new TsFormulaPattern() { method = new TsMethodPattern() { } } } } }, visualControllerPattern = new MsMetaModelVisualControllerPattern() { variableRubricatorKey = true, levelFormat = MsLevelFormat.Short, useSourceName = false, freeVariables = true } } } } } }; // Создаем прокси-объект для выполнения операции var somClient = new SomPortTypeClient(); // Задаем параметры выполнения операции var result = somClient.SetMs(setMsOp); return result.meta.item; }
См. также:
SetMs: Операция | Экспоненциальное сглаживание