Всем привет. Хочу сильно вас загрузить очень важной информацией. Все мы понимает что BIM это одно из направлений цифровизации бизнеса, а именно строительной отрасли. А что является самым главным преимуществом цифровых данных? Так вот самым главным преимуществом является возможность собирать и анализировать эти данные, а затем строить модели для прогнозирования бизнеса. Создание эти моделей это отдельная наука, именуемая как Machine Learning, ML или машинное обучение. Я думаю, многие слышали этот термин. У многих он ассоциируется с нейронными сетями, но это не всегда так. У машинного обучения есть один очень полезный и простой способ обучения модели и это линейная регрессия. И к нашему счастью она может проводиться средствами Excel :) Я буду потихоньку объяснять, как можно использовать машинное обучение для повышения качества и удобства вашей работы. Чтобы вы не боялись слово "Обучить модель" я немного поясню что это такое. Абсолютно любая модель машинного обучения — это просто математическая формула, просто большая:) Если ваш прогноз зависит от 5 параметров, то это формула просто с пятью неизвестными. Например, срок разработки документации зависит как-то от площади объекта. Ведь ни у кого не возникает сомнений что это так? Вот мы знаем, что как-то зависит, но как конкретно не знаем) Если мы обучим модель на данных "площади" и "затраченного времени" мы узнаем формулу как по площади определить затраченное время на разработку РД. Но модель будет «слабой», ибо в ней только один параметр. Мы можем добавить "Объём", можем добавить "Количество разделов", "Тип объекта" и т.д. На основе этих данных будет построена линейная регрессия, т.е. формула. И в след раз когда вам нужно будет быстро предсказать сроки проектирования вы просто подставите в эту формулу ваши параметры и узнаете "срок разработки". Сама же нейросеть это тоже формула! Просто в ней коэффициентов может быть пару сотен миллиардов:)
Для начального уровня нужно разобрать 4 понятия.
1)Сбор данных. Нам нужно собирать данные! Чем больше, тем лучше. Я для себя разделяю 2 типа данных. Размеченные и неразмеченные.
· Размеченные данные это данные с ответом:) Вот например: у вас есть проект жилого дома, площадью 300 квадратных метров, раздел ОВ, тип отопления напольное с радиаторами, также нужно разработать проект котельной, в проекте используется определённая труба, фитинги, типы соединений и многое многое другое. Но так как проект вы уже сделали и даже сделали монтаж, то у вас есть 2 цифры. Трудозатраты в человеко часах на проект и на монтаж. При условии, если вы их собирали конечно же:) Для проектирования нужно собирать свои данные, для монтажа свои. И так вы копите эту базу данных долго, чем дольше, тем точнее будет по ней анализ.
· Неразмеченные данные — это те же данные, но без трудозатрат. Получается, что их либо не считали, либо объекты ещё в работе. Потом нужно будет их разметить, ли бо узнать/спросить количество затраченных часов, либо самому считать.
Стоит объяснить в каком виде должны быть эти данные. Если, например у нас параметр "Тип трубы отопления", то мы наш типы классифицируем и даём порядковый номер. Важно чтобы данная классификация была статичной и никогда не изменялась, иначе вся ваша модель потеряет смысл.
У меня очень красиво получается собирать данные через Bitrix24. Если все задачи ставить через "Бизнес-процессы" и потом записывать всё в "Списки", то на выходе у вас готовый Excel с данными. В бизнес-процессах у вас может быть неограниченное количество переменных, а как итог разметки есть поле "Затраченное время на задачу". Я так, например собираю данные по времени разработки семейств Revit в зависимости от категории ревит, от категории нашего корпоративного классификатора и т.д.
2)Корреляция. Приближаемся к самому интересному:) Вот формула для корреляционного анализа.
r - коэффициент корреляции Пирсона.
Ничего не понятно, да? Ну и не страшно, ведь этот анализ проводит обычный Excel через модуль "Анализ данных". Просто вбиваете данные в виде колонок, где одна колонка — это результаты работ, а другая колонка — это наши данные, которые на этот самый результат и влияют. В итоге мы получаем ответ в виде матрицы.
Данная матрица показывает, как тот или иной параметры влияет на другой.
Нам интересна строчка размеченных данных "Удельные теплопотери". Мы видим коэффициент 0,357 от параметра "Температура воздуха в помещении" — это значит, что температура влияет на теплопотери на безразмерную величину 0,357 и чем выше температура воздуха, тем выше будут теплопотери, но прирост последних будет равен 36% прироста параметра температуры. Данный коэффициент может быть от -1 до +1. Я таблицу данных заполнял рандомно, поэтому не смотрите на сами коэффициенты. Следующий параметр "Температура воздуха на улице" и тут уже коэффициент отрицательный, а это означает, что чем НИЖЕ этот параметр, тем выше наши теплопотери, что логично:)
Если коэффициент равен нулю, то это означает, что либо корреляция отсутствует, либо она не линейная. Там есть способы как с этим работать дальше, но я думаю тут и так слишком душно, поэтому поехали дальше.
3)Регрессия. Ну и самое сложное. Из предыдущего корреляционного анализа мы узнаем какие параметры действительно влияли на наш итоговый столбец. Все данные с низкими "весами" мы в корреляции не учитываем. Чтобы не мучить вас сложными формулами объясню на пальцах. Любой массив данных можно оцифровать. У меня даже есть статья на дзене и вот ещё одна. В итоге, когда мы оцифровываем наш массив данных мы получаем уравнение в зависимости от характеристики кривой регрессии. Зависимость может быть линейной, квадратичной, логарифмической и т.д. Если у вас узкий промежуток собранных данных и вы за него никогда не выйдете, то можете использовать полиномы высоких степеней. Он оцифрует ваши данные с высокой точностью, но прогнозировать он их не сможет. Короче, в итоге у вас есть уравнение, которое описывает поведение вашей модели. Т.е. подставляете свои параметры и при решении уравнения получаете практически ваш размеченный результат.
4)Корреляционно-регрессионный анализ. Ну и вот итог всего нашего душевного разговора. Всё вместе это называется "Корреляционно-регрессионный анализ" и он позволяет нам прогнозировать. Т.е. до этого момента мы работали с данными которые уже "были". А теперь вводя свои параметры будущих объектов вы получаете прогноз того, как это может быть. Это будет самый точный прогноз из того, что может родиться у вас в голове, ибо вы все предыдущие разы делали всё точно также, что привело вас к данной формуле. Надеюсь, я смог немного объяснить. Моя задача была не заменить вам "Бизнес-аналитика" или "Отдел аналитики" в компании, они и так это всё знают лучше меня. Моя задача была дать рабочий инструмент инженерам который бесконечно должны предсказывать сроки разработки документации и сроки строительства просто из головы...