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

Excel

Постановка задачи на конкретном примере

Допустим есть два индикатора X и Y. Причем Y зависит от X. Так как МНК нас интересует с точки зрения регрессионного анализа (в Excel методы реализованы с помощью встроенных функций), то следует сразу перейти рассмотреть конкретную проблему.

Итак, пусть X — торговая площадь продуктового магазина, измеряемая в квадратных метрах, а Y — годовой товарооборот, определяемый в миллионах рублей.

Требуется сделать прогноз того, какой товарооборот (Y) будет у магазина, если в нем есть торговые площади. Понятно, что функция Y = f(X) возрастает, так как в гипермаркете продается больше товаров, чем в ларьке.

Наборы данных

Метод наименьших квадратов используется для обработки набора данных и прогнозирования будущих значений. Предположим, у нас есть матрицы данных X = {10, 12, 14, 16, 18, 20} и Y = {18, 22, 24, 26, 27, 28}, при этом значение Y зависит от X. Придадим этим матрицам мнение. Например, матрица X — это мощность паровой машины парохода, а Y — скорость его движения в узлах. Это означает, что при силовой установке в 10 тысяч лошадиных сил пароход развивает скорость 18 морских миль в час и так далее, поскольку каждому значению у соответствует его х.

Эти данные могут быть представлены в виде точек на декартовой плоскости, таких как V1(X1, Y1), V2(X2, Y2) и так далее. Если соединить эти точки, то получится некая кривая, которую можно описать соответствующим уравнением y = f(x). Это уравнение должно быть достаточно простым, но в то же время максимально точно описывать полученную зависимость.

Получив кривую, мы можем продолжить ее в любом направлении и найти приблизительное значение y для любого x или наоборот. Например, аппроксимировав данные нашего примера, мы можем определить, какая мощность от установки требуется для достижения скорости в 15 узлов. Или какую скорость мы получим, установив на борт агрегат мощностью 22 000 лошадиных сил. Чтобы определить это волшебство y = f(x), нам понадобится метод наименьших квадратов.

Графическая иллюстрация метода наименьших квадратов (мнк).

На графиках все хорошо. Красная линия — найденная линия y = 0,165x+2,184, синяя линия 002.png
, розовые точки — исходные данные.

Для чего это, к чему все эти подходы?

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

Начало страницы

Доказательство.

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

Дифференциал второго порядка имеет вид:

Это
d2f.png

Следовательно, матрица квадратичной формы имеет вид

и значения элементов не зависят от a и b .

Покажем, что матрица положительно определена. Для этого необходимо, чтобы минор угла был положительным.

Угловой минор первого порядка минор1.png
. Разница строгая, так как точки xi.png
не совпадает. Это будет указано в дальнейшем.

Угловой минор второго порядка

Давайте докажем это неравенство.png
метод математической индукции.

  1. Проверим справедливость неравенства для любого значения n, например для n=2.
    точка1.png

    Мы получили правильное неравенство для любых ошибочных значений x1.png
    и x2.png
    .

  2. Предположим, что неравенство верно для n.

    неравенство.png
    — правильный.

  3. Докажем, что неравенство верно для n+1.

    То есть надо доказывать nerevenstvo_nplus1.png
    исходя из предположения, что неравенство.png
    — правильный.

    Идти.

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

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

Читайте также: Примеры функции ПРОСМОТР для быстрого поиска в диапазоне Excel

Сглаживание ряда методом наименьших квадратов

  1. Упражнение.
    Построить прогноз текущей численности населения города Б на 2010-2011 гг с использованием методов: скользящего среднего, экспоненциального сглаживания, наименьших квадратов.
  2.  Построить график с фактическими и расчетными показателями.
  3.  Рассчитайте ошибки полученных прогнозов по каждому методу.
  4.  Сравните результаты, сделайте вывод.
  • Решение.
    Найдите параметры уравнения методом наименьших квадратов. Уравнение линейного тренда: y = bt + a
    Система уравнений наименьших квадратов:
    a0n + a1∑t = ∑y
    a0∑t + a1∑t2 = ∑y•t
т у т2 у2 т•у
1 58,8 1 3457,44 58,8
2 58,7 4 3445,69 117,4
3 59 9 3481 177
4 59 16 3481 236
5 58,8 25 3457,44 294
6 58,3 36 3398,89 349,8
7 57,9 49 3352,41 405,3
8 57,5 64 3306,25 460
9 56,9 81 3237,61 512.1
45 524,9 285 30617,73 2610,4

Для наших данных система уравнений имеет вид:
9a0 + 45a1 = 524,9
45a0 + 285a1 = 2610,4
Выразим a0 из первого уравнения и подставим во второе уравнение
Получаем а0 = -0,24, а1 = 59,5
Уравнение тренда:
у = -0,24 т + 59,5
Эмпирические коэффициенты тренда a и b являются лишь оценками теоретических коэффициентов βi, а само уравнение лишь отражает общую тенденцию поведения соответствующих переменных.
Коэффициент тренда b = -0,24 показывает среднее изменение результативного показателя (в единицах у) при изменении периода времени t на единицу измерения. В этом примере при увеличении t на 1 единицу y изменится в среднем на -0,24.
Ошибка приближения.
Оценим качество уравнения тренда по абсолютной ошибке аппроксимации.
prim91.png
Ошибки аппроксимации в пределах 5%-7% свидетельствуют о хорошем подборе уравнения тренда к исходным данным.
prim92.png
Поскольку ошибка составляет менее 7%, это уравнение можно использовать в качестве тренда.
Однофакторный дисперсионный анализ.
Средний
prim93.png
prim94.png
prim95.png
Распространение
prim96.png
prim97.png
Среднеквадратичное отклонение
prim98.png
prim99.png
Коэффициент эластичности.
Коэффициент эластичности является показателем силы связи между фактором t и результатом у и показывает, на сколько процентов изменится значение у при изменении значения фактора на 1%.
prim910.png
prim911.png
Коэффициент эластичности меньше 1. Следовательно, если t изменится на 1%, Y изменится менее чем на 1%. Другими словами, влияние t на Y незначительно.
Эмпирическое корреляционное соотношение.
Эмпирический коэффициент корреляции рассчитывается для всех форм связи и служит для измерения тесноты зависимости. Изменения в пределах .
prim912.png
где (y-yt)² = 4,4-1,08 = 3,31
В отличие от коэффициента линейной корреляции, он характеризует плотность нелинейной связи, а не направление. Изменения в пределах .
Связи между признаками могут быть слабыми или сильными (близкими). Их критерии оцениваются по шкале Чеддока:
0,1 0,3 0,5 0,7 0,9 Полученное значение свидетельствует о существенном влиянии изменения периода времени t на y.
Коэффициент детерминации.
prim914.png
prim915.png
на них в 75,39% случаев влияет изменение данных. Другими словами, точность выбора уравнения тренда высока.

т у у(т) (y-ycp)2 (гг(т))2 (т-тп)2 (уу (т)): о
1 58,8 59,26 0,23 0,21 16 0,00786
2 58,7 59.03 0,14 0,11 9 0,00557
3 59 58,79 0,46 0,0431 4 0,00352
4 59 58,56 0,46 0,2 1 0,0075
5 58,8 58,32 0,23 0,23 0 0,00813
6 58,3 58.09 0,0004 0,0452 1 0,00365
7 57,9 57,85 0,18 0,0022 4 0,000825
8 57,5 57,62 0,68 0,0137 9 0,00204
9 56,9 57,38 2.02 0,23 16 0,00847
45 524,9 524,9 4.4 1,08 60 0,0476

Предупреждение об интервале.
Определим среднеквадратичную ошибку прогнозируемого показателя.
prim916.png
m = 1 — количество влияющих факторов в уравнении тренда.
Uy=yn+L±K
где prim918.png
L – время выполнения заказа; уn+L – точечный прогноз по модели в (n + L)-й момент времени; n — количество наблюдений во временном ряду; Sy — стандартная ошибка прогнозируемого показателя; Tтабл – табличное значение критерия Стьюдента для уровня значимости α и числа степеней свободы, равного n-2.
По таблице Стьюдента находим Tтабл
Таблица (нм-1;а/2) = (7;0,025) = 2,365
Точечный прогноз, t = 10: y(10) = -0,24*10 + 59,5 = 57,15
prim919.png
57,15 — 1,08 = 56,07; 57,15 + 1,08 = 58,23
Предупреждение об интервале:
т = 10: (56,07; 58,23)
Точечное предупреждение, t = 11: y(11) = -0,24*11 + 59,5 = 56,91
prim920.png
56,91 — 1,14 = 55,77; 56,91 + 1,14 = 58,05
Предупреждение об интервале:
т = 11: (55,77; 58,05)

  • Сглаживаем ряд методом скользящего среднего. Одним из эмпирических методов является метод скользящего среднего. Этот метод заключается в замене абсолютных уровней временных рядов их средними арифметическими значениями на определенных интервалах. Эти интервалы выбираются скользящим методом: из интервала постепенно исключаются первые уровни и включаются последующие.
т у фигня Формула
1 58,8 58,75 (58,8 + 58,7)/2
2 58,7 58,85 (58,7 + 59)/2
3 59 59 (59 + 59)/2
4 59 58,9 (59 + 58,8)/2
5 58,8 58,55 (58,8 + 58,3)/2
6 58,3 58,1 (58,3 + 57,9)/2
7 57,9 57,7 (57,9 + 57,5)/2
8 57,5 57,2 (57,5 + 56,9)/2
9 56,9

Стандартная ошибка (погрешность) рассчитывается по формуле:
prim921.png
где i = (tm-1, t)

  •  Построим прогноз населения с помощью экспоненциального сглаживания. Важным методом стохастического прогнозирования является метод экспоненциального сглаживания. Этот метод заключается в сглаживании динамического ряда с помощью скользящего среднего, где веса подчиняются экспоненциальному закону.
    Это среднее называется экспоненциальным средним и обозначается св.
    Это характеристика последних значений во временном ряду, которым присваивается наибольший вес.
  • Экспоненциальное среднее вычисляется по рекурсивной формуле:
    St = α*Yt + (1- α)St-1
    где St — значение экспоненциального среднего в момент времени t;
    St-1 – значение экспоненциального среднего в момент времени (t = 1);
  • Что касается стартового параметра S0, то в задачах он принимается либо равным значению первого уровня ряда y1, либо равным среднему арифметическому первых членов ряда.
    Yt — значение экспоненциального процесса в момент времени t;
    α — вес t-го значения временного ряда (или параметр сглаживания).
  • Последовательное использование формулы позволяет вычислить экспоненциальное среднее через значения всех уровней в заданном ряду динамики.
    Важнейшим свойством в этой модели является α, при значении которого прогноз практически выполняется. Чем ближе значение этого параметра к 1, тем больше в прогнозе учитывается влияние последних уровней временного ряда.
  • Если α близко к 0, то веса, которыми взвешиваются уровни динамического ряда, медленно уменьшаются, т.е в прогнозе учитываются все предыдущие уровни в ряду.
    В специальной литературе отмечается, что обычно на практике значение α находится в пределах от 0,1 до 0,3. Значение 0,5 практически никогда не превышается.
    Экспоненциальное выравнивание в первую очередь относится к постоянному объему потребления (α = 0,1 — 0,3). Для более высоких значений (0,3 — 0,5) метод подходит при изменении структуры потребления, например, в связи с сезонными колебаниями.
    В качестве S0 возьмем первое значение ряда, S0 = y1 = 58,8
т у Св Формула
1 58,8 58,8 (1 – 0,1)*58,8 + 0,1*58,8
2 58,7 58,71 (1 – 0,1)*58,7 + 0,1*58,8
3 59 58,97 (1 – 0,1)*59 + 0,1*58,71
4 59 59 (1 – 0,1)*59 + 0,1*58,97
5 58,8 58,82 (1 – 0,1)*58,8 + 0,1*59
6 58,3 58,35 (1 – 0,1)*58,3 + 0,1*58,82
7 57,9 57,95 (1 – 0,1)*57,9 + 0,1*58,35
8 57,5 57,54 (1 – 0,1)*57,5 + 0,1*57,95
9 56,9 56,96 (1 – 0,1)*56,9 + 0,1*57,54

Прогнозирование данных с использованием экспоненциального сглаживания.
Методы прогнозирования, называемые «сглаживанием», гораздо лучше учитывают влияние посторонних признаков, чем методы, использующие регрессионный анализ.
Основное уравнение выглядит следующим образом:
F(t+1) = F(t)(1 – α) + αY(t)
F(t) — прогноз, сделанный в момент времени t; F(t+1) отражает прогноз в периоде времени сразу после момента времени t
Стандартная ошибка (погрешность) рассчитывается по формуле:
prim922.png
где я = (t — 2, t)

Пример. Используйте метод наименьших квадратов, найдите функции вида y=ax+b, y=ax²+bx+c, аппроксимирующие экспериментальную функцию y=f(x). В обоих случаях найдите сумму квадратов остатков ∑bi². В декартовой системе координат постройте экспериментальные точки и постройте функции поиска y=ax+b,y=ax^2+bx+c.
Пример №5

Пример №6

Пример №3. Функция y=y(x) задается таблицей со значениями:
х: -2 -1 0 1 2
у: -0,8 -1,6 -1,3 0,4 3,2
Используя метод наименьших квадратов, аппроксимируйте функцию полиномами 1 и 2 степени. Для каждого приближения определите значение среднеквадратичной ошибки. Построить точечную диаграмму функции и график для многочленов.

  • Решение. Полиномиальная функция 2-й степени имеет вид y = ax2+ bx + c.
    Найдите параметры уравнения методом наименьших квадратов. Система уравнений наименьших квадратов:
    a0n + a1∑x + a2∑x2= ∑y
    а0∑х + а1∑х2+ а2∑х3= ∑ух
    a0∑x2+ a1∑x3+ a2∑x4= ∑yx2
икс у х2 у2 ху х3 х4 x2y
0 0 0 0 0 0 0 0
-2 -0,8 4 0,64 1,6 -8 16 -3,2
-1 -1,6 1 2,56 1,6 -1 1 -1,6
0 -1,3 0 1,69 0 0 0 0
1 0,4 1 0,16 0,4 1 1 0,4
2 3.2 4 10.24 6.4 8 16 12,8
0 -0,1 10 15.29 10 0 34 8.4

Для наших данных система уравнений имеет вид
6а0+ 0а1+ 10а2= -0,1
0а0+ 10а1+ 0а2= 10
10а0+ 0а1+ 34а2= 8,4
Получаем а0= 0,494, а1= 1, а2= -0,84
Уравнение: y = 0,494×2+x-0,84

Суть метода

Табличные данные могут отображаться на декартовой плоскости в виде точек M1 (x1, y1),… Mn (xn, yn). Теперь решение задачи сведется к выбору приближенной функции y = f(x), график которой проходит максимально близко к точкам M1, M2, ..Mn.

Конечно, можно использовать полином высокой степени, но такой вариант не только сложен в реализации, но и просто неверен, так как не будет отражать основной тренд, который необходимо выявить. Наиболее разумным решением будет найти прямую y = ax + b, которая наилучшим образом аппроксимирует экспериментальные данные, а точнее коэффициенты a и b.

2000258.jpg

Применение надстройки поиск решения

  1.  Если у вас не активирована надстройка «поиск решения», вернитесь в раздел Как активировать надстройку «воскрешать» и включите
  2.  В ячейке A1 введите значение «1». Эта единица будет первым приближением к реальному значению коэффициента (k) нашей функциональной зависимости y=kx.
  3.  В столбце B имеем значения параметра X, в столбце C — значения параметра Y. В ячейки столбца D вводим формулу: «коэффициент k, умноженный на значение X» . Например, в ячейке D1 введите «=A1*B1», в ячейке D2 введите «=A1*B2» и так далее

vvod-formuli-y-kx.jpg

  1.  Считаем, что коэффициент k равен единице и функция f(x)=y=1*x является первым приближением к нашему решению. Мы можем вычислить сумму квадратов разностей между измеренными значениями Y и рассчитанными по формуле y=1*x. Мы можем сделать все это вручную, запустив соответствующие ссылки на ячейки в формулу: «=(D2-C2)^2+(D3-C3)^2+(D4-C4)^2. и так далее. Это был тратим много времени.В Excel для расчета суммы квадратов разностей есть специальная формула «СУММКВразн», которая все сделает за нас.Вводим ее в ячейку А2 и вводим первые данные: диапазон измеренные значения Y (столбец C) и диапазон рассчитанных значений Y (столбец D).

vvod-funktsii-dlya-mnk.jpg

  1.  Сумму разностей квадратов посчитали — теперь переходим на вкладку «Данные» и выбираем «Поиск решения».
  2.  В появившемся меню в качестве изменяемой ячейки выберите ячейку A1 (ту, что с коэффициентом k).
  3.  В качестве цели выберите ячейку A2 и установите условие «установить равным минимальному значению». Помните, что это ячейка, в которой мы вычисляем сумму квадратов разностей между рассчитанными и измеренными значениями, и эта сумма должна быть минимальной. Нажимаем «выполнить».

окно-поиск-решения.jpg

  1.  Выбирается коэффициент k. Теперь видно, что расчетные значения теперь очень близки к измеренным.

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

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

Используемый метод (метод множителя Ларанжа) накладывает ограничения на набор функций аппроксимации, поэтому данный калькулятор не поддерживает экспоненциальную аппроксимацию, степенную аппроксимацию и экспоненциальную аппроксимацию. Одним словом, поддерживается только линейная регрессия. Но к ней добавилась аппроксимация полиномами 4-й и 5-й степени. Формулы и немного теории можно найти под калькулятором.

Если вы не введете значение x, калькулятор будет считать, что значение x изменяется от 0 с шагом 1.

Оценка точности

Для любого подхода особое значение имеет оценка точности. Обозначим через ei разность (отклонение) между функциональными и экспериментальными значениями для точки xi, т е ei = yi–f (xi).

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

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

Использование метода в Экселе

Метод наименьших квадратов (МНК) представляет собой математическое описание зависимости одной переменной от другой. Его можно использовать для прогнозирования.

Инструмент диаграммы Линия тренда

Еще один способ построения прямой линии с использованием метода наименьших квадратов — это инструмент построения графика «Линия тренда». Для этого выберите график, выберите в меню вкладку «Макет», нажмите «Линия тренда» в группе «Анализ», затем «Линейный подход .

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

Примечание. Чтобы параметры совпадали, тип диаграммы должен быть точечной, а не графической. Дело в том, что при построении графика-графика значения по оси X не могут быть заданы пользователем (пользователь может указать только метки, не влияющие на расположение точек). Вместо значений X используется последовательность 1; 2; 3; … (для нумерации категорий). Поэтому, если построить линию тренда на диаграмме графического типа, то значения этой последовательности будут использоваться вместо фактических значений Х, что приведет к неверному результату (если, конечно, действительные значения Х не соответствуют последовательности 1; 2; 3; …).

Оцените статью
Блог о Microsoft Word