Метод наименьших квадратов в Excel. Регрессионный анализ

КУРСОВАЯ РАБОТА

по дисциплине: Информатика

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

Введение

1. Постановка задачи

2. Расчётные формулы

Расчёт с помощью таблиц, выполненных средствами Microsoft Excel

Схема алгоритма

Расчет в программе MathCad

Результаты, полученные с помощью функции Линейн

Представление результатов в виде графиков

Введение

Целью курсовой работы является углубление знаний по информатике, развитие и закрепление навыков работы с табличным процессором Microsoft Excel и программным продуктом MathCAD и применение их для решения задач с помощью ЭВМ из предметной области, связанной с исследованиями.

Аппроксимация (от латинского "approximare" -"приближаться") - приближенное выражение каких-либо математических объектов (например, чисел или функций) через другие более простые, более удобные в пользовании или просто более известные. В научных исследованиях аппроксимация применяется для описания, анализа, обобщения и дальнейшего использования эмпирических результатов.

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

При изучении количественных зависимостей различных показателей, значения которых определяются эмпирически, как правило, имеется некоторая их вариабельность. Частично она задается неоднородностью самих изучаемых объектов неживой и, особенно, живой природы, частично - обуславливается погрешностью наблюдения и количественной обработке материалов. Последнюю составляющую не всегда удается исключить полностью, можно лишь минимизировать ее тщательным выбором адекватного метода исследования и аккуратностью работы. Поэтому при выполнении любой научно-исследовательской работы возникает проблема выявления подлинного характера зависимости изучаемых показателей, этой или иной степени замаскированных неучтенностью вариабельности: значений. Для этого и применяется аппроксимация - приближенное описание корреляционной зависимости переменных подходящим уравнением функциональной зависимости, передающим основную тенденцию зависимости (или ее "тренд").

При выборе аппроксимации следует исходить из конкретной задачи исследования. Обычно, чем более простое уравнение используется для аппроксимации, тем более приблизительно получаемое описание зависимости. Поэтому важно считывать, насколько существенны и чем обусловлены отклонения конкретных значений от получаемого тренда. При описании зависимости эмпирически определенных значений можно добиться и гораздо большей точности, используя какое-либо более сложное, много параметрическое уравнение. Однако нет никакого смысла стремиться с максимальной точностью передать случайные отклонения величин в конкретных рядах эмпирических данных. Гораздо важнее уловить общую закономерность, которая в данном случае наиболее логично и с приемлемой точностью выражается именно двухпараметрическим уравнением степенной функции. Таким образом, выбирая метод аппроксимации, исследователь всегда идет на компромисс: решает, в какой степени в данном случае целесообразно и уместно «пожертвовать» деталями и, соответственно, насколько обобщенно следует выразить зависимость сопоставляемых переменных. Наряду с выявлением закономерностей, замаскированных случайными отклонениями эмпирических данных от общей закономерности, аппроксимация позволяет также решать много других важных задач: формализовать найденную зависимость; найти неизвестные значения зависимой переменной путем интерполяции или, если это допустимо, экстраполяции.

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

1. Постановка задачи

1. Используя метод наименьших квадратов функцию , заданную таблично, аппроксимировать:

а) многочленом первой степени ;

б) многочленом второй степени ;

в) экспоненциальной зависимостью .

Для каждой зависимости вычислить коэффициент детерминированности.

Вычислить коэффициент корреляции (только в случае а).

Для каждой зависимости построить линию тренда.

Используя функцию ЛИНЕЙН вычислить числовые характеристики зависимости от .

Сравнить свои вычисления с результатами, полученными при помощи функции ЛИНЕЙН.

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

Написать программу на одном из языков программирования и сравнить результаты счета с полученными выше.

Вариант 3. Функция задана табл. 1.

Таблица 1.


2. Расчётные формулы

Часто при анализе эмпирических данных возникает необходимость найти функциональную зависимость между величинами x и y, которые получены в результате опыта или измерений.

Хi (независимая величина) задается экспериментатором, а yi , называемая эмпирическими или опытными значениями получается в результате опыта.

Аналитический вид функциональной зависимости, существующей между величинами x и y обычно неизвестен, поэтому возникает практически важная задача - найти эмпирическую формулу

, (1)

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

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

Используя необходимое условие экстремума функции нескольких переменных - равенство нулю частных производных, находят набор коэффициентов , которые доставляют минимум функции, определяемой формулой (2) и получают нормальную систему для определения коэффициентов :

(3)

Таким образом, нахождение коэффициентов сводится к решению системы (3).

Вид системы (3) зависит от того, из какого класса эмпирических формул мы ищем зависимость (1). В случае линейной зависимости система (3) примет вид:

(4)

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

(5)

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

где a1и a2 неопределенные коэффициенты.

Линеаризация достигается путем логарифмирования равенства (6), после чего получаем соотношение

(7)

Обозначим и соответственно через и , тогда зависимость (6) может быть записана в виде , что позволяет применить формулы (4) с заменой a1 на и на .

График восстановленной функциональной зависимости y(x) по результатам измерений (xi, yi), i=1,2,…,n называется кривой регрессии. Для проверки согласия построенной кривой регрессии с результатами эксперимента обычно вводят следующие числовые характеристики: коэффициент корреляции (линейная зависимость), корреляционное отношение и коэффициент детерминированности.

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

Коэффициент корреляции вычисляется по формуле:

(8)

(9)

где - среднее арифметическое значение соответственно по x, y.

Коэффициент корреляции между случайными величинами по абсолютной величине не превосходит 1. Чем ближе к 1, тем теснее линейная связь между x и y.

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

Корреляционное отношение вычисляется по формуле:

(10)

где а числитель характеризует рассеяние условных средних около безусловного среднего.

Всегда. Равенство = соответствует случайным некоррелированным величинам; = тогда и только тогда, когда имеется точная функциональная связь между x и y. В случае линейной зависимости y от x корреляционное отношение совпадает с квадратом коэффициента корреляции. Величина используется в качестве индикатора отклонения регрессии от линейной.

Корреляционное отношение является мерой корреляционной связи y c x в какой угодно форме, но не может дать представления о степени приближенности эмпирических данных к специальной форме. Чтобы выяснить насколько точно построен5ная кривая отражает эмпирические данные вводится еще одна характеристика - коэффициент детерминированности.

Коэффициент детерминированности определяется по формуле:

где Sост = - остаточная сумма квадратов, характеризующая отклонение экспериментальных данных от теоретических.полн - полная сумма квадратов, где среднее значение yi.

- регрессионная сумма квадратов, характеризующая разброс данных.

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

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

3. Расчёт с помощью таблиц, выполненных средствами Microsoft Excel

Для проведения расчётов данные целесообразно расположить в виде таблицы 2, используя средства табличного процессора Microsoft Excel.

Таблица 2












Поясним, как таблица 2 составляется.

Шаг 1.В ячейки А1:A25 заносим значения xi.

Шаг 2.В ячейки B1:B25 заносим значения уi.

Шаг 3.В ячейку С1 вводим формулу=А1^2.

Шаг 4.В ячейки С1:С25 эта формула копируется.

Шаг 5.В ячейку D1 вводим формулу=А1*B1.

Шаг 6.В ячейки D1:D25 эта формула копируется.

Шаг 7.В ячейку F1 вводим формулу=А1^4.

Шаг 8.В ячейки F1:F25 эта формула копируется.

Шаг 9.В ячейку G1 вводим формулу=А1^2*B1.

Шаг 10.В ячейки G1:G25 эта формула копируется.

Шаг 11.В ячейку H1 вводим формулу = LN(B1).

Шаг 12.В ячейки H1:H25 эта формула копируется.

Шаг 13.В ячейку I1 вводим формулу=А1*LN(B1).

Шаг 14.В ячейки I1:I25 эта формула копируется.

Последующие шаги делаем с помощью автосуммирования S.

Шаг 15. В ячейку А26 вводим формулу = СУММ(А1:А25).

Шаг 16. В ячейку В26 вводим формулу = СУММ(В1:В25).

Шаг 17. В ячейку С26 вводим формулу = СУММ(С1:С25).

Шаг 18. В ячейку D26 вводим формулу = СУММ(D1:D25).

Шаг 19. В ячейку E26 вводим формулу = СУММ(E1:E25).

Шаг 20. В ячейку F26 вводим формулу = СУММ(F1:F25).

Шаг 21. В ячейку G26 вводим формулу = СУММ(G1:G25).

Шаг 22. В ячейку H26 вводим формулу = СУММ(H1:H25).

Шаг 23. В ячейку I26 вводим формулу = СУММ(I1:I25).

Аппроксимируем функцию линейной функцией . Для определения коэффициентов и воспользуемся системой (4). Используя итоговые суммы таблицы 2, расположенные в ячейках A26, B26, C26 и D26, запишем систему (4) в виде

(11)

решив которую, получим и .

Систему решали методом Крамера. Суть которого состоит в следующем. Рассмотрим систему n алгебраических линейных уравнений с n неизвестными:

(12)

Определителем системы называется определитель матрицы системы:

(13)

Обозначим - определитель, который получится из определителя системы Δ заменой j-го столбца на столбец

Таким образом, линейная аппроксимация имеет вид

Решение системы (11) проводим, пользуясь средствами Microsoft Excel. Результаты представлены в таблице 3.

Таблица 3











Обратная матрица






В таблице 3 в ячейках A32:B33 записана формула {=МОБР(А28:В29)}.

В ячейках Е32:Е33 записана формула {=МУМНОЖ(А32:В33),(C28:С29)}.

Далее аппроксимируем функцию квадратичной функцией . Для определения коэффициентов a1, a2 и a3 воспользуемся системой (5). Используя итоговые суммы таблицы 2, расположенные в ячейках A26, B26, C26 , D26, E26, F26, G26 запишем систему (5) в виде

(16)

решив которую, получим a1=10,663624, и

Таким образом, квадратичная аппроксимация имеет вид

Решение системы (16) проводим, пользуясь средствами Microsoft Excel. Результаты представлены в таблице 4.

Таблица 4














Обратная матрица







В таблице 4 в ячейках А41:С43 записана формула {=МОБР(А36:С38)}.

В ячейках F41:F43 записана формула {=МУМНОЖ(А41:C43),(D36:D38)}.

Теперь аппроксимируем функцию экспоненциальной функцией . Для определения коэффициентов и прологарифмируем значения и, используя итоговые суммы таблицы 2, расположенные в ячейках A26, C26, H26 и I26, получим систему

(18)

Решив систему (18), получим и .

После потенцирования получим .

Таким образом, экспоненциальная аппроксимация имеет вид

Решение системы (18) проводим, пользуясь средствами Microsoft Excel. Результаты представлены в таблице 5.

Таблица 5











Обратная матрица




В ячейках А50:В51 записана формула {=МОБР(А46:В47)}.

В ячейках Е49:Е50 записана формула {=МУМНОЖ(А50:В51),(С46:С47)}.

В ячейке Е51 записана формула=EXP(E49).

Вычислим среднее арифметическое и по формулам:

Результаты расчета и средствами Microsoft Excel представлены в таблице 6.

Таблица 6



В ячейке В54 записана формула=А26/25.

В ячейке В55 записана формула=В26/25

Таблица 7


Шаг 1.В ячейку J1 вводим формулу = (А1-$B$54)*(B1-$B$55).

Шаг 2.В ячейки J2:J25 эта формула копируется.

Шаг 3.В ячейку K1 вводим формулу = (А1-$B$54)^2.

Шаг 4.В ячейки k2:K25 эта формула копируется.

Шаг 5.В ячейку L1 вводим формулу = (B1-$B$55)^2.

Шаг 6.В ячейки L2:L25 эта формула копируется.

Шаг 7.В ячейку M1 вводим формулу = ($E$32+$E$33*A1-B1)^2.

Шаг 8.В ячейки M2:M25 эта формула копируется.

Шаг 9.В ячейку N1 вводим формулу = ($F$41+$F$42*A1+$F$43*A1^2-B1)^2.

Шаг 10.В ячейки N2:N25 эта формула копируется.

Шаг 11.В ячейку O1 вводим формулу = ($E$51*EXP($E$50*A1)-B1)^2.

Шаг 12.В ячейки O2:O25 эта формула копируется.

Последующие шаги делаем с помощью авто суммирования S.

Шаг 13.В ячейку J26 вводим формулу = CУММ(J1:J25).

Шаг 14.В ячейку K26 вводим формулу = CУММ(K1:K25).

Шаг 15.В ячейку L26 вводим формулу = CУММ(L1:L25).

Шаг 16.В ячейку M26 вводим формулу = CУММ(M1:M25).

Шаг 17.В ячейку N26 вводим формулу = CУММ(N1:N25).

Шаг 18.В ячейку O26 вводим формулу = CУММ(O1:O25).

Теперь проведем расчеты коэффициента корреляции по формуле (8) (только для линейной аппроксимации) и коэффициента детерминированности по формуле (10). Результаты расчетов средствами Microsoft Excel представлены в таблице 8.

Таблица 8


Коэффициент корреляции

Коэффициент детерминированности (линейная аппроксимация)



Коэффициент детерминированности (квадратичная аппроксимация)



Коэффициент детерминированности (экспоненциальная аппроксимация)



В ячейке E57 записана формула=J26/(K26*L26)^(1/2).

В ячейке E59 записана формула=1-M26/L26.

В ячейке E61 записана формула=1-N26/L26.

В ячейке E63 записана формула=1-O26/L26.

Анализ результатов расчетов показывает, что квадратичная аппроксимация наилучшим образом описывает экспериментальные данные.

Схема алгоритма

Рис. 1. Схема алгоритма для программы расчёта.

5. Расчет в программе MathCad

Линейная регрессия

· line (x, y) - вектор из двух элементов (b, a) коэффициентов линейной регрессии b+ax;

· x - вектор действительных данных аргумента;

· y - вектор действительных данных значений того же размера.

Рисунок 2.

Полиномиальная регрессия означает приближение данных (х1, у1) полиномом k-й степени При k=i полином является прямой линией, при k=2 - параболой, при k=3 - кубической параболой и т.д. Как правило, на практике применяются k<5.

· regress (x,y,k) - вектор коэффициентов для построения полиномиальной регрессии данных;

· interp (s,x,y,t) - результат полиномиальной регрессии;

· s=regress(x,y,k);

· x - вектор действительных данных аргумента, элементы которого расположены в порядке возрастания;

· y - вектор действительных данных значений того же размера;

· k - степень полинома регрессии (целое положительное число);

· t - значение аргумента полинома регрессии.

Рисунок 3

Кроме рассмотренных, в Mathcad встроено еще несколько видов трехпараметрической регрессии, их реализация несколько отличается от приведенных выше вариантов регрессии тем, что для них, помимо массива данных, требуется задать некоторые начальные значения коэффициентов a, b, c. Используйте соответствующий вид регрессии, если хорошо представляете себе, какой зависимостью описывается ваш массив данных. Когда тип регрессии плохо отражает последовательность данных, то ее результат часто бывает неудовлетворительным и даже сильно различающимся в зависимости от выбора начальных значений. Каждая из функций выдает вектор уточненных параметров a, b, c.

Результаты, полученные с помощью функции ЛИНЕЙН

Рассмотрим назначение функции ЛИНЕЙН.

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

Функция возвращает массив, который описывает полученную прямую. Уравнение для прямой линии имеет следующий вид:

M1x1 + m2x2 + ... + b или y = mx + b,

алгоритм табличный microsoft программный

где зависимое значение y является функцией независимого значения x. Значения m - это коэффициенты, соответствующие каждой независимой переменной x, а b - это постоянная. Заметим, что y, x и m могут быть векторами.

Для получения результатов необходимо создать табличную формулу, которая будет занимать 5 строк и 2 столбца. Этот интервал может располагаться в произвольном месте на рабочем листе. В этот интервал требуется ввести функцию ЛИНЕЙН.

В результате должны заполниться все ячейки интервала А65:В69 (как показано в таблице 9).

Таблица 9.



Поясним назначение некоторых величин, расположенных в таблице 9.

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

Представление результатов в виде графиков

Рис. 4. График линейной аппроксимации

Рис. 5. График квадратичной аппроксимации

Рис. 6. График экспоненциальной аппроксимации

Выводы

Сделаем выводы по результатам полученных данных.

Анализ результатов расчетов показывает, что квадратичная аппроксимация наилучшим образом описывает экспериментальные данные, т.к. линия тренда для неё наиболее точно отражает поведение функции на данном участке.

Сравнивая результаты, полученные при помощи функции ЛИНЕЙН, видим, что они полностью совпадают с вычислениями, проведенными выше. Это указывает на то, что вычисления верны.

Результаты, полученные с помощью программы MathCad, полностью совпадают со значениями приведенными выше. Это говорит о верности вычислений.

Список используемой литературы

1 Б.П. Демидович, И.А. Марон. Основы вычислительной математики. М: Государственное издательство физико-математической литературы.

2 Информатика: Учебник под ред. проф. Н.В. Макаровой. М: Финансы и статистика, 2007.

3 Информатика: Практикум по технологии работы на компьютере под ред. проф. Н.В. Макаровой. М: Финансы и статистика, 2010.

4 В.Б. Комягин. Программирование в Excel на языке Visual Basic. М: Радио и связь, 2007.

5 Н. Николь, Р. Альбрехт. Excel. Электронные таблицы. М: Изд. «ЭКОМ», 2008.

6 Методические указания к выполнению курсовой работы по информатике (для студентов заочного отделения всех специальностей), под ред. Журова Г. Н., СПбГГИ(ТУ), 2011.

Которое находит самое широкое применение в различных областях науки и практической деятельности. Это может быть физика, химия, биология, экономика, социология, психология и так далее, так далее. Волею судьбы мне часто приходится иметь дело с экономикой, и поэтому сегодня я оформлю вам путёвку в удивительную страну под названием Эконометрика =) …Как это не хотите?! Там очень хорошо – нужно только решиться! …Но вот то, что вы, наверное, определённо хотите – так это научиться решать задачи методом наименьших квадратов . И особо прилежные читатели научатся решать их не только безошибочно, но ещё и ОЧЕНЬ БЫСТРО;-) Но сначала общая постановка задачи + сопутствующий пример:

Пусть в некоторой предметной области исследуются показатели , которые имеют количественное выражение. При этом есть все основания полагать, что показатель зависит от показателя . Это полагание может быть как научной гипотезой, так и основываться на элементарном здравом смысле. Оставим, однако, науку в сторонке и исследуем более аппетитные области – а именно, продовольственные магазины. Обозначим через:

– торговую площадь продовольственного магазина, кв.м.,
– годовой товарооборот продовольственного магазина, млн. руб.

Совершенно понятно, что чем больше площадь магазина, тем в большинстве случаев будет больше его товарооборот.

Предположим, что после проведения наблюдений/опытов/подсчётов/танцев с бубном в нашем распоряжении оказываются числовые данные:

С гастрономами, думаю, всё понятно: – это площадь 1-го магазина, – его годовой товарооборот, – площадь 2-го магазина, – его годовой товарооборот и т.д. Кстати, совсем не обязательно иметь доступ к секретным материалам – довольно точную оценку товарооборота можно получить средствами математической статистики . Впрочем, не отвлекаемся, курс коммерческого шпионажа – он уже платный =)

Табличные данные также можно записать в виде точек и изобразить в привычной для нас декартовой системе .

Ответим на важный вопрос: сколько точек нужно для качественного исследования?

Чем больше, тем лучше. Минимально допустимый набор состоит из 5-6 точек. Кроме того, при небольшом количестве данных в выборку нельзя включать «аномальные» результаты. Так, например, небольшой элитный магазин может выручать на порядки больше «своих коллег», искажая тем самым общую закономерность, которую и требуется найти!

Если совсем просто – нам нужно подобрать функцию , график которой проходит как можно ближе к точкам . Такую функцию называют аппроксимирующей (аппроксимация – приближение) или теоретической функцией . Вообще говоря, тут сразу появляется очевидный «претендент» – многочлен высокой степени, график которого проходит через ВСЕ точки. Но этот вариант сложен, а зачастую и просто некорректен (т.к. график будет всё время «петлять» и плохо отражать главную тенденцию) .

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


Как оценить точность данного приближения? Вычислим и разности (отклонения) между экспериментальными и функциональными значениями (изучаем чертёж) . Первая мысль, которая приходит в голову – это оценить, насколько великА сумма , но проблема состоит в том, что разности могут быть и отрицательны (например, ) и отклонения в результате такого суммирования будут взаимоуничтожаться. Поэтому в качестве оценки точности приближения напрашивается принять сумму модулей отклонений:

или в свёрнутом виде: (вдруг кто не знает: – это значок суммы, а – вспомогательная переменная-«счётчик», которая принимает значения от 1 до ) .

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

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

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

И сейчас мы возвращаемся к другому важному моменту: как отмечалось выше, подбираемая функция должна быть достаточно простА – но ведь и таких функций тоже немало: линейная , гиперболическая , экспоненциальная , логарифмическая , квадратичная и т.д. И, конечно же, тут сразу бы хотелось «сократить поле деятельности». Какой класс функций выбрать для исследования? Примитивный, но эффективный приём:

– Проще всего изобразить точки на чертеже и проанализировать их расположение. Если они имеют тенденцию располагаться по прямой, то следует искать уравнение прямой с оптимальными значениями и . Иными словами, задача состоит в нахождении ТАКИХ коэффициентов – чтобы сумма квадратов отклонений была наименьшей.

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

А теперь обратите внимание, что в обоих случаях речь идёт о функции двух переменных , аргументами которой являются параметры разыскиваемых зависимостей :

И по существу нам требуется решить стандартную задачу – найти минимум функции двух переменных .

Вспомним про наш пример: предположим, что «магазинные» точки имеют тенденцию располагаться по прямой линии и есть все основания полагать наличие линейной зависимости товарооборота от торговой площади. Найдём ТАКИЕ коэффициенты «а» и «бэ», чтобы сумма квадратов отклонений была наименьшей. Всё как обычно – сначала частные производные 1-го порядка . Согласно правилу линейности дифференцировать можно прямо под значком суммы:

Если хотите использовать данную информацию для реферата или курсовика – буду очень благодарен за поставленную ссылку в списке источников, такие подробные выкладки найдёте мало где:

Составим стандартную систему:

Сокращаем каждое уравнение на «двойку» и, кроме того, «разваливаем» суммы:

Примечание : самостоятельно проанализируйте, почему «а» и «бэ» можно вынести за значок суммы. Кстати, формально это можно проделать и с суммой

Перепишем систему в «прикладном» виде:

после чего начинает прорисовываться алгоритм решения нашей задачи:

Координаты точек мы знаем? Знаем. Суммы найти можем? Легко. Составляем простейшую систему двух линейных уравнений с двумя неизвестными («а» и «бэ»). Систему решаем, например, методом Крамера , в результате чего получаем стационарную точку . Проверяя достаточное условие экстремума , можно убедиться, что в данной точке функция достигает именно минимума . Проверка сопряжена с дополнительными выкладками и поэтому оставим её за кадром (при необходимости недостающий кадр можно посмотреть ) . Делаем окончательный вывод:

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

Рассматриваемая задача имеет большое практическое значение. В ситуации с нашим примером, уравнение позволяет прогнозировать, какой товарооборот («игрек») будет у магазина при том или ином значении торговой площади (том или ином значении «икс») . Да, полученный прогноз будет лишь прогнозом, но во многих случаях он окажется достаточно точным.

Я разберу всего лишь одну задачу с «реальными» числами, поскольку никаких трудностей в ней нет – все вычисления на уровне школьной программы 7-8 класса. В 95 процентов случаев вам будет предложено отыскать как раз линейную функцию, но в самом конце статьи я покажу, что ничуть не сложнее отыскать уравнения оптимальной гиперболы, экспоненты и некоторых других функций.

По сути, осталось раздать обещанные плюшки – чтобы вы научились решать такие примеры не только безошибочно, но ещё и быстро. Внимательно изучаем стандарт:

Задача

В результате исследования взаимосвязи двух показателей, получены следующие пары чисел:

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

Заметьте, что «иксовые» значения – натуральные, и это имеет характерный содержательный смысл, о котором я расскажу чуть позже; но они, разумеется, могут быть и дробными. Кроме того, в зависимости от содержания той или иной задачи как «иксовые», так и «игрековые» значения полностью или частично могут быть отрицательными. Ну а у нас дана «безликая» задача, и мы начинаем её решение :

Коэффициенты оптимальной функции найдём как решение системы:

В целях более компактной записи переменную-«счётчик» можно опустить, поскольку и так понятно, что суммирование осуществляется от 1 до .

Расчёт нужных сумм удобнее оформить в табличном виде:


Вычисления можно провести на микрокалькуляторе, но гораздо лучше использовать Эксель – и быстрее, и без ошибок; смотрим короткий видеоролик:

Таким образом, получаем следующую систему :

Тут можно умножить второе уравнение на 3 и из 1-го уравнения почленно вычесть 2-е . Но это везение – на практике системы чаще не подарочны, и в таких случаях спасает метод Крамера :
, значит, система имеет единственное решение.

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

Получены правые части соответствующих уравнений, значит, система решена правильно.

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

В отличие от прямой зависимости товарооборота магазина от его площади, найденная зависимость является обратной (принцип «чем больше – тем меньше») , и этот факт сразу выявляется по отрицательному угловому коэффициенту . Функция сообщает нам о том, что с увеличение некоего показателя на 1 единицу значение зависимого показателя уменьшается в среднем на 0,65 единиц. Как говорится, чем выше цена на гречку, тем меньше её продано.

Для построения графика аппроксимирующей функции найдём два её значения:

и выполним чертёж:


Построенная прямая называется линией тренда (а именно – линией линейного тренда, т.е. в общем случае тренд – это не обязательно прямая линия) . Всем знакомо выражение «быть в тренде», и, думаю, что этот термин не нуждается в дополнительных комментариях.

Вычислим сумму квадратов отклонений между эмпирическими и теоретическими значениями. Геометрически – это сумма квадратов длин «малиновых» отрезков (два из которых настолько малы, что их даже не видно) .

Вычисления сведём в таблицу:


Их можно опять же провести вручную, на всякий случай приведу пример для 1-й точки:

но намного эффективнее поступить уже известным образом:

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

Найдем соответствующую сумму квадратов отклонений – чтобы различать, я обозначу их буквой «эпсилон». Техника точно такая же:


И снова на всякий пожарный вычисления для 1-й точки:

В Экселе пользуемся стандартной функцией EXP (синтаксис можно посмотреть в экселевской Справке) .

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

Но тут следует отметить, что «хуже» – это ещё не значит , что плохо. Сейчас построил график этой экспоненциальной функции – и он тоже проходит близко к точкам – да так, что без аналитического исследования и сказать трудно, какая функция точнее.

На этом решение закончено, и я возвращаюсь к вопросу о натуральных значениях аргумента. В различных исследованиях, как правило, экономических или социологических, натуральными «иксами» нумеруют месяцы, годы или иные равные временнЫе промежутки. Рассмотрим, например, такую задачу.

Я математик-программист. Самый большой скачок в своей карьере я совершил, когда научился говорить:«Я ничего не понимаю!» Сейчас мне не стыдно сказать светилу науки, что мне читает лекцию, что я не понимаю, о чём оно, светило, мне говорит. И это очень сложно. Да, признаться в своём неведении сложно и стыдно. Кому понравится признаваться в том, что он не знает азов чего-то-там. В силу своей профессии я должен присутствовать на большом количестве презентаций и лекций, где, признаюсь, в подавляющем большинстве случаев мне хочется спать, потому что я ничего не понимаю. А не понимаю я потому, что огромная проблема текущей ситуации в науке кроется в математике. Она предполагает, что все слушатели знакомы с абсолютно всеми областями математики (что абсурдно). Признаться в том, что вы не знаете, что такое производная (о том, что это - чуть позже) - стыдно.

Но я научился говорить, что я не знаю, что такое умножение. Да, я не знаю, что такое подалгебра над алгеброй Ли. Да, я не знаю, зачем нужны в жизни квадратные уравнения. К слову, если вы уверены, что вы знаете, то нам есть над чем поговорить! Математика - это серия фокусов. Математики стараются запутать и запугать публику; там, где нет замешательства, нет репутации, нет авторитета. Да, это престижно говорить как можно более абстрактным языком, что есть по себе полная чушь.

Знаете ли вы, что такое производная? Вероятнее всего вы мне скажете про предел разностного отношения. На первом курсе матмеха СПбГУ Виктор Петрович Хавин мне определил производную как коэффициент первого члена ряда Тейлора функции в точке (это была отдельная гимнастика, чтобы определить ряд Тейлора без производных). Я долго смеялся над таким определением, покуда в итоге не понял, о чём оно. Производная не что иное, как просто мера того, насколько функция, которую мы дифференцируем, похожа на функцию y=x, y=x^2, y=x^3.

Я сейчас имею честь читать лекции студентам, которые боятся математики. Если вы боитесь математики - нам с вами по пути. Как только вы пытаетесь прочитать какой-то текст, и вам кажется, что он чрезмерно сложен, то знайте, что он хреново написан. Я утверждаю, что нет ни одной области математики, о которой нельзя говорить «на пальцах», не теряя при этом точности.

Задача на ближайшее время: я поручил своим студентам понять, что такое линейно-квадратичный регулятор . Не постесняйтесь, потратьте три минуты своей жизни, сходите по ссылке. Если вы ничего не поняли, то нам с вами по пути. Я (профессиональный математик-программист) тоже ничего не понял. И я уверяю, в этом можно разобраться «на пальцах». На данный момент я не знаю, что это такое, но я уверяю, что мы сумеем разобраться.

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

Итак, даны две точки (x0, y0), (x1, y1), например, (1,1) и (3,2), задача найти уравнение прямой, проходящей через эти две точки:

иллюстрация

Эта прямая должна иметь уравнение типа следующего:

Здесь альфа и бета нам неизвестны, но известны две точки этой прямой:

Можно записать это уравнение в матричном виде:

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

Давайте заменим конкретные матрицы на их символьное представление:

Тогда (alpha, beta) может быть легко найдено:

Более конкретно для наших предыдущих данных:

Что ведёт к следующему уравнению прямой, проходящей через точки (1,1) и (3,2):

Окей, тут всё понятно. А давайте найдём уравнение прямой, проходящей через три точки: (x0,y0), (x1,y1) и (x2,y2):

Ой-ой-ой, а ведь у нас три уравнения на две неизвестных! Стандартный математик скажет, что решения не существует. А что скажет программист? А он для начала перепишет предыдующую систему уравнений в следующем виде:

В нашем случае векторы i,j,b трёхмерны, следовательно, (в общем случае) решения этой системы не существует. Любой вектор (alpha\*i + beta\*j) лежит в плоскости, натянутой на векторы (i, j). Если b не принадлежит этой плоскости, то решения не существует (равенства в уравнении не достичь). Что делать? Давайте искать компромисс. Давайте обозначим через e(alpha, beta) насколько именно мы не достигли равенства:

И будем стараться минимизировать эту ошибку:

Почему квадрат?

Мы ищем не просто минимум нормы, а минимум квадрата нормы. Почему? Сама точка минимума совпадает, а квадрат даёт гладкую функцию (квадратичную функцию от агрументов (alpha,beta)), в то время как просто длина даёт функцию в виде конуса, недифференцируемую в точке минимума. Брр. Квадрат удобнее.

Очевидно, что ошибка минимизируется, когда вектор e ортогонален плоскости, натянутой на векторы i и j .

Иллюстрация

Иными словами: мы ищем такую прямую, что сумма квадратов длин расстояний от всех точек до этой прямой минимальна:

UPDATE: тут у меня косяк, расстояние до прямой должно измеряться по вертикали, а не ортогональной проекцией. Вот этот комментатор прав.

Иллюстрация

Совсеми иными словами (осторожно, плохо формализовано, но на пальцах должно быть ясно): мы берём все возможные прямые между всеми парами точек и ищем среднюю прямую между всеми:

Иллюстрация

Иное объяснение на пальцах: мы прикрепляем пружинку между всеми точками данных (тут у нас три) и прямой, что мы ищем, и прямая равновесного состояния есть именно то, что мы ищем.

Минимум квадратичной формы

Итак, имея данный вектор b и плоскость, натянутую на столбцы-векторы матрицы A (в данном случае (x0,x1,x2) и (1,1,1)), мы ищем вектор e с минимум квадрата длины. Очевидно, что минимум достижим только для вектора e , ортогонального плоскости, натянутой на столбцы-векторы матрицы A :

Иначе говоря, мы ищем такой вектор x=(alpha, beta), что:

Напоминаю, что этот вектор x=(alpha, beta) является минимумом квадратичной функции ||e(alpha, beta)||^2:

Тут нелишним будет вспомнить, что матрицу можно интерпретирвать в том числе как и квадратичную форму, например, единичная матрица ((1,0),(0,1)) может быть интерпретирована как функция x^2 + y^2:

квадратичная форма

Вся эта гимнастика известна под именем линейной регрессии .

Уравнение Лапласа с граничным условием Дирихле

Теперь простейшая реальная задача: имеется некая триангулированная поверхность, необходимо её сгладить. Например, давайте загрузим модель моего лица:

Изначальный коммит доступен . Для минимизации внешних зависимостей я взял код своего софтверного рендерера, уже на хабре. Для решения линейной системы я пользуюсь OpenNL , это отличный солвер, который, правда, очень сложно установить: нужно скопировать два файла (.h+.c) в папку с вашим проектом. Всё сглаживание делается следующим кодом:

For (int d=0; d<3; d++) { nlNewContext(); nlSolverParameteri(NL_NB_VARIABLES, verts.size()); nlSolverParameteri(NL_LEAST_SQUARES, NL_TRUE); nlBegin(NL_SYSTEM); nlBegin(NL_MATRIX); for (int i=0; i<(int)verts.size(); i++) { nlBegin(NL_ROW); nlCoefficient(i, 1); nlRightHandSide(verts[i][d]); nlEnd(NL_ROW); } for (unsigned int i=0; i &face = faces[i]; for (int j=0; j<3; j++) { nlBegin(NL_ROW); nlCoefficient(face[ j ], 1); nlCoefficient(face[(j+1)%3], -1); nlEnd(NL_ROW); } } nlEnd(NL_MATRIX); nlEnd(NL_SYSTEM); nlSolve(); for (int i=0; i<(int)verts.size(); i++) { verts[i][d] = nlGetVariable(i); } }

X, Y и Z координаты отделимы, я их сглаживаю по отдельности. То есть, я решаю три системы линейных уравнений, каждое имеет количество переменных равным количеству вершин в моей модели. Первые n строк матрицы A имеют только одну единицу на строку, а первые n строк вектора b имеют оригинальные координаты модели. То есть, я привязываю по пружинке между новым положением вершины и старым положением вершины - новые не должны слишком далеко уходить от старых.

Все последующие строки матрицы A (faces.size()*3 = количеству рёбер всех треугольников в сетке) имеют одно вхождение 1 и одно вхождение -1, причём вектор b имеет нулевые компоненты напротив. Это значит, я вешаю пружинку на каждое ребро нашей треугольной сетки: все рёбра стараются получить одну и ту же вершину в качестве отправной и финальной точки.

Ещё раз: переменными являются все вершины, причём они не могут далеко отходить от изначального положения, но при этом стараются стать похожими друг на друга.

Вот результат:

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

For (int i=0; i<(int)verts.size(); i++) { float scale = border[i] ? 1000: 1; nlBegin(NL_ROW); nlCoefficient(i, scale); nlRightHandSide(scale*verts[i][d]); nlEnd(NL_ROW); }

В нашей матрице A я для вершин, что находятся на краю, добавляю не строку из разряда v_i = verts[i][d], а 1000*v_i = 1000*verts[i][d]. Что это меняет? А меняет это нашу квадратичную форму ошибки. Теперь единичное отклонение от вершины на краю будет стоить не одну единицу, как раньше, а 1000*1000 единиц. То есть, мы повесили более сильную пружинку на крайние вершины, решение предпочтёт сильнее растянуть другие. Вот результат:

Давайте вдвое усилим пружинки между вершинами:
nlCoefficient(face[ j ], 2); nlCoefficient(face[(j+1)%3], -2);

Логично, что поверхность стала более гладкой:

А теперь ещё в сто раз сильнее:

Что это? Представьте, что мы обмакнули проволочное кольцо в мыльную воду. В итоге образовавшаяся мыльная плёнка будет стараться иметь наименьшую кривизну, насколько это возможно, касаясь-таки границы - нашего проволочного кольца. Именно это мы и получили, зафиксировав границу и попросив получить гладкую поверхность внутри. Поздравляю вас, мы только что решили уравнение Лапласа с граничными условиями Дирихле. Круто звучит? А на деле всего-навсего одну систему линейных уравнений решить.

Уравнение Пуассона

Давайте ещё крутое имя вспомним.

Предположим, что у меня есть такая картинка:

Всем хороша, только стул мне не нравится.

Разрежу картинку пополам:



И выделю руками стул:

Затем всё, что белое в маске, притяну к левой части картинки, а заодно по всей картинке скажу, что разница между двумя соседними пикселями должна равняться разнице между двумя соседними пикселями правой картинки:

For (int i=0; i

Вот результат:

Пример из жизни

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

У меня есть некоторое количество фотографий образцов ткани типа вот такой:

Моя задача сделать бесшовные текстуры из фотографий вот такого качества. Для начала я (автоматически) ищу повторяющийся паттерн:

Если я вырежу прямо вот этот четырёхугольник, то из-за искажений у меня края не сойдутся, вот пример четыре раза повторённого паттерна:

Скрытый текст

Вот фрагмент, где чётко видно шов:

Поэтому я вырезать буду не по ровной линии, вот линия разреза:

Скрытый текст

А вот повторённый четыре раза паттерн:

Скрытый текст

И его фрагмент, чтобы было виднее:

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

Текстура получилась отлично бесшовной, и всё это автоматически из фотографии весьма посредственного качества. Не бойтесь математики, ищите простые объяснения, и будет вам инженерное счастье.

После выравнивания получим функцию следующего вида: g (x) = x + 1 3 + 1 .

Мы можем аппроксимировать эти данные с помощью линейной зависимости y = a x + b , вычислив соответствующие параметры. Для этого нам нужно будет применить так называемый метод наименьших квадратов. Также потребуется сделать чертеж, чтобы проверить, какая линия будет лучше выравнивать экспериментальные данные.

В чем именно заключается МНК (метод наименьших квадратов)

Главное, что нам нужно сделать, – это найти такие коэффициенты линейной зависимости, при которых значение функции двух переменных F (a , b) = ∑ i = 1 n (y i - (a x i + b)) 2 будет наименьшим. Иначе говоря, при определенных значениях a и b сумма квадратов отклонений представленных данных от получившейся прямой будет иметь минимальное значение. В этом и состоит смысл метода наименьших квадратов. Все, что нам надо сделать для решения примера – это найти экстремум функции двух переменных.

Как вывести формулы для вычисления коэффициентов

Для того чтобы вывести формулы для вычисления коэффициентов, нужно составить и решить систему уравнений с двумя переменными. Для этого мы вычисляем частные производные выражения F (a , b) = ∑ i = 1 n (y i - (a x i + b)) 2 по a и b и приравниваем их к 0 .

δ F (a , b) δ a = 0 δ F (a , b) δ b = 0 ⇔ - 2 ∑ i = 1 n (y i - (a x i + b)) x i = 0 - 2 ∑ i = 1 n (y i - (a x i + b)) = 0 ⇔ a ∑ i = 1 n x i 2 + b ∑ i = 1 n x i = ∑ i = 1 n x i y i a ∑ i = 1 n x i + ∑ i = 1 n b = ∑ i = 1 n y i ⇔ a ∑ i = 1 n x i 2 + b ∑ i = 1 n x i = ∑ i = 1 n x i y i a ∑ i = 1 n x i + n b = ∑ i = 1 n y i

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

n ∑ i = 1 n x i y i - ∑ i = 1 n x i ∑ i = 1 n y i n ∑ i = 1 n - ∑ i = 1 n x i 2 b = ∑ i = 1 n y i - a ∑ i = 1 n x i n

Мы вычислили значения переменных, при который функция
F (a , b) = ∑ i = 1 n (y i - (a x i + b)) 2 примет минимальное значение. В третьем пункте мы докажем, почему оно является именно таким.

Это и есть применение метода наименьших квадратов на практике. Его формула, которая применяется для поиска параметра a , включает в себя ∑ i = 1 n x i , ∑ i = 1 n y i , ∑ i = 1 n x i y i , ∑ i = 1 n x i 2 , а также параметр
n – им обозначено количество экспериментальных данных. Советуем вам вычислять каждую сумму отдельно. Значение коэффициента b вычисляется сразу после a .

Обратимся вновь к исходному примеру.

Пример 1

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

i = 1 i = 2 i = 3 i = 4 i = 5 ∑ i = 1 5
x i 0 1 2 4 5 12
y i 2 , 1 2 , 4 2 , 6 2 , 8 3 12 , 9
x i y i 0 2 , 4 5 , 2 11 , 2 15 33 , 8
x i 2 0 1 4 16 25 46

Решение

Четвертая строка включает в себя данные, полученные при умножении значений из второй строки на значения третьей для каждого отдельного i . Пятая строка содержит данные из второй, возведенные в квадрат. В последнем столбце приводятся суммы значений отдельных строчек.

Воспользуемся методом наименьших квадратов, чтобы вычислить нужные нам коэффициенты a и b . Для этого подставим нужные значения из последнего столбца и подсчитаем суммы:

n ∑ i = 1 n x i y i - ∑ i = 1 n x i ∑ i = 1 n y i n ∑ i = 1 n - ∑ i = 1 n x i 2 b = ∑ i = 1 n y i - a ∑ i = 1 n x i n ⇒ a = 5 · 33 , 8 - 12 · 12 , 9 5 · 46 - 12 2 b = 12 , 9 - a · 12 5 ⇒ a ≈ 0 , 165 b ≈ 2 , 184

У нас получилось, что нужная аппроксимирующая прямая будет выглядеть как y = 0 , 165 x + 2 , 184 . Теперь нам надо определить, какая линия будет лучше аппроксимировать данные – g (x) = x + 1 3 + 1 или 0 , 165 x + 2 , 184 . Произведем оценку с помощью метода наименьших квадратов.

Чтобы вычислить погрешность, нам надо найти суммы квадратов отклонений данных от прямых σ 1 = ∑ i = 1 n (y i - (a x i + b i)) 2 и σ 2 = ∑ i = 1 n (y i - g (x i)) 2 , минимальное значение будет соответствовать более подходящей линии.

σ 1 = ∑ i = 1 n (y i - (a x i + b i)) 2 = = ∑ i = 1 5 (y i - (0 , 165 x i + 2 , 184)) 2 ≈ 0 , 019 σ 2 = ∑ i = 1 n (y i - g (x i)) 2 = = ∑ i = 1 5 (y i - (x i + 1 3 + 1)) 2 ≈ 0 , 096

Ответ: поскольку σ 1 < σ 2 , то прямой, наилучшим образом аппроксимирующей исходные данные, будет
y = 0 , 165 x + 2 , 184 .

Метод наименьших квадратов наглядно показан на графической иллюстрации. С помощью красной линии отмечена прямая g (x) = x + 1 3 + 1 , синей – y = 0 , 165 x + 2 , 184 . Исходные данные обозначены розовыми точками.

Поясним, для чего именно нужны приближения подобного вида.

Они могут быть использованы в задачах, требующих сглаживания данных, а также в тех, где данные надо интерполировать или экстраполировать. Например, в задаче, разобранной выше, можно было бы найти значение наблюдаемой величины y при x = 3 или при x = 6 . Таким примерам мы посвятили отдельную статью.

Доказательство метода МНК

Чтобы функция приняла минимальное значение при вычисленных a и b , нужно, чтобы в данной точке матрица квадратичной формы дифференциала функции вида F (a , b) = ∑ i = 1 n (y i - (a x i + b)) 2 была положительно определенной. Покажем, как это должно выглядеть.

Пример 2

У нас есть дифференциал второго порядка следующего вида:

d 2 F (a ; b) = δ 2 F (a ; b) δ a 2 d 2 a + 2 δ 2 F (a ; b) δ a δ b d a d b + δ 2 F (a ; b) δ b 2 d 2 b

Решение

δ 2 F (a ; b) δ a 2 = δ δ F (a ; b) δ a δ a = = δ - 2 ∑ i = 1 n (y i - (a x i + b)) x i δ a = 2 ∑ i = 1 n (x i) 2 δ 2 F (a ; b) δ a δ b = δ δ F (a ; b) δ a δ b = = δ - 2 ∑ i = 1 n (y i - (a x i + b)) x i δ b = 2 ∑ i = 1 n x i δ 2 F (a ; b) δ b 2 = δ δ F (a ; b) δ b δ b = δ - 2 ∑ i = 1 n (y i - (a x i + b)) δ b = 2 ∑ i = 1 n (1) = 2 n

Иначе говоря, можно записать так: d 2 F (a ; b) = 2 ∑ i = 1 n (x i) 2 d 2 a + 2 · 2 ∑ x i i = 1 n d a d b + (2 n) d 2 b .

Мы получили матрицу квадратичной формы вида M = 2 ∑ i = 1 n (x i) 2 2 ∑ i = 1 n x i 2 ∑ i = 1 n x i 2 n .

В этом случае значения отдельных элементов не будут меняться в зависимости от a и b . Является ли эта матрица положительно определенной? Чтобы ответить на этот вопрос, проверим, являются ли ее угловые миноры положительными.

Вычисляем угловой минор первого порядка: 2 ∑ i = 1 n (x i) 2 > 0 . Поскольку точки x i не совпадают, то неравенство является строгим. Будем иметь это в виду при дальнейших расчетах.

Вычисляем угловой минор второго порядка:

d e t (M) = 2 ∑ i = 1 n (x i) 2 2 ∑ i = 1 n x i 2 ∑ i = 1 n x i 2 n = 4 n ∑ i = 1 n (x i) 2 - ∑ i = 1 n x i 2

После этого переходим к доказательству неравенства n ∑ i = 1 n (x i) 2 - ∑ i = 1 n x i 2 > 0 с помощью математической индукции.

  1. Проверим, будет ли данное неравенство справедливым при произвольном n . Возьмем 2 и подсчитаем:

2 ∑ i = 1 2 (x i) 2 - ∑ i = 1 2 x i 2 = 2 x 1 2 + x 2 2 - x 1 + x 2 2 = = x 1 2 - 2 x 1 x 2 + x 2 2 = x 1 + x 2 2 > 0

У нас получилось верное равенство (если значения x 1 и x 2 не будут совпадать).

  1. Сделаем предположение, что данное неравенство будет верным для n , т.е. n ∑ i = 1 n (x i) 2 - ∑ i = 1 n x i 2 > 0 – справедливо.
  2. Теперь докажем справедливость при n + 1 , т.е. что (n + 1) ∑ i = 1 n + 1 (x i) 2 - ∑ i = 1 n + 1 x i 2 > 0 , если верно n ∑ i = 1 n (x i) 2 - ∑ i = 1 n x i 2 > 0 .

Вычисляем:

(n + 1) ∑ i = 1 n + 1 (x i) 2 - ∑ i = 1 n + 1 x i 2 = = (n + 1) ∑ i = 1 n (x i) 2 + x n + 1 2 - ∑ i = 1 n x i + x n + 1 2 = = n ∑ i = 1 n (x i) 2 + n · x n + 1 2 + ∑ i = 1 n (x i) 2 + x n + 1 2 - - ∑ i = 1 n x i 2 + 2 x n + 1 ∑ i = 1 n x i + x n + 1 2 = = ∑ i = 1 n (x i) 2 - ∑ i = 1 n x i 2 + n · x n + 1 2 - x n + 1 ∑ i = 1 n x i + ∑ i = 1 n (x i) 2 = = ∑ i = 1 n (x i) 2 - ∑ i = 1 n x i 2 + x n + 1 2 - 2 x n + 1 x 1 + x 1 2 + + x n + 1 2 - 2 x n + 1 x 2 + x 2 2 + . . . + x n + 1 2 - 2 x n + 1 x 1 + x n 2 = = n ∑ i = 1 n (x i) 2 - ∑ i = 1 n x i 2 + + (x n + 1 - x 1) 2 + (x n + 1 - x 2) 2 + . . . + (x n - 1 - x n) 2 > 0

Выражение, заключенное в фигурные скобки, будет больше 0 (исходя из того, что мы предполагали в пункте 2), и остальные слагаемые будут больше 0 , поскольку все они являются квадратами чисел. Мы доказали неравенство.

Ответ: найденные a и b будут соответствовать наименьшему значению функции F (a , b) = ∑ i = 1 n (y i - (a x i + b)) 2 , значит, они являются искомыми параметрами метода наименьших квадратов (МНК).

Если вы заметили ошибку в тексте, пожалуйста, выделите её и нажмите Ctrl+Enter

КУРСОВАЯ РАБОТА

Аппроксимация функции методом наименьших квадратов


Введение

эмпирический mathcad аппроксимация

Целью курсовой работы является углубление знаний по информатике, развитие и закрепление навыков работы с табличным процессором Microsoft Excel и MathCAD. Применение их для решения задач с помощью ЭВМ из предметной области, связанной с исследованиями.

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

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

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

Специалисты в области автоматизации технологических процессов и производств имеют дело с большим объёмом экспериментальных данных, для обработки которых используется компьютер. Исходные данные и полученные результаты вычислений могут быть представлены в табличной форме, используя табличные процессоры (электронные таблицы) и, в частности, Excel. Курсовая работа по информатике позволяет студенту закрепить и развить навыки работы с помощью базовых компьютерных технологий при решении задач в сфере профессиональной деятельности.- система компьютерной алгебры из класса систем автоматизированного проектирования, ориентированная на подготовку интерактивных документов с вычислениями и визуальным сопровождением, отличается легкостью использования и применения для коллективной работы.


1. Общие сведения


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

При аналитическом исследовании взаимосвязи между двумя величинами x и y производят ряд наблюдений и в результате получается таблица значений:


xx 1 x 1 x i X n уy 1 y 1 y i Y n

Эта таблица обычно получается как итог каких-либо экспериментов, в которых x, (независимая величина) задается экспериментатором, а у, получается в результате опыта. Поэтому эти значения у, будем называть эмпирическими или опытными значениями.

Между величинами x и y существует функциональная зависимость, но ее аналитический вид обычно неизвестен, поэтому возникает практически важная задача - найти эмпирическую формулу


y = f(x; a1, a2,…, am), (1)


(где a 1 , a 2 ,…, a m - параметры), значения которой при x = x, возможно мало отличались бы от опытных значений у, (i = 1,2,…, п) .

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

Если в эмпирическую формулу (1) подставить исходные x, то получим теоретические значения

Y T i = f (x i ; a1, a2……a m ) , где i = 1,2,…, n .


Разности y i T - у i , называются отклонениями и представляют собой расстояния по вертикали от точек M i до графика эмпирической функции.

Согласно методу наименьших квадратов наилучшими коэффициентами a 1 , a 2 ,…, a m считаются те, для которых сумма квадратов отклонений найденной эмпирической функции от заданных значений функции



будет минимальной.

Поясним геометрический смысл метода наименьших квадратов.

Каждая пара чисел (x i , y i ) из исходной таблицы определяет точку M i на плоскости XOY. Используя формулу (1) при различных значениях коэффициентов a 1 , a 2 ,…, a m можно построить ряд кривых, которые являются графиками функции (1). Задача состоит в определении коэффициентов a 1 , a 2 ,…, a m таким образом, чтобы сумма квадратов расстояний по вертикали от точек M i (x i , y i ) до графика функции (1) была наименьшей (рис. 1).



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

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

Определение наилучших коэффициентов a 1 , a 2,…, a m входящих в эмпирическую формулу производят хорошо известным аналитическими методами.

Для того, чтобы найти набор коэффициентовa a 1 , a 2 …..a m , которые доставляют минимум функции S, определяемой формулой (2), используем необходимое условие экстремума функции нескольких переменных - равенство нулю частных производных.

В результате получим нормальную систему для определения коэффициентов a i (i = 1,2,…, m) :



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


1.1 Линейная зависимость


Конкретный вид системы (3) зависит от того, из какого класса эмпирических формул мы ищем зависимость (1). В случае линейной зависимости y = a 1 + a 2 x система (3) примет вид:


Эта линейная система может быть решена любым известным методом (методом Гаусса, простых итераций, формулами Крамера).


1.2 Квадратичная зависимость


В случае квадратичной зависимости y = a 1 + a 2 x + a 3x2 система (3) примет вид:



1.3 Экспоненциальная зависимость


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


y = a 1 * e a2x (6)


где a1 иa2, неопределенные коффициенты.

Линеаризация достигается путем логарифмирования равенства (6), после чего получаем соотношение

ln y = ln a1 + a2x(7)


Обозначим ln у и ln a x соответственно через t и c , тогда зависимость (6) может быть записана в виде t = a 1 + a 2 х , что позволяет применить формулы (4) с заменой a 1 на c и у i на t i


1.4 Элементы теории корреляции


График восстановленной функциональной зависимости у(х) по результатам измерений (хi , у i ), i = 1,2, K , n называется кривой регрессии. Для проверки согласия построенной кривой регрессии с результатами эксперимента обычно вводят следующие числовые характеристики: коэффициент корреляции (линейная зависимость), корреляционное отношение и коэффициент детерминированности. При этом результаты обычно группируют и представляют в форме корреляционной таблицы. В каждой клетке этой таблицы приводятся численности n iJ - тех пар (х, у) , компоненты которых попадают в соответствующие интервалы группировки по каждой переменной. Предполагая длины интервалов группировки (по каждой переменной) равными между собой, выбирают центры хi (соответственно у i ) этих интервалов и числа n iJ - в качестве основы для расчетов.

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

Коэффициент корреляции вычисляется по формуле:


где, и - среднее арифметическое значение соответственно х и у .

Коэффициент корреляции между случайными величинами по абсолютной величине не превосходит 1. Чем ближе |р| к 1, тем теснее линейная связь между х и у.

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

Корреляционное отношение вычисляется по формуле:



где n i = , n f = , а числитель характеризует рассеяние условных средних у, около безусловного среднего y .

Всегда. Равенство = 0 соответствует некоррелированным случайным величинам; = 1 тогда и только тогда, когда имеется точная функциональная связь междуy и x. В случае линейной зависимости y от x корреляционное отношение совпадает с квадратом коэффициента корреляции. Величина - ? 2 используется в качестве индикатора отклонения регрессии от линейной.

Корреляционное отношение является мерой корреляционной связи y с x в какой угодно форме, но не может дать представления о степени приближенности эмпирических данных к специальной форме. Чтобы выяснить насколько точно построенная кривая отражает эмпирические данные вводится еще одна характеристика - коэффициент детерминированности.

Для его описания рассмотрим следующие величины. - полная сумма квадратов, где среднее значение.

Можно доказать следующее равенство

Первое слагаемое равно Sост = и называется остаточной суммой квадратов. Оно характеризует отклонение экспериментальных от теоритических.

Второе слагаемое равно Sрегр = 2 и называется регрессионной суммой квадратов и оно характеризует разброс данных.

Очевидно, что справедливо следующее равенство Sполн = Sост + Sрегр.

Коэффициент детерминированности определяется по формуле:



Чем меньше остаточная сумма квадратов по сравнению с общей суммой квадратов, тем больше значение коэффициента детерминированности r 2 , который показывает, насколько хорошо уравнение, полученное с помощью регрессионного анализа, объясняет взаимосвязи между переменными. Если он равен 1, то имеет место полная корреляция с моделью, т.е. нет различия между фактическим и оценочным значениями y. В противоположном случае, если коэффициент детерминированности равен 0, то уравнение регрессии неудачно для предсказания значений y

Коэффициент детерминированности всегда не превосходит корреляционное отношение. В случае когда выполняется равенство r 2 = то можно считать, что построенная эмпирическая формула наиболее точно отражает эмпирические данные.


2. Постановка задачи


1. Используя метод наименьших квадратов функцию, заданную таблично, аппроксимировать

а) многочленом первой степени;

б) многочленом второй степени;

в) экспоненциальной зависимостью.

Для каждой зависимости вычислить коэффициент детерминированности.

Вычислить коэффициент корреляции (только в случае а).

Для каждой зависимости построить линию тренда.

Используя функцию ЛИНЕЙН вычислить числовые характеристики зависимости от.

Сравнить свои вычисления с результатами, полученными при помощи функции ЛИНЕЙН.

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

Написать программу на одном из языков программирования и сравнить результаты счета с полученными выше.


3. Исходные данные


Функция задана рисунком 1.



4. Расчет аппроксимаций в табличном процессоре Excel


Для проведения расчетов целесообразно воспользоваться табличным процессором Microsoft Excel. И данные расположить как показано на рисунке 2.



Для этого заносим:

·в ячейки A6:A30 заносим значения xi.

·в ячейки B6:B30 заносим значения уi.

·в ячейку C6 вводим формулу =А6^2.

·в ячейки C7:C30 эта формула копируется.

·в ячейку D6 вводим формулу =А6*В6.

·в ячейки D7:D30 эта формула копируется.

·в ячейку F6 вводим формулу =А6^4.

·в ячейки F7:F30 эта формула копируется.

·в ячейку G6 вводим формулу =А6^2*В6.

·в ячейки G7:G30 эта формула копируется.

·в ячейку H6 вводим формулу =LN(B6).

·в ячейки H7:H30 эта формула копируется.

·в ячейку I6 вводим формулу =A6*LN(B6).

·в ячейки I7:I30 эта формула копируется. Последующие шаги делаем с помощью автосуммирования

·в ячейку А33 вводим формулу =СУММ (А6:А30).

·в ячейку B33 вводим формулу =СУММ (В6:В30).

·в ячейку C33 вводим формулу =СУММ (С6:С30).

·в ячейку D33 вводим формулу =СУММ (D6:D30).

·в ячейку E33 вводим формулу =СУММ (E6:E30).

·в ячейку F33 вводим формулу =СУММ (F6:F30).

·в ячейку G33 вводим формулу =СУММ (G6:G30).

·в ячейку H33 вводим формулу =СУММ (H6:H30).

·в ячейку I33 вводим формулу =СУММ (I6:I30).

Аппроксимируем функцию y = f (x) линейной функцией y = a 1 + a 2x. Для определения коэффициентов a1 и a2 воспользуемся системой (4). Используя итоговые суммы таблицы 2, расположенные в ячейках A33, B33, C33 и D33, запишем систему (4) в виде



решив которую, получим a1 = -24,7164 и a2 = 11,63183

Таким образом, линейная аппроксимация имеет вид y= -24,7164 + 11,63183х (12)

Решение системы (11) проводили, пользуясь средствами Microsoft Excel. Результаты представлены на рисунке 3:



В таблице в ячейках A38:B39 записана формула {=МОБР (A35:B36)}. В ячейках E38:E39 записана формула {=МУМНОЖ (A38:B39, C35:C36)}.


Далее аппроксимируем функцию y = f (x) квадратичной функцией y = a 1 + a 2 x + a 3 x 2. Для определения коэффициентов a1, a2 и a3 воспользуемся системой (5). Используя итоговые суммы таблицы 2, расположенные в ячейках A33, B33, C33, D33, E33, F33 и G33 запишем систему (5) в виде:



Решив которую, получим a1 = 1,580946, a2 = -0,60819 и a3 = 0,954171 (14)

Таким образом, квадратичная аппроксимация имеет вид:

у = 1,580946 -0,60819х +0,954171 х 2

Решение системы (13) проводили, пользуясь средствами Microsoft Excel. Результаты представлены на рисунке 4.



В таблице в ячейках A46:C48 записана формула {=МОБР (A41:C43)}. В ячейках F46:F48 записана формула {=МУМНОЖ (A41:C43, D46:D48)}.

Теперь аппроксимируем функцию y = f (х) экспоненциальной функцией y = a 1 e a2x . Для определения коэффициентов a 1 и a 2 прологарифмируем значения y i и используя итоговые суммы таблицы 2, расположенные в ячейках A26, C26, H26 и I26 получим систему:



где с = ln(a 1 ).

Решив систему (10) найдем с = 0,506435, a2 = 0.409819.

После потенцирования получим a1 = 1,659365.

Таким образом, экспоненциальная аппроксимация имеет вид y = 1,659365*e 0,4098194x

Решение системы (15) проводили, пользуясь средствами Microsoft Excel. Результаты представлены на рисунке 5.


В таблице в ячейках A55:B56 записана формула {=МОБР (A51:B52)}. В ячейках E54:E56 записана формула {=МУМНОЖ (A51:B52, С51:С52)}. В ячейке E56 записана формула =EXP(E54).

Вычислим среднее арифметическое x и у по формулам:



Результаты расчета x и y средствами Microsoft Excel представлены на рисунке 6.



В ячейке B58 записана формула =A33/25. В ячейке B59 записана формула =B33/25.

Таблица 2


Поясним как таблица на рисунке 7 составляется.

Ячейки A6:A33 и B6:B33 уже заполнены (см. рис. 2).

·в ячейку J6 вводим формулу =(A6-$B$58)*(B6-$B$59).

·в ячейки J7:J30 эта формула копируется.

·в ячейку K6 вводим формулу =(А6-$В$58)^2.

·в ячейки K7:K30 эта формула копируется.

·в ячейку L6 вводим формулу =(В1-$В$59)^2.

·в ячейки L7:L30 эта формула копируется.

·в ячейку M6 вводим формулу =($Е$38+$Е$39*А6-В6)^2.

·в ячейки M7:M30 эта формула копируется.

·в ячейку N6 вводим формулу =($F$46 +$F$47*A6 +$F$48*A6 Л6-В6)^2.

·в ячейки N7:N30 эта формула копируется.

·в ячейку O6 вводим формулу =($Е$56*ЕХР ($Е$55*А6) - В6)^2.

·в ячейки O7:O30 эта формула копируется.

Последующие шаги делаем с помощью автосуммирования.

·в ячейку J33 вводим формулу =CYMM (J6:J30).

·в ячейку K33 вводим формулу =СУММ (К6:К30).

·в ячейку L33 вводим формулу =CYMM (L6:L30).

·в ячейку M33 вводим формулу =СУММ (М6:М30).

·в ячейку N33 вводим формулу =СУММ (N6:N30).

·в ячейку O33 вводим формулу =СУММ (06:030).

Теперь проведем расчеты коэффициента корреляции по формуле (8) (только для линейной аппроксимации) и коэффициента детерминированности по формуле (10). Результаты расчетов средствами Microsoft Ехcеl представлены на рисунке 7.



В таблице 8 в ячейке B61 записана формула =J33/(K33*L33^(1/2). В ячейке B62 записана формула =1 - M33/L33. В ячейке B63 записана формула =1 - N33/L33. В ячейке B64 записана формула =1 - O33/L33.

Анализ результатов расчетов показывает, что квадратичная аппроксимация наилучшим образом описывает экспериментальные данные.


4.1 Построение графиков в Excel


Выделим ячейки A1:A25, после этого обратимся к мастеру диаграмм. Выберем точечный график. После того как диаграмма будет построена, щелкнем правой кнопкой мышки на линии графика и выберем добавить линию тренда (соответственно линейную, экспоненциальную, степенную и полиномиальную второй степени).

График линейной аппроксимации


График квадратичной аппроксимации


График экспоненциальной аппроксимации.


5. Аппроксимация функции с помощью MathCAD


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


.1 Линейная регрессия


Линейная регрессия в системе Mathcad выполняется по векторам аргумента Х и отсчетов Y функциями:

intercept (x, y) - вычисляет параметр а 1 , смещение линии регрессии по вертикали (см. рис.)

slope (x, y) - вычисляет параметр a 2 , угловой коэффициент линии регрессии (см. рис.)

y(x) = a1+a2*x


Функция corr (у, y(x)) вычисляет коэффициент корреляции Пирсона. Чем он ближе к 1, тем точнее обрабатываемые данные соответствуют линейной зависимости (см. рис.)

.2 Полиноминальная регрессия


Одномерная полиномиальная регрессия с произвольной степенью n полинома и с произвольными координатами отсчетов в Mathcad выполняется функциями:

regress (х, у, n) - вычисляет вектор S, в составе которого находятся коэффициенты ai полинома n -й степени;

Значения коэффициентов ai могут быть извлечены из вектора S функцией submatrix (S, 3, length(S) - 1, 0, 0).

Полученные значения коэффициентов используем в уравнении регрессии


y(x) = a1+a2*x+a3*x 2 (см. рис.)

.3 Нелинейная регрессия


Для простых типовых формул аппроксимации предусмотрен ряд функций нелинейной регрессии, в которых параметры функций подбираются программой Mathcad.

К их числу относится функция expfit (x, y, s), которая возвращает вектор, содержащий коэффициенты a1, a2 и a3 экспоненциальной функции

y(x) = a1 ^exp (a2 x) + a3. В вектор S вводятся начальные значения коэффициентов a1, a2 и a3 первого приближения.


Заключение


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

Результаты полученные с помощью программы MathCAD полностью совпадают со значениями полученными с помощью Excel. Это говорит о верности вычислений.


Список используемой литературы

  1. Информатика: Учебник / Под ред. проф. Н.В. Макаровой. М.: Финансы и статистика 2007
  2. Информатика: Практикум по технологии работы на компьютере / Под. Ред. проф. Н.В. Макаровой. М Финансы и статистика, 2011.
  3. Н.С. Пискунов. Дифференциальное и интегральное исчисление, 2010.
  4. Информатика, Аппроксимация методом наименьших квадратов, методические указания, Санкт-Петербург, 2009.
Репетиторство

Нужна помощь по изучению какой-либы темы?

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

Loading...Loading...