- •Метод наименьших квадратов (мнк)
- •Линейная регрессия
- •Поиск функций другого вида и линейная регрессия
- •Алгоритм выполнение задания
- •Задания
- •Методы оптимизации
- •Численные методы решения задач одномерной оптимизации
- •Метод Фибоначчи
- •Метод перебора
- •Метод дихотомии
- •Метод золотого сечения
- •Оптимизация полимодальных одномерных целевых функций. Метод ломаных
- •Методы минимизации функций многих переменных
- •Метод циклического покоординатного спуска
- •Метод прямого поиска Хука-Дживса
- •Алгоритм выполнение задания
- •Задания
- •Задача о коробках
- •Оптимальный контейнер
- •Пожарные ведра
- •Бункер для хранения зерна
- •Паромная переправа
- •Система восполняемых запасов сырья для производства товаров
- •Тушение лесного пожара
- •Прямоугольный бункер
- •Найти минимум одномерной функции в заданной области
- •Литература
Линейная регрессия
Рассмотрим реализацию МНК применительно к уравнению вида
y = ax + b.
Графическая иллюстрация линейной аппроксимации представлена на рисунке 1.
Рис.1. Аппроксимация экспериментальных данных (точки) линейной зависимостью
Для нахождения коэффициентов а, b искомой прямой необходимо минимизировать сумму квадратов расстояний yi по ординате от всех точек (хi, yi) до прямой. Цель - определить коэффициенты a и b таким образом, чтобы величина
приняла наименьшее значение.
Известно, что для поиска экстремумов гладких функций нескольких переменных нужно находить критические точки, т.е. те точки, в которых все частные производные функции равны нулю. В нашем случае необходимо решить следующую систему:
Это система двух линейных уравнений с двумя неизвестными a и b.
Перепишем ее в следующем виде:
Получим систему нормальных уравнений метода наименьших квадратов.
Введем стандартные в статистике обозначения для статистических моментов выборки:
Тогда наша система перепишется в следующем виде:
и может быть решена, например, методом Крамера, а именно,
.
Разберем пример нахождения наилучшей линейной функции.
Пусть зависимость задана таблицей
-
x
-3
-1
1
3
5
y
3
4
6
8
10
Для вычисления моментов Mx, My, Mxx, Mxy построим таблицу:
|
x |
y |
x2 |
xy |
|
-3 |
3 |
9 |
-9 |
|
-1 |
4 |
1 |
-4 |
|
1 |
6 |
1 |
6 |
|
3 |
8 |
9 |
24 |
|
5 |
10 |
25 |
50 |
Сумма |
5 |
31 |
45 |
67 |
Среднее значение (М) |
1 |
6,2 |
9 |
13,4 |
Отсюда получаем систему
9a+b=13,4
a+b=6,2,
из которой легко найти a=0,9, b=5,3.
Итак, наилучшая линейная функция имеет вид y=0,9x+5,3.
Упражнение. Проверьте, что, если исходные данные удовлетворяют линейной зависимости yi=а·xi+b, то и коэффициенты a и b, полученные при решении указанным методом, совпадут с исходными.
Поиск функций другого вида и линейная регрессия
При поиске функций другого вида задача сводится к рассмотренной выше задаче нахождения наилучшей линейной функции. Для этого производится замена переменных, которая подбирается таким образом, чтобы вновь полученная задача свелась к нахождению линейной зависимости. После применения описанной конструкции выполняется обратная замена. Так, например, при поиске коэффициентов аппроксимирующей функции y=1/(ax+b) для сведения задачи к линейной мы производим замену t =1/y, после которой задача сводится к нахождению наилучшей линейной функции t=ax+b. А коэффициенты, найденные при ее решении, и будут искомыми в первоначальной задаче. Тем самым, поиск наилучшей функции вида y=1/(ax+b) надо осуществлять так:
заменяем в исходной таблице переменную y на t, а все числа, записанные в нижней строке - на обратные;
для получившейся таблицы находим линейную зависимость;
получившиеся значения a и b берем без изменения.
Аналогичные действия мы производим при поиске наилучшей приближающей функции вида y = a·ln(x)+b. Замена, которую необходимо произвести для сведения к линейной задаче, в этом случае имеет вид u=ln(x). Таким образом, последовательность поиска наилучшей функции вида y= a·ln(x)+b следующая:
заменяем в исходной таблице переменную x на u, а все числа, записанные в верхней строке - на их логарифмы;
для получившейся таблицы находим линейную зависимость;
получившиеся значения a и b берем без изменения.
Упражнение. Провести подобные рассуждения и сформулировать способ решения задачи для функций вида y=aex.
Для того, чтобы найти наилучшую функцию вида y=txn, нужно прологарифмировать это соотношение. При этом получится ln(y)=ln(t)+n·ln(x), откуда и вытекает способ решения:
заменяем в исходной таблице переменную x на u=ln(x);
переменную y заменяем на ln(y), а все числа, записанные в таблице - на их логарифмы;
для получившейся таблицы находим коэффициенты a и b линейной зависимости;
по получившимся значениям a и b находим нужные нам коэффициенты, применяя формулы n=а, t=eb.
Упражнение. Провести подобные рассуждения и сформулировать способ решения задачи для функций вида y=ax2+bx+c.
