· теоретическая и практическая обоснованность метода;
· общий подход ко многим задачам. Используя разные функции
, можно получить решения для разных задач;· устойчивые решения, нет проблем с локальными минимумами;
· не подвержен проблеме overfitting[2];
· работает в любом количестве измерений.
Недостатками метода являются:
· невысокая производительность по сравнению с более простыми методами;
· отсутствие общих рекомендаций по подбору параметров и выбору ядра;
· побочные эффекты нелинейных преобразований;
· сложности с интерпретацией результата.
Собрав вместе все сказанное выше для задачи регрессии, мы получим следующую схему:
После того, как модель построена и произведено предсказание всех данных (сейчас мы имеем дело только с обучающей выборкой, и поэтому знаем действительные значения), необходимо снять метрики, насколько точно предсказанные значения соотносятся с имеющимися действительными значениями. Для этого снимается и строится несколько метрик.
Для визуального анализа полученных результатов делается построение невязок в процентном масштабе: по оси абсцисс откладывается действительное значение, а по оси откладывается в процентном масштабе отклонение предсказываемого значения от действительного. Ниже на картинке показан пример такого построения:
Корень из среднеквадратичной ошибки (Root Mean Squared Error) и Средняя абсолютная ошибка (Mean Absolute Error) обычно используются для описания качества регрессионной модели. Различные статистики могут также зависить от регрессионной модели и используемых алгоритмов.
Root Mean Squared Error (RMSE) описывается формулой:
SQL представление для подсчета RMSE:
SQRT(AVG((predicted_value - actual_value) * (predicted_value - actual_value))) Mean Absolute Error (MAE) описывается формулой:SQL представление для подсчета MAE:
AVG(ABS(predicted_value - actual_value))Ниже показан пример подсчета такой статистики для одной из задач:
Predictive confidence (достоверность предсказания).
Достоверность предсказания описывает доверительные интервалы предсказанного значения, в которые попадает действительное значение. Так, если модель предсказала значение $100,000 с достоверностью 95%, это означает, что значение лежит в промежутке между $95,000 и $105,000.
Ниже показан пример predictive confidence:
Таким образом, с помощью этих инструментов мы можем делать выводы о качестве модели.
На практике часто встречается ситуация, когда на проекте внедряется сразу несколько модулей, имеющих различную стоимость, или LOE. При этом суммарная стоимость может как возрастать, так и убывать в зависимости от типов модулей и их количества. В данной задаче рассматривается случай внедрения четырех модулей со стоимостями loe1, loe2, loe3, loe4. Без ограничения общности можем предположить, что loe1 ≥ loe2 ≥ loe3 ≥ loe4; во всяком случае, мы всегда может их упорядочить по возрастанию.
Выберем для суммарной стоимости модельную функцию f, описываемую формулой:
.Мы хотим посмотреть, как точно будет предсказываться поведение такой функции с помощью выбранного нами инструмента.
Для решения задачи сгенерируем порядка ста случайных чисел для loeX, вычислим функцию f, и вставим это все в таблицу базы данных. В приложении имеется соответствующая таблица.
После проведения расчетов указанным способом получим таблицу с результатами предсказаний (показаны начало и конец таблицы).
F | PREDICTION | df/f, % | ID | LOE1 | LOE2 | LOE3 | LOE4 |
198 | 191.25 | 3.409 | 97 | 26 | 50 | 25 | 84 |
153 | 148.124 | 3.187 | 3 | 57 | 48 | 22 | 24 |
90 | 92.785 | 3.095 | 55 | 2 | 43 | 15 | 30 |
112 | 114.784 | 2.486 | 78 | 51 | 25 | 9 | 22 |
… | … | … | … | … | … | … | … |
264 | 263.898 | 0.039 | 89 | 47 | 4 | 137 | 65 |
209 | 209.075 | 0.036 | 37 | 103 | 10 | 29 | 56 |
277 | 276.942 | 0.021 | 50 | 104 | 55 | 66 | 42 |
Видно, что самое неточное предсказание не превышает 3,5%.
Все те же результаты на графике Residual Plot:
Ошибки величиной в несколько процентов в этом примере вызваны частично округлением (функция f округлялась до ближайшего целого).
Теперь метрики Root Mean Squared Error и Mean Absolute Error:
И метрики Predictive confidence:
Видно, что способ предсказал достаточно точные результаты, ошибки которых вызваны, вероятно, погрешностью округления.
Еще интересно рассмотреть задачу, приближенную к реальным условиям. Допустим, что у нас есть множество клиентов, которым мы задаем вопросы относительно их инфраструктуры. Далее ответы мы считаем нашими входными характеристиками (или атрибутами). В нашем WBS будут осмысленные числа, реально касающиеся заказчика, и один очевидно малозначимый атрибут (количество чашек чая, выпиваемого в день специалистам, работающими на проекте).
Вот описание этих атрибутов:
1. Начиная со скольких источников данных необходимо осуществить миграцию (Migration from only the following data sources needs to be quoted)
{ num_of_data_sources (max 18) }
2. Приблизительное число сущностей, приходящихся на один источник данных (List briefly distinct entities which are stored in one data source)
{ num_entity_per_ds (max 100) }
3. Среднее число атрибутов и FK на одну сущность (Assessed by a number of attributes and foreigh keys per entity) { num_attr_and_fk_per_ent (max 25) }
4. Среднее качество данных (Expect quality of the data) – High, Medium, Poor.
{ quality_of_input_data : H, M, P }
5. Среднее количество ордеров, приходящих в день (Average number of orders per day)
{ num_of_orders_per_day (max 2 000) }
6. Количество одновременно использующих систему пользователей (Number of concurrent users which actually use the system)
{ num_of_concurrent_users (max 3 000) }
7. Сколько сетевых тревог случается в сети за день (How many network alarms happen in network per day) { network_alarms_per_day (max 1 000) }
8. Сколько чашек чая выпивается за день { cup_of_tea_per_day (max 150) }
Положим следующую модельную функцию зависимости количества работ от этих атрибутов:
Теперь решим обе эти задачи. Для этого сгенерируем порядка ста тестовых данных (различных наборов атрибутов), вычислим функцию f, и вставим это все в таблицу базы данных. В приложении имеется соответствующая таблица с данными.
Задача выбора наиболее значимых атрибутов является важной на этапе выбора ключевых с целью улучшения результатов и увеличения производительности.
Для таблицы, содержащей сгенерированные данные, построим с помощью алгоритма Minimum Description Length графически значимость атрибутов.