Методические указания: Метод наименьших квадратов
10 МЕТОД НАИМЕНЬШИХ КВАДРАТОВ
10.1 Постановка задачи
Рассмотрим один из методов, позволяющих проанализировать и обработать данные,
полученные в результате эксперимента (таблица 10.1). Пусть в результате
измерений получена таблица зависимости одной величины
от другой
Таблица 10.1
Необходимо найти формулу
, выражающую таблично заданную зависимость аналитически. Применение интерполяции
в данном случае нецелесообразно, т.к. значения
в узлах получены экспериментально и поэтому являются сомнительными (в ходе
эксперимента возникает неустранимая погрешность, обусловленная неточностью
измерений). Кроме того, совпадение значений в узлах не означает совпадения
характеров поведения исходной и интерполирующей функции. Поэтому необходимо
найти такой метод подбора эмпирической формулы, который не только позволяет
найти саму формулу, но и оценить погрешность подгонки.
Постановка задачи. Найдем функцию заданного вида
(10.1)
которая в точках
принимает значения как можно более близкие к табличным значениям
.
Практически вид приближающей функции можно определить визуально: по таблице
10.1 строится точечный график функции, а затем проводится кривая, по
возможности наилучшим образом отражающая характер расположения точек
(рис.10.1).
Рис.10.1
По полученной кривой устанавливается вид приближающей функции (обычно из
числа простых по виду аналитических функций: линейная, степенная,
экспоненциальная или показательная, логарифмическая, гипербола, дробно-
рациональная и т.д.).
Заметим, что формула (10.1), называемая эмпирической формулой или уравнением
регрессии на
, позволяет находить значения функции
для нетабличных значений
, «сглаживая» результаты измерений величины
.
Из рисунка 10.1 видно, что для каждого значения
экспериментальное и
расчетное значения
различаются на некоторую величину
, называемую абсолютной разностью. Потребовав, чтобы сумма квадратов абсолютных
разностей для всех точек была минимальной, найдем оптимальные параметры функции
: если выполняется условие
(10.2)
где , то считается, что функция подобрана наилучшим образом.
Рассмотрим все изложенное выше на примере линейной регрессии.
10.2 Линейная регрессия
Будем искать приближающую функцию в виде:
Абсолютная разность для определяется следующим образом:
формулу (10.2) перепишем в виде:
Рассматриваемая сумма является функцией с двумя параметрами
Задача сводится к отысканию минимума этой функции. Используем необходимое
условие экстремума:
т.е.
(10.3)
Решив систему двух уравнений с двумя неизвестными относительно параметров
и , получим
конкретный вид искомой функции
Опуская математические выкладки, запишем выражения для искомых параметров:
(10.4)
Рассчитав значение ,
получим величину среднеквадратичной ошибки рассматриваемого приближения.
Замечание: найденные значения
и определяют точку
экстремума .
Используя неравенство Коши-Буняковского можно доказать, что в этой точке
функция принимает минимальное значение (см. [2]).
Как видно из рассмотренного примера, изменение количества параметров не приведет
к искажению сущности самого подхода, изменится лишь количество уравнений в
системе (10.3) (для
параметров соответственно будет записано
уравнений).
10.3 Подбор эмпирических формул
Чтобы подобрать формулу, выражающую зависимость между двумя величинами, если
это зависимость найдена опытным путем, строят график этой зависимости.
Полученный график сравнивают по внешнему виду с графиками, построенными при
помощи известных формул. Формулы содержат небольшое число параметров
(коэффициенты, показатели степеней и т.д.), изменением которых можно в той
или иной степени менять вид кривой. Чтобы формула не оказалась слишком
сложной, число параметров не должно быть велико. Обычно берут два-три
параметра. При сравнении обращают внимание на наличие максимумов и минимумов,
поведение функции при больших и малых значениях аргумента, выпуклость кривой
вверх или вниз на отдельных участках и т.д. Выбрав среди известных графиков
подходящий, следует подобрать такие значения параметров в формуле, чтобы
разница между опытными значениями величины и значениями, найденными по
формуле, не превышала ошибок эксперимента. Если эта разница получается
слишком большой, берут другой подходящий график и повторяют попытку.
Ниже приведены наиболее употребимые формулы и соответствующие им графики.
10.3.1 Степенная зависимость (геометрическая регрессия)
Степенная зависимость имеет вид
(10.5)
Во всех случаях при
При в точке
кривая касается оси абсцисс. В этом случае, чем больше
, тем ближе подходит кривая к оси абсцисс при
и тем быстрее она возрастает при
При в точке
кривая касается оси ординат. При
кривая ближе подходит к оси ординат, чем к оси абсцисс, при
наоборот.
Рис. 10.2
График степенной зависимости
Покажем, как нахождение приближающей функции в виде геометрической регрессии
может быть сведено к нахождению параметров линейной функции. Предполагая, что в
исходной таблице 10.1 значения аргумента и функции положительны,
прологарифмируем равенство (10.5) при условии
(10.6)
Введем новую переменную
тогда будет
функцией от .
Обозначим тогда
равенство (10.6) примет вид:
т.е. задача свелась к отысканию приближающей функции в виде линейной.
Практически для нахождения приближающей функции в виде степенной (при
сделанных выше предположениях) необходимо проделать следующие операции:
1) по данной таблице 10.1 составить новую таблицу 10.2, прологарифмировав
значения и
в исходной таблице;
Таблица 10.1 | Таблица 10.2 | | |
2) по новой таблице 10.2 найти параметры и приближающей функции вида
3) используя примененные обозначения, найти значения параметров
и и подставить их в
выражение (10.5).
Окончательно получаем:
(10.7)
10.3.2 Показательная зависимость
Показательная зависимость имеет вид
(10.8)
Во всех случаях при
. Если то при
кривая растет с увеличением
тем быстрее, чем больше
При она
приближается к оси абсцисс с возрастанием
тем быстрее, чем больше абсолютная величина
Если найденная на опыте зависимость
от является
показательной, то график зависимости
от представляет
собой прямую линию, тангенс угла наклона которой равен параметру
Если значение при
неизвестно, то величину параметра
можно найти по формуле
для ряда значений а
затем взять среднее.
Рис. 10.3 График показательной функции
Найдем коэффициенты
и для исходной
таблицы 10.1, если известно, что приближающую функцию целесообразно искать в
виде показательной функции (10.8).
Прологарифмируем равенство (10.8) :
(10.9)
приняв обозначения перепишем (10.9) в виде:
(10.10)
Таким образом приближающая показательная функция нехитрыми преобразованиями
сведена к линейной, следовательно, для определения коэффициентов
и показательной
функции можно воспользоваться выведенной для линейной функции формулой (10.4).
Итак, для нахождения приближающей функции в виде (10.8) нужно
прологарифмировать значения функции в исходной таблице 10.1 и, рассматривая
их совместно с исходными значениями аргумента, построить для новой таблицы
10.3 приближающую функцию вида (10.10).
Таблица 10.1 | Таблица 10.3 | | |
Окончательно получаем:
(10.11)
Рис. 10.4
Замечание: формулам
(10.12)
(10.13)
соответствуют кривые, изображенные на рисунках 10.2 и 10.3, сдвинутые вверх или
вниз на величину .
Например, кривая, изображенная на рисунке 10.4, соответствует формуле
при и
Чтобы найти параметры этих формул, следует сначала определить значение
Иногда величину
можно легко найти по значению, к которому стремится
при возрастании
(при ) или по
значению при
(для формулы 10.12 при
). Можно также воспользоваться формулой
где и
— ординаты произвольных (но достаточно далеких) точек с абсциссами
,, а ордината
соответствует абсциссе
в случае формулы (10.12) и абсциссе
в случае формулы (10.13).
10.3.3 Дробно-линейная зависимость
Будем искать приближающую функцию в виде
(10.14)
Равенство (10.14) перепишем следующим образом:
Из последнего равенства следует, что для нахождения значений параметров
и по заданной
таблице 10.1 нужно составить новую таблицу 10.4, у которой значения аргумента
оставить прежними, а значения функции заменить обратными числами, после чего
для получения таблицы найти приближенную функцию вида
. Найденные значения параметров
и подставить в
формулу 10.14.
Таблица 10.1 | Таблица 10.4 | | |
Используя формулы, полученные для линейной регрессии (10.4), а также подстановку
, окончательно получим:
(10.15)
10.3.4 Дробно-рациональная функция
Приближающая функция имеет вид
(10.16)
Преобразуем ее к виду
если в исходной таблице 10.1 заменить значения
и обратными
величинами по формулам
и искать для новой таблицы 10.5 приближующую функцию в виде линейной
, то найденные значения
и будут искомыми
для формулы 10.16.
Рис. 10.5 Графики дробно-рациональной функции
Таблица 10.1 | Таблица 10.5 | | |
Выполнив все подстановки, получим
(10.17)
10.3.5 Логарифмическая функция
Будем искать приближающую функцию в виде
(10.18)
Для перехода к линейной функции достаточно выполнить подстановку
Отсюда следует, что для нахождения значений a и b нужно
прологарифмировать значения аргумента в исходной таблице 10.1 и для новой
таблицы 10.6 найти приближающую функцию в виде линейной y=at+b.
Коэффициенты a и b найденной функции подставить в формулу 10.14.
Таблица 10.4 | Таблица 10.6 | | |
Окончательно получим:
(10.19)
Рис.10.6 График логарифмической функции
10.3.6 Гиперболическая зависимость
Приближающая функция имеет вид
(10.20)
Для перехода к линейной функции сделаем подстановку . Получим
Перед нахождением приближающей функции вида 10.20 значения аргумента в
исходной таблице 10.1 необходимо заменить обратными числами и найти для новой
таблицы 10.7 приближающую функцию в виде линейной регрессии (10.4).
Рис. 10.7 График гиперболической функции
Таблица 10.1 | Таблица 10.7 | | |
Окончательно получим
(10.21)
10.4 Пример поиска приближающей функции методом наименьших квадратов
Построим приближающую функцию методом наименьших квадратов для зависимости,
заданной таблицей.
x | 1,1 | 1,7 | 2,4 | 3,0 | 3,7 | 4,5 | 5,1 | 5,8 | f(x) | 0,3 | 0,6 | 1,1 | 1,7 | 2,3 | 3,0 | 3,8 | 4,6 |
Точечный график изображен на рисунке 10.8. Вид приближающей кривой не очевиден,
поэтому рассмотрим два способа приближения заданной функции: в виде прямой
и в виде степенной функции
После нахождения значений параметров
и m найдем суммы квадратов уклонений (10.2) и по их значениям установим
какое из двух приближений лучше.
Рис. 10.8
ввод данных да нет печать Рис.10.9 | Значения параметров k, b линейной функции находятся из системы вида 10.4. Блок-схема расчета параметров линейной регрессии приведена на рисунке 10.9. В блок-схеме используются следующие обозначения: Замечание: приведенная блок-схема позволяет рассчитать лишь значения параметров линейной регрессии, но не дает величины средней квадратичной ошибки (блок-схему для расчета величины читателю предлагаем составить самостоятельно). |
Проделав необходимые вычисления, получаем:
Т.е. приближающее линейное уравнение запишется в виде
Для нахождения параметров c и m степенной функции воспользуемся
формулой (10.7). Составив соответствующую программу для ЭВМ, получим:
Таким образом, уравнение степенной регрессии имеет вид
Как видно, сумма квадратов абсолютных погрешностей для линейной функции
составляет , для
степенной функции —
Видно, что приближение в виде степенной функции в данном случае
предпочтительнее.
Для решения задачи приближения функции методом наименьших квадратов
сформулируем основные шаги алгоритма.
1. Ввод исходных данных.
2. Выбор вида уравнения регрессии.
3. Преобразование данных к линейному типу зависимости.
4. Получение параметров уравнения регрессии.
5. Обратное преобразование данных и вычисление суммы квадратов
отклонений вычисленных значений функции от заданных.
1. Вывод результатов.
10.5 Контрольные вопросы
1. В чем суть приближения таблично заданной функции по методу
наименьших квадратов? Чем отличается этот метод от метода интерполяции?
2. Каким образом сводится задача построения приближающих функций в виде
различных элементарных функций к случаю линейной функции?
3. В чем состоит основная идея метода наименьших квадратов?
4. Почему используется принцип минимума суммы квадратов абсолютных величин, а
не суммы самих абсолютных величин? Ответ обосновать и подтвердить примерами.
5. Почему метод наименьших квадратов наиболее эффективен, если функция f(x)
линейна относительно искомых параметров?
10.6 Задания к лабораторной работе № 10
1. Методом наименьших квадратов вывести формулы для параметров
и и
приближающей квадратичной функции:
2. Построить точечный график по заданной таблице
варианты заданий указаны в таблице 10.8). Подобрать наиболее подходящие по
внешнему виду приближающие функции. После нахождения значений параметров каждой
из приближающих функций найти суммы квадратов абсолютных значений по формуле
(10.2) и по их значениям установить, какое из приближений лучше. На том же
чертеже построить графики рассчитанных приближающих функций.
В оформленной работе должны быть приведены все графики, составленные
алгоритмы или блок-схемы, тексты программ и результаты расчетов, ответы на
контрольные вопросы.
Таблица 10.8
Вариант | Результаты опыта | 1 | x | 0,0 | 0,5 | 1,0 | 11,5 | 2,0 | 2,5 | | y | -13,65 | -5,77 | -0,07 | 6,95 | 12,05 | 18,97 | | x | 3,0 | 3,5 | 4,0 | 4,5 | 5,0 | 5,5 | | y | 25,67 | 31,57 | 38,44 | 46,20 | 51,33 | 58,83 | 2 | x | 0,0 | 0,5 | 1,0 | 1,5 | 2,0 | 2,5 | | y | 15,65 | 183,47 | 2226,27 | 27121,09 | 330398 | 4025059 | 3 | x | 0,0 | 0,5 | 1,0 | 1,5 | 2,0 | 2,5 | | y | 10,652 | 10,730 | 10,074 | 10,455 | 10,951 | 10,532 | | x | 3,0 | 3,5 | 4,0 | 4,5 | 5,0 | 5,5 | | y | 10,310 | 10,934 | 10,564 | 10,703 | 10,667 | 10,334 | 4 | x | -4,0 | -3,5 | -3,0 | -2,5 | -2,0 | -1,5 | | y | 7,49 | 6,95 | 5,95 | 5,93 | 5,42 | 4,99 | | x | -1,0 | -0,5 | 0,0 | 0,5 | 1,0 | 1,5 | | y | 4,45 | 3,90 | 3,85 | 2,91 | 2,41 | 1,40 | 5 | x | 0 | 1 | 2 | 3 | 4 | 5 | | y | 0,129 | | | | | | | x | 6 | 7 | 8 | 9 | 10 | | | y | | | | | | | 6 | x | -5,0 | -4,5 | -4,0 | -3,5 | -3,0 | -2,5 | | y | 54,98 | 45,52 | 37,00 | 29,53 | 23,00 | 17,53 | | x | -2,0 | -1,5 | -1,0 | -0,5 | 0 | 0,5 | | y | 12,97 | 9,49 | 7,034 | 5,50 | 4,98 | 5,32 | 7 | x | 10 | 12 | 14 | 16 | 18 | 20 | | y | 29,5885 | 29,5880 | 29,6747 | 29,6869 | 29,7484 | 29,7223 | | x | 22 | 24 | 26 | 28 | 30 | 32 | | y | 29,7710 | 29,8260 | 29,8100 | 29,8038 | 29,8554 | 29,8885 | 8 | x | 1,0 | 1,2 | 1,4 | 1,6 | 1,8 | 2,0 | | y | 3,875 | 3,640 | 3,475 | 3,363 | 3,260 | 3,195 | | x | 2,2 | 2,4 | | | | | | y | 3,125 | 3,072 | | | | | 9 | x | 0,2 | 0,4 | 0,6 | 0,8 | 1,0 | 1,2 | | y | 2,617 | 1,893 | 1,659 | 1,347 | 1,888 | 1,698 | | x | 1,4 | 1,6 | | | | | | y | 1,323 | 1,127 | | | | | 10 | x | -5,0 | -4,1 | -3,2 | -2,3 | -1,4 | -0,5 | | y | -45,03 | -35,99 | -27,04 | -18,00 | -8,99 | -0,01 | | x | 0,4 | | | | | | | y | 8,98 | | | | | | 11 | x | 1,0 | 1,2 | 1,4 | 1,6 | 1,8 | 2,0 | | y | 9,35 | 8,48 | 7,74 | 7,30 | 6,84 | 6,61 | | x | 2,2 | 2,4 | | | | | | y | 6,28 | 6,13 | | | | | 12 | x | 0,9 | 1,1 | 1,3 | 1,5 | 1,7 | 1,9 | | y | 8,48 | 7,23 | 6,35 | 5,71 | 5,22 | 4,84 | | x | 2,1 | 2,3 | | | | | | y | 4,52 | 4,26 | | | | | 13 | x | 0,4 | 0,7 | 1,0 | 1,3 | 1,6 | 1,9 | | y | 8,481 | 5,382 | 4,153 | 3,480 | 3,069 | 2,777 | | x | 2,2 | 2,5 | | | | | | y | 2,571 | 2,418 | | | | | 14 | x | 2 | 3 | 4 | 5 | 6 | 7 | | y | 8,15 | 13,45 | 22,17 | 36,55 | 60,26 | 99,35 | | x | 8 | 9 | 10 | 11 | 12 | | | y | 163,79 | 270,05 | 445,24 | 734,08 | 1210,286 | | 15 | x | 2 | 3 | 4 | 5 | 6 | 7 | | y | 0,967 | 1,346 | 1,872 | 2,604 | 3,621 | 5,037 | | x | 8 | 9 | 10 | 11 | 12 | | | y | 7,010 | 9,75 | 13,56 | 18,86 | 26,24 | | 16 | x | 2 | 3 | 4 | 5 | 6 | 7 | | y | 37,52 | 22,76 | 13,80 | 8,37 | 5,08 | 3,08 | | x | 8 | 9 | 10 | 11 | 12 | | | y | 1,87 | 1,13 | 0,68 | 0,41 | 0,25 | | 17 | x | 2 | 3 | 4 | 5 | 6 | 7 | | y | 12,21 | 13,498 | 14,918 | 16,487 | 18,220 | 20,137 | | x | 8 | 9 | 10 | 11 | 12 | | | y | 22,255 | 24,596 | 27,183 | 30,040 | 33,200 | | 18 | x | 2 | 3 | 4 | 5 | 6 | 7 | | y | 0,967 | 1,346 | 1,872 | 2,604 | 3,621 | 5,037 | | x | 8 | 9 | 10 | 11 | 12 | | | y | 7,010 | 9,75 | 13,56 | 18,86 | 26 | 24 | 19 | x | 0 | 1 | 2 | 3 | 4 | 5 | | y | 0 | 2,0 | 2,297 | 2,491 | 2,639 | 2,759 | | x | 6 | 7 | 8 | 9 | 10 | 11 | | y | 2,861 | 2,95511 | 3,031 | 3,104 | 3,169 | 3,231 | 20 | x | 0 | 1 | 2 | 3 | 4 | 5 | | y | 0 | 10,00 | 14,114 | 17,32 | 20,00 | 22,36 | | x | 6 | 7 | 8 | 9 | 10 | 11 | | y | 24,49 | 26,45 | 28,28 | 30,00 | 31,62 | 33,16 | 21 | x | 1 | 2 | 3 | 4 | 5 | 6 | | y | 1,0 | 0,707 | 0,577 | 0,500 | 0,447 | 0,408 | | x | 7 | 8 | 9 | 10 | 11 | 12 | | y | 0,377 | 0,353 | 0,333 | 0,316 | 0,301 | 0,288 | 22 | x | 1 | 2 | 3 | 4 | 5 | 6 | | y | 10 | 9,33 | 8,95 | 8,70 | 8,51 | 8,36 | | x | 7 | 8 | 9 | 10 | 11 | 12 | | y | 8,23 | 8,12 | 8,03 | 7,94 | 7,86 | 7,80 | 23 | x | 1 | 2 | 3 | 4 | 5 | 6 | | y | -2,00 | -3,38 | -4,19 | -4,77 | -5,22 | -5,58 | | x | 7 | 8 | 9 | 10 | 11 | 112 | | y | -5,89 | -6,16 | -6,39 | -6,60 | -6,79 | -6,96 | 24 | x | 1 | 2 | 3 | 4 | 5 | 6 | | y | 5,50 | 5,25 | 5,16 | 5,112 | 5,10 | 5,08 | | x | 7 | 8 | 9 | 10 | 11 | 12 | | y | 5,07 | 5,07 | 5,05 | 5,05 | 5,04 | 5,04 | 25 | x | 1 | 2 | 3 | 4 | 5 | 6 | | y | 0,17 | 0,25 | 0,30 | 0,33 | 0,36 | 0,37 | | x | 7 | 8 | 9 | 10 | 11 | 12 | | y | 0,39 | 0,40 | 0,41 | 0,42 | 0,42 | 0,43 |
|