Пишете крутые статьи? Публикуйте их в Workspace Media, бесплатно!
Назад
#Исследования и аналитика

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

80 
 

1. Введение

В процессе работы с данными нередко возникает задача определения функциональной зависимости yi=f(xi), установленной в результате эксперимента или анализа статистических данных. Иными словами, исходные данные представлены в виде набора точек (x1,y1), (x2,y2), …, (xn,yn), где n — количество измерений. Если аналитическое выражение функции f(x) неизвестно или слишком сложное, то становится актуальной задача поиска функции Y=F(x), которая максимально близко описывает экспериментальные данные при x=xi ​. Такой процесс приближения функции f(xi) более простой функцией F(x) называется аппроксимацией.

Аппроксимация позволяет анализировать числовые характеристики и качественные свойства объекта, переводя задачу в более удобное математическое представление. Обычно модель аппроксимации выбирают так, чтобы минимизировать ошибку на всем диапазоне исходных данных. Для достижения более точного результата часто применяют несколько видов аппроксимаций и выбирают ту, которая лучше описывает зависимость y=f(xi).

Надежность аппроксимации оценивается с помощью коэффициента детерминации R², в литературе он встречается как "R-квадрат". Этот показатель характеризует степень соответствия модели исходным данным. Далее мы подробнее разберем, что такое R² и как его применять.

Переход от экспериментальной зависимости f(x) к аналитической функции F(x) предоставляет возможность вычислять значения F(x) на всей области определения. Если x является временной переменной, это позволяет, в определенном смысле, предсказывать будущее. Иными словами, имея функцию F(x), можно подставлять в нее любые значения x и получать результаты даже для тех точек, где f(x) не была определена. Это делает аппроксимацию мощным инструментом для прогнозирования, позволяя предвидеть дальнейшее развитие процессов.

Важно понимать, что все измерения дают лишь приближенные значения. Абсолютная точность недостижима из-за множества факторов: ограниченных возможностей измерительных приборов, несовершенства человеческих органов чувств, неоднородности объектов измерения, а также влияния внутренних и внешних факторов. Ошибки измерений делятся на систематические и случайные. Систематические ошибки обусловлены конструкцией приборов и методологией измерений, и их невозможно устранить, работая с уже полученными данными. Однако случайные ошибки поддаются частичному контролю: они могут быть вызваны преобладанием маловероятных исходов при малом объеме экспериментов.

Для минимизации случайных ошибок необходимо увеличивать объем данных. Чем больше измерений проводится, тем выше достоверность получаемых результатов. При обработке больших массивов данных на первый план выходят базы данных, которые поддерживают масштабируемость, такие как GreenPlum/Postgres и Hive. Эти системы позволяют эффективно обрабатывать данные и выполнять сложные запросы. Предложенный подход универсален и может быть адаптирован для работы с другими базами данных.

Сегодня существует множество библиотек и программных продуктов, реализующих различные методы аппроксимации. Эти инструменты представлены как в популярных математических пакетах, так и в специализированных приложениях, предназначенных для решения подобных задач. Однако одной из сложностей при работе с большими объемами данных является их хранение в базах данных, специально созданных для обработки и управления числовыми массивами. Процесс передачи данных из таких хранилищ во внешние приложения зачастую оказывается трудоемким и сложным, а в некоторых случаях — вовсе невозможным.

В данной статье мы хотим показать, что для решения задач аппроксимации вовсе не требуется использование сторонних инструментов. Если ваши экспериментальные данные находятся в базе данных, и вы имеете возможность выполнять к ним SQL-запросы, то этого уже достаточно для реализации методов аппроксимации.

2. Аппроксимация: метод наименьших квадратов

Метод наименьших квадратов (МНК) — это математический подход, который используется для решения задач путем минимизации суммы квадратов отклонений заданных функций от экспериментальных данных. Основная идея метода заключается в минимизации расхождений между исходной функцией f(x) и аппроксимирующей функцией F(x). Для этого применяется числовая мера: сумма квадратов разностей f(x) и F(x) должна быть минимальной [1].

Аппроксимирующая функция по МНК определяется из условия, при котором сумма квадратов отклонений между расчетной функцией F(x) и массивом экспериментальных данных достигает минимума. Этот критерий записывается следующим образом:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Здесь F(xi) представляет значения расчетной аппроксимирующей функции в узловых точках, а xi, yi ​ — массив заданных экспериментальных данных в этих узловых точках.

Применение метода наименьших квадратов позволяет:

  1. Определить наличие зависимости между xi ​ и yi: МНК помогает выявить, существует ли связь между входными и выходными данными.
  2. Построить оптимальную аналитическую модель: На основе экспериментальных данных определяется функция F(x), которая лучше всего описывает исходную зависимость.
  3. Рассчитать параметры регрессионного уравнения: Метод вычисляет коэффициенты аналитической модели, описывающей зависимость данных, что делает её пригодной для прогнозов и дальнейшего анализа.

Ответ на первые два вопроса может быть получен с помощью расчета величины достоверности R², которая также известна как коэффициент детерминации. Этот показатель оценивает, насколько хорошо выбранная аналитическая модель F(x) описывает экспериментальные данные. Коэффициент детерминации R² может быть вычислен по следующей формуле [2]:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

где:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

– сумма квадратов остатков регрессии; yi и F(xi) – фактическое и расчетное значение переменной y в данной точке  x,

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

– сумма квадратов разности между фактическим и средним значением F(xi), N – число точек. [2].

Чем ближе значение коэффициента детерминации R² к 1, тем лучше модель соответствует экспериментальным данным. При оценке регрессионных моделей R² интерпретируется как степень объясненной вариации данных.

  • Для приемлемых моделей коэффициент детерминации должен быть не менее 50 %.
  • Модели с R² > 80% можно считать достаточно качественными и надежными для использования.

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

  • Линейные функции: для описания пропорциональных зависимостей.
  • Экспоненциальные функции: для процессов роста или затухания.
  • Степенные функции: для описания масштабируемых процессов.
  • Полиномиальные функции: для моделирования сложных зависимостей.
  • Обратные функции: для случаев, где зависимость обратно пропорциональна.

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

Будем считать, что вид аппроксимирующей зависимости выбран и ее можно записать в виде:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

где F – известная функция, a0, a1, … am – неизвестные постоянные параметры, значения которых надо найти. В методе наименьших квадратов приближение функции (3) к экспериментальной зависимости считается наилучшим, если выполняется условие:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

То есть суммa квадратов отклонений искомой аналитической функции от экспериментальной зависимости должна быть минимальна.

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

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

минимальна, сводится к решению системы уравнений:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Строго говоря, с математической точки зрения, минимизация функции требует дополнительной проверки. Чтобы убедиться, что найденное значение действительно является минимумом, а не просто экстремумом, необходимо проверить, что вторые производные функции Q по параметрам ai​ положительны.

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

3. Практика: пример аппроксимации на основе Excel

Одним из самых простых инструментов, с помощью которых можно построить аппроксимацию на основе экспериментальных данных, можно считать Excel из пакета Microsoft Office. Давайте посмотрим на то, как работает простейший вид аппроксимации на реальном примере. Excel позволяет нам не только построить аналитическую зависимость F(x), он еще и позволяет увидеть все численные коэффициенты как самой аналитической зависимости, так и величину достоверности.

В качестве экспериментального результата для исследования возьмем статистику роста интернет пользователей в зависимости от года (см. рис. 1) [3].

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

рис. 1 - Ежегодная статистика количества интернет пользователей [3]

Экспериментальные данные были перенесены в Excel, где была построена аппроксимация в виде линии тренда. В качестве модели выбрана простейшая линейная зависимость (Linear). В настройках аппроксимации были активированы опции «Display Equation on chart» (отображение уравнения на графике) и «Display R-squared value on chart» (отображение значения R²). Результаты этих настроек видны на рисунке. Дополнительно был задан диапазон прогнозирования на будущие годы – Forecast forward, установленный на 5 лет, что позволяет продлить зависимость на указанный период. Таким образом, с определённой степенью точности можно предсказать развитие событий в будущем, что отражено пунктирной частью красной линии, выходящей за пределы 2022 года.

Полученная аппроксимация, выраженная уравнением [F(x) = 0,242x – 0,5291] (см. рис. 2), достаточно хорошо описывает экспериментальные данные. Этот вывод подтверждается не только визуальным совпадением, но и высоким значением коэффициента R², которое существенно превышает теоретически требуемый порог (более 80% считается показателем хорошего совпадения). Однако возникает вопрос: можно ли считать эту аналитическую кривую наилучшим образом описывающей эксперимент? В принципе, да, но только до тех пор, пока не будет найдена другая кривая с более высоким значением достоверности аппроксимации.

Таким образом, теоретически мы получили ответы на поставленные вопросы: высокое значение R² указывает на наличие зависимости между аргументами и экспериментальными значениями, а также были определены численные коэффициенты аналитической зависимости (a и b). Хотя на данный момент нельзя утверждать, что данная аппроксимация является наилучшей, можно уверенно сказать, что она хорошо описывает имеющиеся экспериментальные данные (см. рис. 2).

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Рис. 2. Линия тренда (аппроксимация) на основе экспериментальных данных с учетом прогноза на последующие несколько лет. Для простоты расчета будем отсчитывать время наблюдения от 2005 года, т.е. 2005 год – это первый год наблюдения  

4. Практика: аппроксимация простейшей функции

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

4.1 Линейная функция

Рассмотрим, как это работает на простом примере линейной функции. Будем считать, что F(xi) = axi + b. Тогда перепишем формулу (1) следующим образом:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Переменными в данном случае выступают a и b, а поскольку результат должен стремиться к нулю, то можно записать условие экстремума по переменным a и b (см. (5)):

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Выразив a и b,получим следующий результат:    

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Теперь коэффициенты a и b можно подставить в уравнение F(x) = ax + b в явном виде.

Для работы с экспериментальными данными создадим таблицу, которая будет содержать два поля:

  • yiu (YearInternetUsers) — год (целочисленное значение),
  • ciu (CountInternetUsers) — количество интернет-пользователей (число с плавающей точкой).

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

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

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

1. k_yval: Подзапрос, который определяет минимальный и максимальный год в данных для корректной работы с индексами временных рядов. Минимальный год уменьшается на 1 для правильной настройки временных меток.

2. k_stat: В этом подзапросе создаются новые столбцы, которые представляют собой преобразованные данные. Эти столбцы используются для дальнейших расчетов в аппроксимациях. Например, данные о годах и количестве пользователей преобразуются в новые значения, которые используются для вычисления коэффициентов в различных типах аппроксимации.

3. k_par: Этот подзапрос агрегирует необходимые статистические показатели, такие как суммы произведений и суммы отдельных параметров, которые будут использованы для вычислений в дальнейших шагах.

4. k_app: Здесь вычисляются коэффициенты для нескольких типов аппроксимации, включая линейную, экспоненциальную, степенную, логарифмическую, обратную и гиперболическую аппроксимации. Каждый из этих типов аппроксимаций требует своих специфических расчетов, основанных на ранее агрегированных данных.

5. Основной запрос: В финальном шаге выбираются данные для построения аппроксимаций. Для каждого года в выборке вычисляются значения аппроксимирующих функций. Для новых, недостающих данных (например, для прогнозирования будущих значений) создаются виртуальные строки с помощью UNION ALL, которые обеспечивают продолжение анализа для будущих годов. Итоговые данные содержат значения для каждого года, реальные данные о пользователях, а также значения, вычисленные на основе аппроксимирующих функций.

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Полученные таким образом результаты представлены на рис. 3

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

  Рис. 3 Линейная аппроксимация y = ax + b, построенная на основе Листинга 1.  

В расчете (Листинги 1, 2) были получены следующие численные значения: a_lin = 0,242; b_lin = 0,5291; R² = 0,9782, что говорит о хорошем совпадении аппроксимации с эмпирическими данными.


Разместите
тендер бесплатно

Наша система сама подберет вам исполнителей на услуги, связанные с разработкой сайта или приложения, поисковой оптимизацией, контекстной рекламой, маркетингом, SMM и PR.

Заполнить заявку 12583 тендера
проведено за восемь лет работы нашего сайта.


4.2 Экспоненциальная аппроксимация

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Снова решаем систему уравнений (5), но уже для другого вида функций аппроксимации (8). Проще всего это сделать, выполнив замену вида: 

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

отсюда (8) можно записать как Y = B + AX, таким образом решение сводится к уже проделанному ранее (см. формулу 7):

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Выполнив обратную замену в соответствии с (9), получим:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Теперь коэффициенты a и b можно подставить в уравнение (8) в явном виде. Аналогично предыдущему расчету можем записать соответствующий SQL запрос для построения экспоненциальной зависимости. Не будем, по сути, дублировать листинг 1, запишем только ту часть листинга, которую придётся скорректировать при переходе к экспоненциальной функции.

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Полученные таким образом результаты представлены на рис. 4:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

  Рис. 4 Экспоненциальная аппроксимация y = a∙exp(bx), построенная на основе Листинга 3.  

В расчете (Листинги 3 и 2) были получены следующие численные значения a_exp = 1,051; b_exp = 0,0926; R² = 0,9903, что говорит о хорошем совпадении аппроксимации с эмпирическими данными.

Следует отметить, что в общем виде формула 8 могла бы содержать дополнительное слагаемое – c, т. е. могла бы быть записана следующим образом: y=a∙exp(bx)+c. К сожалению, в таком виде свести функцию к линейному виду, а  следовательно, решить аналитически уравнение методом МНК – не получится. Однако, если наблюдаемая экспериментальная зависимость, как и в нашем случае, возрастает (b > 0), а асимптотой является горизонтальная прямая, не совпадающая с осью Х, то величина с может быть определена как смещение по оси Y, т.е. c – расстояние от оси X до асимптоты. Тогда задачу можно будет решить в новой системе координат, где ynew = y – c, после чего вернуться к «старой» системе.

4.4 Логарифмическая функция

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Линеаризация Y = B+AX и переобозначение:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Отсюда получим такое же решение, как и в (10), а выполнив обратные преобразования (16), получаем:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов
Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Полученные таким образом результаты представлены на рис. 6:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

  Рис. 6 Логарифмическая аппроксимация y = a + b ∙ ln(x), построенная на основе листинга 5.     

В расчете (листинги 5 и 2) были получены следующие численные значения a_log = -0,0951; b_log = 1,4459; R² = 0,7876. Здесь величину достоверности уже нельзя считать удовлетворительной.

4.5 Обратная функция

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

С первого взгляда на функцию становится очевидным, что она не подходит для корректного описания данного примера. Однако не стоит ограничиваться только этим частным случаем, поскольку в теории такая функция может успешно применяться для моделирования других экспериментальных зависимостей. Поэтому имеет смысл изучить её более детально.

Линеаризация Y = B+AX и переобозначение:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Отсюда получим такое же решение, как и в (10), а выполнив обратные преобразования (19) получаем:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Теперь коэффициенты a и b можно подставить в уравнение (18) в явном виде. Аналогично предыдущему расчету можем записать соответствующий SQL-запрос для построения обратной зависимости. Запишем только ту часть листинга 1, которую придется скорректировать при переходе к обратной функции.

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Полученные таким образом результаты представлены на рис. 7:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

В результате расчетов (листинги 6 и 2) были получены следующие численные значения: a_inv = 0,8356; b_inv = -0,0411; R² = -0,1197. В данном случае значение коэффициента достоверности R² нельзя считать удовлетворительным. Кроме того, функция (18) имеет точку разрыва второго рода в точке x = -a/b, где она не определена. Однако на графике этот разрыв не был обнаружен из-за низкой точности аппроксимации. Это явно указывает на то, что обратная функция совершенно не подходит для построения линии тренда, описывающей имеющиеся экспериментальные данные.

4.6 Гиперболическая функция

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Линеаризация Y = B+AX и переобозначение:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Отсюда получим такое же решение, как и в (10), а выполнив обратные преобразования (22) получаем:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Теперь коэффициенты a и b можно подставить в уравнение (21) в явном виде. Аналогично предыдущему расчету можем записать соответствующий SQL-запрос для построения гиперболической зависимости. Запишем только ту часть листинга 1, которую придётся скорректировать при переходе к гиперболической функции.

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов
Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

В расчете (Листинги 7 и 2) были получены следующие численные значения: a_hyp = 3,5503; b_hyp = -3,7176; R² = 0,4345, здесь величину достоверности уже нельзя считать удовлетворительной.

4.7 Полиномы второй степени

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

В соответствии с формулой (1) получаем:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

В таком случае согласно (5) получаем систему уравнений:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

выполнив преобразования, получаем:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Проще всего решить данную систему уравнений методом Крамера [4] (напомню, что неизвестными в нашем случае являются переменные a, b и с):

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Отсюда:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Теперь коэффициенты a, b и c можно подставить в уравнение (24) в явном виде. А значит можем записать соответствующий SQL-запрос для построения полиномиальной зависимости второй степени (см. листинг 8).

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

Результаты, полученные таким образом, представлены на рис. 9:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

  Рис. 9 Аппроксимация полиномом второй степени  y = ax² + bx + c построенная на основе листинга 8.     

В ходе расчетов (листинги 8 и 2) были получены следующие численные значения: a_sqr = 0,0071; b_sqr = 0,1070; c_sqr = 0,9791; R² = 0,9962. Эти результаты представляют собой наилучший вариант аппроксимации из всех полученных. Стоит отметить, что в принципе можно было бы провести аналогичные вычисления для полиномов более высоких степеней, поскольку их решение не вызывает принципиальных трудностей. Однако такие расчеты оказались бы значительно более сложными и трудоемкими по сравнению с аппроксимацией полиномом второй степени. В данном случае ограничимся констатацией того, что SQL вполне пригоден для работы с аппроксимацией полиномами более высокого порядка.

При этом важно учитывать, что увеличение степени полинома может улучшить точность интерполяции, то есть приблизить теоретическую кривую к экспериментальным точкам. Однако это может негативно сказаться на качестве прогнозирования, так как высокая степень полинома часто приводит к излишнему усложнению модели, что ухудшает её пригодность для построения линии тренда на будущие периоды. Аппроксимация, по своей сути, представляет собой попытку заменить сложные зависимости более простыми математическими моделями, и в этом процессе важно избегать чрезмерного усложнения, чтобы сохранить баланс между точностью и практической применимостью.

4.8 Результаты

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

В таблице представлены результаты различных методов аппроксимации, применённых к экспериментальным данным. Каждая строка таблицы содержит информацию о типе аппроксимации, соответствующей математической функции, значениях коэффициентов (a, b, c), коэффициенте достоверности R² и оценке результата.

  1. Линейная аппроксимация (y=ax+by=ax+b) показала отличный результат с коэффициентами a=0,242, b=0,529 и R²=0,978. Это указывает на высокую степень совпадения с экспериментальными данными.
  2. Экспоненциальная аппроксимация (y=a*exp⁡(b−x)) также продемонстрировала отличный результат с коэффициентами a=1,051, b=0,093 и R²=0,990. Это говорит о том, что экспоненциальная модель хорошо описывает данные.
  3. Степенная аппроксимация (y=a⋅xby=a⋅xb) показала хороший результат с коэффициентами a=0,755, b=0,599 и R²=0,907. Это указывает на приемлемое, но не идеальное совпадение.
  4. Логарифмическая аппроксимация (y=a+b⋅ln⁡(x)) дала средний результат с коэффициентами a=−0,095, b=1,446 и R²=0,788. Это означает, что модель лишь частично соответствует данным.
  5. Обратная аппроксимация (y=1/(a+b⋅x)) показала плохой результат с коэффициентами a=0,836, b=−0,041 и отрицательным R²=−0,112. Это указывает на то, что модель не подходит для описания данных.
  6. Гиперболическая аппроксимация (y=a+b/x) также показала плохой результат с коэффициентами a=3,550, b=−3,718 и R²=0,435. Это свидетельствует о низком качестве аппроксимации.
  7. Полиномиальная аппроксимация второй степени (y=ax²+bx+c) показала лучший результат с коэффициентами a=0,007, b=0,107, c=0,979 и R²=0,996. Это указывает на почти идеальное совпадение с экспериментальными данными.

5. Hadoop

При переходе от Postgres/GreenPlum к Hive необходимо учитывать различия в обработке преобразований типов, что требует внесения изменений в синтаксис запросов. Например, в Postgres/GreenPlum выражение SELECT 1 / 2 возвращает 0, тогда как в Hive оно возвращает 0.5. Это означает, что в Hive нет необходимости явно выполнять преобразование типов (см. пункт 1, листинг 9). Число 5 в пункте 2 листинга 9 указывает на продолжительность прогноза, который в данном случае составляет пять лет.

Ниже приведены изменения, адаптированные под синтаксис Hive:

Сопоставительное исследование подходов аппроксимации на основе SQL-запросов

6. Вывод

Для демонстрации полученных результатов потребовалось минимальное количество инструментов: таблица с экспериментальными данными, возможность написания SQL-запросов и Excel в качестве инструмента для визуализации. Однако стоит отметить, что современные BI-инструменты, такие как Grafana, Power BI и другие, также позволяют отображать результаты на дашбордах, используя SQL-запросы. В таком случае, для визуализации линий тренда достаточно интегрировать аппроксимирующий запрос в выбранный BI-инструмент, что существенно упрощает задачу.

Выбор аппроксимирующей функции должен основываться на вычисленных параметрах, которые наиболее точно описывают функциональную зависимость между исследуемыми величинами. Если существует несколько подходящих вариантов аппроксимирующих функций, предпочтение следует отдать той, которая обеспечивает наибольшее значение коэффициента достоверности R2R2.

Представленный набор функций для аппроксимации, хотя и не является исчерпывающим, включает наиболее распространённые и простые методы, которые подходят для аппроксимации непериодических экспериментальных данных. Используемый метод наименьших квадратов (МНК) обладает тем преимуществом, что предоставляет универсальную теоретическую основу, применимую к различным типам аппроксимирующих функций. Это позволяет исследователю самостоятельно добавлять новые функции, если существующие не удовлетворяют требованиям точности. Для этого необходимо выполнить аналогичные вычисления и оценить успешность аппроксимации, рассчитав коэффициент R2R2.

Однако МНК имеет ряд существенных ограничений. Во-первых, он не учитывает погрешность отдельных измерений. Во-вторых, метод не способен учитывать возможные систематические ошибки. В-третьих, его применение оправдано только при наличии достаточно большого количества экспериментальных данных. Действительно, набор точек (x,y)(x,y), полученных в результате эксперимента, неизбежно содержит ошибки измерений, шум, выбросы и другие искажения. При большом объёме исходных данных можно использовать методы интегрирования, такие как оконная функция AVG(x) OVER (PARTITION BY mygroup), где mygroup — группа точек за определённый период (неделя, месяц, квартал и т.д.), что позволяет уменьшить влияние ошибок на конечный результат.

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





Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.




80

Лучшие статьи

Поделиться: 0 0 0