Журнал "Научное Образование" в eLIBRARY.RU

  • na-obr@mail.ru
  • Статьи в следующий номер журнала принимаются по 30.04.2024г.

   Регистрационный номер СМИ: ЭЛ № ФС 77 - 74050 от 19.10.2018г. Смотреть

   Свидетельство регистрации периодического издания: ISSN 2658-3429 Смотреть

   Договор с ООО "НЭБ" (eLIBRARY.RU): № 460-11/2018 от 21.11.2018г.

 
kn2
 
 
kn3
 
 
kn4
 

Разработка регрессионной модели для прогнозирования набора веса продукции теплицы

Дата публикации: 2022-01-01 13:36:53
Статью разместил(а):
Черепенин Валентин Анатольевич

Разработка регрессионной модели для прогнозирования набора веса продукции теплицы

Development of a regression model for predicting the weight gain of greenhouse products

 

Автор: Черепенин Валентин Анатольевич

Южно-Российский государственный политехнический университет (НПИ) имени М.И. Платова, г. Новочеркасск, Россия. 

e-mail: cherept2@gmail.com

Cherepenin Valentin Anatolyevich

M.I. Platov South Russian State Polytechnic University (NPI), Novocherkassk, Russia.

e-mail: cherept2@gmail.com

 

Аннотация: В статье описывается разработка регрессионной модели для прогнозирования набора веса продукции теплицы. Разработка выполнена в рамках проектирования информационной системы управления биотехнологии «Умной теплицы». Использован один из алгоритмов машинного обучения, а именно нелинейная регрессия с применением метода Ньютона-Гаусса. Основное место в статье уделено описанию функциональной основы метода. Для реализации данной задачи был выбран язык R, показаны его преимущества. Рассмотрены параметры, используемые для прогнозирования веса овощей и технология обучения регрессионной модели.

Abstract: The article describes the development of a regression model for predicting the weight gain of greenhouse products. The development was carried out as part of the design of the information management system of biotechnology "Smart Greenhouse". One of the machine learning algorithms was used, namely nonlinear regression using the Newton-Gauss method. The main place in the article is devoted to the description of the functional basis of the method. To implement this task, the R language was chosen, its advantages are shown. The parameters used to predict the weight of vegetables and the technology of training a regression model are considered.

Ключевые слова: Нелинейная регрессионная модель, прогнозирование, метод Ньютона-Гаусса, умная теплица, биотехнологии.

Keywords: Nonlinear regression model, forecasting, Newton-Gauss method, smart greenhouse, biotechnology.

Тематическая рубрика: IT-технологии и цифровые процессы.

 

Разработка регрессионной модели для прогнозирования набора веса производимой продукции выполнена в рамках проектирования информационной системы управления биотехнологии «Умной теплицы». Информационная система предназначена для автоматизации процессов, протекающих в теплице.

Регрессионная модель ?:(?,?) — это параметрическое семейство функций, задающее отображение:

?:?×?→?,

где ? ∈? — пространство параметров;

? ∈? — пространство свободных переменных;

Y — пространство зависимых переменных.

Так как регрессионный анализ предполагает поиск зависимости математического ожидания случайной величины от свободных переменных ?(?|?)=?(?), то в её состав входит аддитивная случайная величина ?: ?=?(?,?)+?.

Модель является настроенной (обученной) когда зафиксированы её параметры, то есть модель задаёт отображение ?:?→? для фиксированного значения ?̅.

Нелинейная регрессия — частный случай регрессионного анализа, в котором рассматриваемая регрессионная модель есть функция, зависящая от параметров и от одной или нескольких свободных переменных. Зависимость от параметров предполагается нелинейной [2].

В случае нелинейного регрессионного анализа данные состоят из свободных от ошибок независимых переменных x и связанных наблюдаемых зависимых переменных (откликов) y. Каждая переменная y моделируется как случайная величина со средним значением, задаваемым нелинейной функцией f(x,β).

Для реализации данной задачи было решено использовать один из алгоритмов машинного обучения, а именно, нелинейную регрессию с

использованием метода Ньютона-Гаусса. Рассмотрим подробнее выбранный метод.

Метод Ньютона-Гаусса — это итерационный численный метод нахождения решения задачи наименьших квадратов. В общих чертах, этот метод использует матрицу Якобиана J производных первого порядка функции F для нахождения вектора x значений параметра, который минимизирует остаточные суммы квадратов (сумму квадратных отклонений предсказанных значений от наблюдаемых).

Алгоритм Ньютона-Гаусса сводится к следующему.

Если задано m функций r=(r1, …, rm) от n переменных β= (β1, …, βn), при m≥n, алгоритм итеративно находит значения переменных, которые минимизируют сумму квадратов:

?(?)=∑??2??=1(?)Начав с некоторого начального приближения β(0), метод осуществляет итерации ?(?+1)= ?(?)− (??T??)−1??T?(?(?)). Здесь, если рассматривать r и β как вектор-столбцы, элементы матрицы Якоби равны (??)??=???(?(?))???, а символ T означает транспонирование матрицы.

При аппроксимации данных, где целью является поиск параметров β, таких, что заданная модель функций y=f(x, β) наилучшим образом приближает точки данных (xi, yi), функции ri являются остаточными ошибками (?)= ??−?(??,?), тогда метод Ньютона-Гаусса можно выразить в терминах якобиана Jf функции ??(?+1)= ?(?)−(??T??)−1??T?(?(?)).

Данный алгоритм очень хорошо подходит для случаев, когда имеется зависимость одной переменной от нескольких, и эта зависимость предполагает нелинейный характер.

Для реализации данной задачи был выбран язык R. К основным преимуществам языка R можно отнести:

- математическая ориентированность, работа с матрицами и производными реализована уже «из коробки», язык имеет множество библиотек и функций для сложных вычислений, в том числе и для работы с регрессионными функциями;

- возможность установки только интерпретатора языка, без GUI, с последующей работой через CLI-интерфейс из терминала;

- чтение данных из файла – данная особенность позволит не привязывать реализуемый алгоритм к базе данных или ее структуре, достаточно будет просто выгружать обработанные данные, полученные из базы данных.

Так как алгоритм нелинейной регрессии подразумевает обучение модели, первым шагом для создания модуля станет реализация скрипта, производящего выборку данных, их преобразование, и выгрузку в файл.

Для обучения регрессионной модели необходимо подготовить набор данных. Проведя анализ структуры базы данных, было решено, что для осуществления предсказания будущего веса овощей можно использовать, как и параметры, предоставленные в базе данных, так и вычисляемые параметры. Рассмотрим каждый из параметров:

- вес овощей (вес овощей в килограммах, который набрала продукция на текущую дату);

- вес овощей на завтрашний день (вес продукции в килограммах, который набрала овощи на завтрашний день);

- количество различной продукции (текущее количество продукции);

- вес потребленного удобрения (вес потреблённого удобрения на текущую дату, в килограммах);

- коэффициент качества удобрения (представляет собой отношение количества затраченного удобрения к единице полученной продукции);

- текущая дата (дата, по которой представлены показатели);

Таким образом, получается 5 параметров для обучения регрессионной модели. После обучения модель будет способна предсказывать один из параметров, в нашем случае будущий вес продукции.

Для подготовки данных, необходимых для обучения модели, был реализован вспомогательный класс, содержащий функции для выборки данных из базы данных и их приведения к требуемому виду.

После подготовки данных они помещаются в файл в формате CSV, удобном для дальнейшего использования в скриптах, реализованных на языке

R. При выгрузке к данным добавляется строка, содержащая заголовки столбцов.

После формирования данных для обучения модели необходимо провести обучение модели. В ходе работы было обнаружено, что язык R «из коробки» имеет в своем арсенале мощный пакет «nlme» для решения различных задач регрессии, который позволяет строить нелинейный регрессионные модели. Данная функция принимает на вход множество параметров, из которых наиболее важны следующие:

- formula – нелинейная формула модели, выражение вида y~model, представленная в виде линейного представления модели, состоит из параметров, разделенных знаком «+». Также в формуле используется операнд «*», означающий пересечение факторов, выражение a*b будет представлено как a+b+a:b, где операнд «:» означает т.н. «взаимодействие», а операнд «+» является разделителем, как описано выше;

- data – набор данных, на которых проходит обучение;

- start – начальные значения для коэффициентов, используемых в формуле;

- algorithm – алгоритм, который должен быть использован при обучении, значение по умолчанию (если параметр не передан в функцию) – метод Ньютона-Гаусса.

Таким образом, если данные, формула и начальные значения коэффициентов будут подобраны верно, задача поиска значений этих коэффициентов полностью реализуется стандартными средствами языка R, так как остальные параметры, в том числе параметр, определяющий алгоритм, могут быть использованы по умолчанию.

 

Список литературы:

1. Бодров О.А. Предметно-ориентированные экономические информационные системы [Текст] / О.А. Бодров, Р.Е. Медведев. — Москва: Горячая линия - Телеком, 2013. — 244 с.

2. Демиденко Е.З. Линейная и нелинейная регрессии, Издательство: «Финансы и статистика», 1981. – 304 с.

3. Калянов Г.Н. Консалтинг при автоматизации предприятий: подходы, методы, средства [Текст] / Г.Н. Калянов. – Москва: НПО "СИНТЕГ", 1997. - 316 с.

4. Курдюмов Н., Малышевский К., Умная теплица, Издательство: Владис, 2017.-19 с

5. Кудинов В.А. Техническая термодинамика и теплопередача: Учебник для бакалавров / В.А. Кудинов, Э.М. Карташов, Е.В. Стефанюк.. - Москва: Юрайт, 2018. - 566 c.

 

. . . . . . .