6. Объектная модель прикладного решения
#57

Готовишься к экзамену?

Полнофункциональный тренажер @bot_1cnik_bot с полноценным обучением, режимом экзамена и подробной статистикой.

Перейти в бота

В платформе 1С объект типа «МодельПрогноза» (для механизма анализа данных и прогнозирования) как получается в коде?

Он формируется на основе результата выполненного анализа данных (из объекта «РезультатАнализа…»)
Правильно: Модель прогноза создается только после того, как анализ данных уже выполнен и получен объект результата анализа. Далее у результата вызывают метод создания модели (например, «СоздатьМодельПрогноза()»), и именно он возвращает объект «МодельПрогноза» нужного вида.
Он появляется при обращении к одноименному свойству глобального контекста (например, «МодельПрогноза = МодельПрогноза»)
Неправильно: В глобальном контексте нет свойства, которое бы «выдавало» готовую модель прогноза по имени, как это бывает у менеджеров метаданных (Справочники, Документы и т.п.). Модель прогноза привязана к конкретному результату анализа и не может быть получена простым обращением к глобальному свойству.
Его можно создать напрямую через конструктор «Новый МодельПрогноза()»
Неправильно: «МодельПрогноза» не создается как обычный объект общего назначения через «Новый», потому что ей нужны параметры, сформированные механизмом анализа (правила, структуры, коэффициенты и т.д.). Поэтому корректный путь - только через результат анализа, который «собирает» модель и возвращает ее готовой.

Пояснение

Модель прогноза в 1С - это следующий шаг после анализа данных: сначала вы выполняете анализ (например, дерево решений, поиск ассоциаций, кластеризацию), получаете «РезультатАнализа…», и уже из него строите модель, которая умеет прогнозировать новые данные. Типовой сценарий (упрощенно): 1) Подготовить источник данных (таблица значений/запрос/выгрузка), указать параметры анализа. 2) Выполнить анализ и получить объект результата, например: - РезультатАнализа = Анализ.Выполнить(); 3) Создать модель прогноза именно из результата: - Модель = РезультатАнализа.СоздатьМодельПрогноза(); 4) Передать в модель новые данные для прогноза (источник) и выполнить прогноз: - Модель.ИсточникДанных = НовыеДанные; - РезультатПрогноза = Модель.Выполнить(); Почему это важно: - У разных видов анализа разные внутренние структуры результата (деревья, правила, кластеры, ассоциации). Модель прогноза должна унаследовать эти структуры, поэтому она не может появиться «сама» из глобального контекста. - Создание через «Новый» не подходит, потому что без результата анализа модель будет «пустой» и не будет содержать знаний, необходимых для прогнозирования. Практический пример использования: - Вы анализируете продажи, чтобы понять, какие товары часто покупают вместе (анализ ассоциаций). После анализа создаете модель прогноза и подаете ей набор товаров из текущей корзины - модель возвращает рекомендации, какие позиции вероятнее всего купят дополнительно.