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

Метод наименьших квадратов (МНК, англ. Ordinary Least Squares, OLS ) - математический метод, применяемый для решения различных задач, основанный на минимизации суммы квадратов отклонений некоторых функций от искомых переменных. Он может использоваться для «решения» переопределенных систем уравнений (когда количество уравнений превышает количество неизвестных), для поиска решения в случае обычных (не переопределенных) нелинейных систем уравнений, для аппроксимации точечных значений некоторой функции. МНК является одним из базовых методов регрессионного анализа для оценки неизвестных параметров регрессионных моделей по выборочным данным.

Энциклопедичный YouTube

    1 / 5

    ✪ Метод наименьших квадратов. Тема

    ✪ Метод наименьших квадратов, урок 1/2. Линейная функция

    ✪ Эконометрика. Лекция 5 .Метод наименьших квадратов

    ✪ Митин И. В. - Обработка результатов физ. эксперимента - Метод наименьших квадратов (Лекция 4)

    ✪ Эконометрика: Суть метода наименьших квадратов #2

    Субтитры

История

До начала XIX в. учёные не имели определённых правил для решения системы уравнений , в которой число неизвестных меньше, чем число уравнений; до этого времени употреблялись частные приёмы, зависевшие от вида уравнений и от остроумия вычислителей, и потому разные вычислители, исходя из тех же данных наблюдений, приходили к различным выводам. Гауссу (1795) принадлежит первое применение метода, а Лежандр (1805) независимо открыл и опубликовал его под современным названием (фр. Méthode des moindres quarrés ) . Лаплас связал метод с теорией вероятностей , а американский математик Эдрейн (1808) рассмотрел его теоретико-вероятностные приложения . Метод распространён и усовершенствован дальнейшими изысканиями Энке , Бесселя , Ганзена и других.

Сущность метода наименьших квадратов

Пусть x {\displaystyle x} - набор n {\displaystyle n} неизвестных переменных (параметров), f i (x) {\displaystyle f_{i}(x)} , , m > n {\displaystyle m>n} - совокупность функций от этого набора переменных. Задача заключается в подборе таких значений x {\displaystyle x} , чтобы значения этих функций были максимально близки к некоторым значениям y i {\displaystyle y_{i}} . По существу речь идет о «решении» переопределенной системы уравнений f i (x) = y i {\displaystyle f_{i}(x)=y_{i}} , i = 1 , … , m {\displaystyle i=1,\ldots ,m} в указанном смысле максимальной близости левой и правой частей системы. Сущность МНК заключается в выборе в качестве «меры близости» суммы квадратов отклонений левых и правых частей | f i (x) − y i | {\displaystyle |f_{i}(x)-y_{i}|} . Таким образом, сущность МНК может быть выражена следующим образом:

∑ i e i 2 = ∑ i (y i − f i (x)) 2 → min x {\displaystyle \sum _{i}e_{i}^{2}=\sum _{i}(y_{i}-f_{i}(x))^{2}\rightarrow \min _{x}} .

В случае, если система уравнений имеет решение, то минимум суммы квадратов будет равен нулю и могут быть найдены точные решения системы уравнений аналитически или, например, различными численными методами оптимизации. Если система переопределена, то есть, говоря нестрого, количество независимых уравнений больше количества искомых переменных, то система не имеет точного решения и метод наименьших квадратов позволяет найти некоторый «оптимальный» вектор x {\displaystyle x} в смысле максимальной близости векторов y {\displaystyle y} и f (x) {\displaystyle f(x)} или максимальной близости вектора отклонений e {\displaystyle e} к нулю (близость понимается в смысле евклидова расстояния).

Пример - система линейных уравнений

В частности, метод наименьших квадратов может использоваться для «решения» системы линейных уравнений

A x = b {\displaystyle Ax=b} ,

где A {\displaystyle A} прямоугольная матрица размера m × n , m > n {\displaystyle m\times n,m>n} (т.е. число строк матрицы A больше количества искомых переменных).

Такая система уравнений в общем случае не имеет решения. Поэтому эту систему можно «решить» только в смысле выбора такого вектора x {\displaystyle x} , чтобы минимизировать «расстояние» между векторами A x {\displaystyle Ax} и b {\displaystyle b} . Для этого можно применить критерий минимизации суммы квадратов разностей левой и правой частей уравнений системы, то есть (A x − b) T (A x − b) → min x {\displaystyle (Ax-b)^{T}(Ax-b)\rightarrow \min _{x}} . Нетрудно показать, что решение этой задачи минимизации приводит к решению следующей системы уравнений

A T A x = A T b ⇒ x = (A T A) − 1 A T b {\displaystyle A^{T}Ax=A^{T}b\Rightarrow x=(A^{T}A)^{-1}A^{T}b} .

МНК в регрессионном анализе (аппроксимация данных)

Пусть имеется n {\displaystyle n} значений некоторой переменной y {\displaystyle y} (это могут быть результаты наблюдений, экспериментов и т. д.) и соответствующих переменных x {\displaystyle x} . Задача заключается в том, чтобы взаимосвязь между y {\displaystyle y} и x {\displaystyle x} аппроксимировать некоторой функцией , известной с точностью до некоторых неизвестных параметров b {\displaystyle b} , то есть фактически найти наилучшие значения параметров b {\displaystyle b} , максимально приближающие значения f (x , b) {\displaystyle f(x,b)} к фактическим значениям y {\displaystyle y} . Фактически это сводится к случаю «решения» переопределенной системы уравнений относительно b {\displaystyle b} :

F (x t , b) = y t , t = 1 , … , n {\displaystyle f(x_{t},b)=y_{t},t=1,\ldots ,n} .

В регрессионном анализе и в частности в эконометрике используются вероятностные модели зависимости между переменными

Y t = f (x t , b) + ε t {\displaystyle y_{t}=f(x_{t},b)+\varepsilon _{t}} ,

где ε t {\displaystyle \varepsilon _{t}} - так называемые случайные ошибки модели.

Соответственно, отклонения наблюдаемых значений y {\displaystyle y} от модельных f (x , b) {\displaystyle f(x,b)} предполагается уже в самой модели. Сущность МНК (обычного, классического) заключается в том, чтобы найти такие параметры b {\displaystyle b} , при которых сумма квадратов отклонений (ошибок, для регрессионных моделей их часто называют остатками регрессии) e t {\displaystyle e_{t}} будет минимальной:

b ^ O L S = arg ⁡ min b R S S (b) {\displaystyle {\hat {b}}_{OLS}=\arg \min _{b}RSS(b)} ,

где R S S {\displaystyle RSS} - англ. Residual Sum of Squares определяется как:

R S S (b) = e T e = ∑ t = 1 n e t 2 = ∑ t = 1 n (y t − f (x t , b)) 2 {\displaystyle RSS(b)=e^{T}e=\sum _{t=1}^{n}e_{t}^{2}=\sum _{t=1}^{n}(y_{t}-f(x_{t},b))^{2}} .

В общем случае решение этой задачи может осуществляться численными методами оптимизации (минимизации). В этом случае говорят о нелинейном МНК (NLS или NLLS - англ. Non-Linear Least Squares ). Во многих случаях можно получить аналитическое решение. Для решения задачи минимизации необходимо найти стационарные точки функции R S S (b) {\displaystyle RSS(b)} , продифференцировав её по неизвестным параметрам b {\displaystyle b} , приравняв производные к нулю и решив полученную систему уравнений:

∑ t = 1 n (y t − f (x t , b)) ∂ f (x t , b) ∂ b = 0 {\displaystyle \sum _{t=1}^{n}(y_{t}-f(x_{t},b)){\frac {\partial f(x_{t},b)}{\partial b}}=0} .

МНК в случае линейной регрессии

Пусть регрессионная зависимость является линейной:

y t = ∑ j = 1 k b j x t j + ε = x t T b + ε t {\displaystyle y_{t}=\sum _{j=1}^{k}b_{j}x_{tj}+\varepsilon =x_{t}^{T}b+\varepsilon _{t}} .

Пусть y - вектор-столбец наблюдений объясняемой переменной, а X {\displaystyle X} - это (n × k) {\displaystyle ({n\times k})} -матрица наблюдений факторов (строки матрицы - векторы значений факторов в данном наблюдении, по столбцам - вектор значений данного фактора во всех наблюдениях). Матричное представление линейной модели имеет вид:

y = X b + ε {\displaystyle y=Xb+\varepsilon } .

Тогда вектор оценок объясняемой переменной и вектор остатков регрессии будут равны

y ^ = X b , e = y − y ^ = y − X b {\displaystyle {\hat {y}}=Xb,\quad e=y-{\hat {y}}=y-Xb} .

соответственно сумма квадратов остатков регрессии будет равна

R S S = e T e = (y − X b) T (y − X b) {\displaystyle RSS=e^{T}e=(y-Xb)^{T}(y-Xb)} .

Дифференцируя эту функцию по вектору параметров b {\displaystyle b} и приравняв производные к нулю, получим систему уравнений (в матричной форме):

(X T X) b = X T y {\displaystyle (X^{T}X)b=X^{T}y} .

В расшифрованной матричной форме эта система уравнений выглядит следующим образом:

(∑ x t 1 2 ∑ x t 1 x t 2 ∑ x t 1 x t 3 … ∑ x t 1 x t k ∑ x t 2 x t 1 ∑ x t 2 2 ∑ x t 2 x t 3 … ∑ x t 2 x t k ∑ x t 3 x t 1 ∑ x t 3 x t 2 ∑ x t 3 2 … ∑ x t 3 x t k ⋮ ⋮ ⋮ ⋱ ⋮ ∑ x t k x t 1 ∑ x t k x t 2 ∑ x t k x t 3 … ∑ x t k 2) (b 1 b 2 b 3 ⋮ b k) = (∑ x t 1 y t ∑ x t 2 y t ∑ x t 3 y t ⋮ ∑ x t k y t) , {\displaystyle {\begin{pmatrix}\sum x_{t1}^{2}&\sum x_{t1}x_{t2}&\sum x_{t1}x_{t3}&\ldots &\sum x_{t1}x_{tk}\\\sum x_{t2}x_{t1}&\sum x_{t2}^{2}&\sum x_{t2}x_{t3}&\ldots &\sum x_{t2}x_{tk}\\\sum x_{t3}x_{t1}&\sum x_{t3}x_{t2}&\sum x_{t3}^{2}&\ldots &\sum x_{t3}x_{tk}\\\vdots &\vdots &\vdots &\ddots &\vdots \\\sum x_{tk}x_{t1}&\sum x_{tk}x_{t2}&\sum x_{tk}x_{t3}&\ldots &\sum x_{tk}^{2}\\\end{pmatrix}}{\begin{pmatrix}b_{1}\\b_{2}\\b_{3}\\\vdots \\b_{k}\\\end{pmatrix}}={\begin{pmatrix}\sum x_{t1}y_{t}\\\sum x_{t2}y_{t}\\\sum x_{t3}y_{t}\\\vdots \\\sum x_{tk}y_{t}\\\end{pmatrix}},} где все суммы берутся по всем допустимым значениям t {\displaystyle t} .

Если в модель включена константа (как обычно), то x t 1 = 1 {\displaystyle x_{t1}=1} при всех t {\displaystyle t} , поэтому в левом верхнем углу матрицы системы уравнений находится количество наблюдений n {\displaystyle n} , а в остальных элементах первой строки и первого столбца - просто суммы значений переменных: ∑ x t j {\displaystyle \sum x_{tj}} и первый элемент правой части системы - ∑ y t {\displaystyle \sum y_{t}} .

Решение этой системы уравнений и дает общую формулу МНК-оценок для линейной модели:

b ^ O L S = (X T X) − 1 X T y = (1 n X T X) − 1 1 n X T y = V x − 1 C x y {\displaystyle {\hat {b}}_{OLS}=(X^{T}X)^{-1}X^{T}y=\left({\frac {1}{n}}X^{T}X\right)^{-1}{\frac {1}{n}}X^{T}y=V_{x}^{-1}C_{xy}} .

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

Немаловажное свойство МНК-оценок для моделей с константой - линия построенной регрессии проходит через центр тяжести выборочных данных, то есть выполняется равенство:

y ¯ = b 1 ^ + ∑ j = 2 k b ^ j x ¯ j {\displaystyle {\bar {y}}={\hat {b_{1}}}+\sum _{j=2}^{k}{\hat {b}}_{j}{\bar {x}}_{j}} .

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

Простейшие частные случаи

В случае парной линейной регрессии y t = a + b x t + ε t {\displaystyle y_{t}=a+bx_{t}+\varepsilon _{t}} , когда оценивается линейная зависимость одной переменной от другой, формулы расчета упрощаются (можно обойтись без матричной алгебры). Система уравнений имеет вид:

(1 x ¯ x ¯ x 2 ¯) (a b) = (y ¯ x y ¯) {\displaystyle {\begin{pmatrix}1&{\bar {x}}\\{\bar {x}}&{\bar {x^{2}}}\\\end{pmatrix}}{\begin{pmatrix}a\\b\\\end{pmatrix}}={\begin{pmatrix}{\bar {y}}\\{\overline {xy}}\\\end{pmatrix}}} .

Отсюда несложно найти оценки коэффициентов:

{ b ^ = Cov ⁡ (x , y) Var ⁡ (x) = x y ¯ − x ¯ y ¯ x 2 ¯ − x ¯ 2 , a ^ = y ¯ − b x ¯ . {\displaystyle {\begin{cases}{\hat {b}}={\frac {\mathop {\textrm {Cov}} (x,y)}{\mathop {\textrm {Var}} (x)}}={\frac {{\overline {xy}}-{\bar {x}}{\bar {y}}}{{\overline {x^{2}}}-{\overline {x}}^{2}}},\\{\hat {a}}={\bar {y}}-b{\bar {x}}.\end{cases}}}

Несмотря на то что в общем случае модели с константой предпочтительней, в некоторых случаях из теоретических соображений известно, что константа a {\displaystyle a} должна быть равна нулю. Например, в физике зависимость между напряжением и силой тока имеет вид U = I ⋅ R {\displaystyle U=I\cdot R} ; замеряя напряжение и силу тока, необходимо оценить сопротивление. В таком случае речь идёт о модели y = b x {\displaystyle y=bx} . В этом случае вместо системы уравнений имеем единственное уравнение

(∑ x t 2) b = ∑ x t y t {\displaystyle \left(\sum x_{t}^{2}\right)b=\sum x_{t}y_{t}} .

Следовательно, формула оценки единственного коэффициента имеет вид

B ^ = ∑ t = 1 n x t y t ∑ t = 1 n x t 2 = x y ¯ x 2 ¯ {\displaystyle {\hat {b}}={\frac {\sum _{t=1}^{n}x_{t}y_{t}}{\sum _{t=1}^{n}x_{t}^{2}}}={\frac {\overline {xy}}{\overline {x^{2}}}}} .

Случай полиномиальной модели

Если данные аппроксимируются полиномиальной функцией регрессии одной переменной f (x) = b 0 + ∑ i = 1 k b i x i {\displaystyle f(x)=b_{0}+\sum \limits _{i=1}^{k}b_{i}x^{i}} , то, воспринимая степени x i {\displaystyle x^{i}} как независимые факторы для каждого i {\displaystyle i} можно оценить параметры модели исходя из общей формулы оценки параметров линейной модели. Для этого в общую формулу достаточно учесть, что при такой интерпретации x t i x t j = x t i x t j = x t i + j {\displaystyle x_{ti}x_{tj}=x_{t}^{i}x_{t}^{j}=x_{t}^{i+j}} и x t j y t = x t j y t {\displaystyle x_{tj}y_{t}=x_{t}^{j}y_{t}} . Следовательно, матричные уравнения в данном случае примут вид:

(n ∑ n x t … ∑ n x t k ∑ n x t ∑ n x t 2 … ∑ n x t k + 1 ⋮ ⋮ ⋱ ⋮ ∑ n x t k ∑ n x t k + 1 … ∑ n x t 2 k) [ b 0 b 1 ⋮ b k ] = [ ∑ n y t ∑ n x t y t ⋮ ∑ n x t k y t ] . {\displaystyle {\begin{pmatrix}n&\sum \limits _{n}x_{t}&\ldots &\sum \limits _{n}x_{t}^{k}\\\sum \limits _{n}x_{t}&\sum \limits _{n}x_{t}^{2}&\ldots &\sum \limits _{n}x_{t}^{k+1}\\\vdots &\vdots &\ddots &\vdots \\\sum \limits _{n}x_{t}^{k}&\sum \limits _{n}x_{t}^{k+1}&\ldots &\sum \limits _{n}x_{t}^{2k}\end{pmatrix}}{\begin{bmatrix}b_{0}\\b_{1}\\\vdots \\b_{k}\end{bmatrix}}={\begin{bmatrix}\sum \limits _{n}y_{t}\\\sum \limits _{n}x_{t}y_{t}\\\vdots \\\sum \limits _{n}x_{t}^{k}y_{t}\end{bmatrix}}.}

Статистические свойства МНК-оценок

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

  1. математическое ожидание случайных ошибок равно нулю, и
  2. факторы и случайные ошибки - независимые случайные величины .

Второе условие - условие экзогенности факторов - принципиальное. Если это свойство не выполнено, то можно считать, что практически любые оценки будут крайне неудовлетворительными: они не будут даже состоятельными (то есть даже очень большой объём данных не позволяет получить качественные оценки в этом случае). В классическом случае делается более сильное предположение о детерминированности факторов, в отличие от случайной ошибки, что автоматически означает выполнение условия экзогенности. В общем случае для состоятельности оценок достаточно выполнения условия экзогенности вместе со сходимостью матрицы V x {\displaystyle V_{x}} к некоторой невырожденной матрице при увеличении объёма выборки до бесконечности.

Для того, чтобы кроме состоятельности и несмещенности , оценки (обычного) МНК были ещё и эффективными (наилучшими в классе линейных несмещенных оценок) необходимо выполнение дополнительных свойств случайной ошибки:

Данные предположения можно сформулировать для ковариационной матрицы вектора случайных ошибок V (ε) = σ 2 I {\displaystyle V(\varepsilon)=\sigma ^{2}I} .

Линейная модель, удовлетворяющая таким условиям, называется классической . МНК-оценки для классической линейной регрессии являются несмещёнными , состоятельными и наиболее эффективными оценками в классе всех линейных несмещённых оценок (в англоязычной литературе иногда употребляют аббревиатуру BLUE (Best Linear Unbiased Estimator ) - наилучшая линейная несмещённая оценка; в отечественной литературе чаще приводится теорема Гаусса - Маркова). Как нетрудно показать, ковариационная матрица вектора оценок коэффициентов будет равна:

V (b ^ O L S) = σ 2 (X T X) − 1 {\displaystyle V({\hat {b}}_{OLS})=\sigma ^{2}(X^{T}X)^{-1}} .

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

S 2 = R S S / (n − k) {\displaystyle s^{2}=RSS/(n-k)} .

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

Необходимо отметить, что если классические предположения не выполнены, МНК-оценки параметров не являются наиболее эффективными и, где W {\displaystyle W} - некоторая симметрическая положительно определенная весовая матрица. Обычный МНК является частным случаем данного подхода, когда весовая матрица пропорциональна единичной матрице. Как известно, для симметрических матриц (или операторов) существует разложение W = P T P {\displaystyle W=P^{T}P} . Следовательно, указанный функционал можно представить следующим образом e T P T P e = (P e) T P e = e ∗ T e ∗ {\displaystyle e^{T}P^{T}Pe=(Pe)^{T}Pe=e_{*}^{T}e_{*}} , то есть этот функционал можно представить как сумму квадратов некоторых преобразованных «остатков». Таким образом, можно выделить класс методов наименьших квадратов - LS-методы (Least Squares).

Доказано (теорема Айткена), что для обобщенной линейной регрессионной модели (в которой на ковариационную матрицу случайных ошибок не налагается никаких ограничений) наиболее эффективными (в классе линейных несмещенных оценок) являются оценки т. н. обобщенного МНК (ОМНК, GLS - Generalized Least Squares) - LS-метода с весовой матрицей, равной обратной ковариационной матрице случайных ошибок: W = V ε − 1 {\displaystyle W=V_{\varepsilon }^{-1}} .

Можно показать, что формула ОМНК-оценок параметров линейной модели имеет вид

B ^ G L S = (X T V − 1 X) − 1 X T V − 1 y {\displaystyle {\hat {b}}_{GLS}=(X^{T}V^{-1}X)^{-1}X^{T}V^{-1}y} .

Ковариационная матрица этих оценок соответственно будет равна

V (b ^ G L S) = (X T V − 1 X) − 1 {\displaystyle V({\hat {b}}_{GLS})=(X^{T}V^{-1}X)^{-1}} .

Фактически сущность ОМНК заключается в определенном (линейном) преобразовании (P) исходных данных и применении обычного МНК к преобразованным данным. Цель этого преобразования - для преобразованных данных случайные ошибки уже удовлетворяют классическим предположениям.

Взвешенный МНК

В случае диагональной весовой матрицы (а значит и ковариационной матрицы случайных ошибок) имеем так называемый взвешенный МНК (WLS - Weighted Least Squares). В данном случае минимизируется взвешенная сумма квадратов остатков модели, то есть каждое наблюдение получает «вес», обратно пропорциональный дисперсии случайной ошибки в данном наблюдении: e T W e = ∑ t = 1 n e t 2 σ t 2 {\displaystyle e^{T}We=\sum _{t=1}^{n}{\frac {e_{t}^{2}}{\sigma _{t}^{2}}}} . Фактически данные преобразуются взвешиванием наблюдений (делением на величину, пропорциональную предполагаемому стандартному отклонению случайных ошибок), а к взвешенным данным применяется обычный МНК.

ISBN 978-5-7749-0473-0 .

  • Эконометрика. Учебник / Под ред. Елисеевой И. И. - 2-е изд. - М. : Финансы и статистика, 2006. - 576 с. - ISBN 5-279-02786-3 .
  • Александрова Н. В. История математических терминов, понятий, обозначений: словарь-справочник. - 3-е изд.. - М. : ЛКИ, 2008. - 248 с. - ISBN 978-5-382-00839-4 . И.В Митин, Русаков В.С. Анализ и обработка экспериментальных данных- 5-е издание- 24с.
  • Если некоторая физическая величина зависит от другой величины, то эту зависимость можно исследовать, измеряя y при различных значениях x . В результате измерений получается ряд значений:

    x 1 , x 2 , ..., x i , ... , x n ;

    y 1 , y 2 , ..., y i , ... , y n .

    По данным такого эксперимента можно построить график зависимости y = ƒ(x). Полученная кривая дает возможность судить о виде функции ƒ(x). Однако постоянные коэффициенты, которые входят в эту функцию, остаются неизвестными. Определить их позволяет метод наименьших квадратов. Экспериментальные точки, как правило, не ложатся точно на кривую. Метод наименьших квадратов требует, чтобы сумма квадратов отклонений экспериментальных точек от кривой, т.е. 2 была наименьшей.

    На практике этот метод наиболее часто (и наиболее просто) используется в случае линейной зависимости, т.е. когда

    y = kx или y = a + bx.

    Линейная зависимость очень широко распространена в физике. И даже когда зависимость нелинейная, обычно стараются строить график так, чтобы получить прямую линию. Например, если предполагают, что показатель преломления стекла n связан с длиной λ световой волны соотношением n = a + b/λ 2 , то на графике строят зависимость n от λ -2 .

    Рассмотрим зависимость y = kx (прямая, проходящая через начало координат). Составим величину φ – сумму квадратов отклонений наших точек от прямой

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


    или
    (19)

    Вычисление показывает, что среднеквадратичная ошибка определения величины k равна при этом

    , (20)
    где – n число измерений.

    Рассмотрим теперь несколько более трудный случай, когда точки должны удовлетворить формуле y = a + bx (прямая, не проходящая через начало координат).

    Задача состоит в том, чтобы по имеющемуся набору значений x i , y i найти наилучшие значения a и b.

    Снова составим квадратичную форму φ , равную сумме квадратов отклонений точек x i , y i от прямой

    и найдем значения a и b , при которых φ имеет минимум

    ;

    .

    .

    Совместное решение этих уравнений дает

    (21)

    Среднеквадратичные ошибки определения a и b равны

    (23)

    .  (24)

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

    Пример 1. Исследовалось основное уравнение динамики вращательного движения ε = M/J (прямая, проходящая через начало координат). При различных значениях момента M измерялось угловое ускорение ε некоторого тела. Требуется определить момент инерции этого тела. Результаты измерений момента силы и углового ускорения занесены во второй и третий столбцы таблицы 5 .

    Таблица 5
    n M, Н · м ε, c -1 M 2 M · ε ε - kM (ε - kM) 2
    1 1.44 0.52 2.0736 0.7488 0.039432 0.001555
    2 3.12 1.06 9.7344 3.3072 0.018768 0.000352
    3 4.59 1.45 21.0681 6.6555 -0.08181 0.006693
    4 5.90 1.92 34.81 11.328 -0.049 0.002401
    5 7.45 2.56 55.5025 19.072 0.073725 0.005435
    – – 123.1886 41.1115 – 0.016436

    По формуле (19) определяем:

    .

    Для определения среднеквадратичной ошибки воспользуемся формулой (20)

    0.005775 кг -1 · м -2 .

    По формуле (18) имеем

    ; .

    S J = (2.996 · 0.005775)/0.3337 = 0.05185 кг · м 2 .

    Задавшись надежностью P = 0.95 , по таблице коэффициентов Стьюдента для n = 5, находим t = 2.78 и определяем абсолютную ошибку ΔJ = 2.78 · 0.05185 = 0.1441 ≈ 0.2 кг · м 2 .

    Результаты запишем в виде:

    J = (3.0 ± 0.2) кг · м 2 ;


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

    R t = R 0 (1 + α t°) = R 0 + R 0 α t°.

    Свободный член определяет сопротивление R 0 при температуре 0° C , а угловой коэффициент – произведение температурного коэффициента α на сопротивление R 0 .

    Результаты измерений и расчетов приведены в таблице (см. таблицу 6 ).

    Таблица 6
    n t°, c r, Ом t-¯ t (t-¯ t) 2 (t-¯ t)r r - bt - a (r - bt - a) 2 ,10 -6
    1 23 1.242 -62.8333 3948.028 -78.039 0.007673 58.8722
    2 59 1.326 -26.8333 720.0278 -35.581 -0.00353 12.4959
    3 84 1.386 -1.83333 3.361111 -2.541 -0.00965 93.1506
    4 96 1.417 10.16667 103.3611 14.40617 -0.01039 107.898
    5 120 1.512 34.16667 1167.361 51.66 0.021141 446.932
    6 133 1.520 47.16667 2224.694 71.69333 -0.00524 27.4556
    515 8.403 – 8166.833 21.5985 – 746.804
    ∑/n 85.83333 1.4005 – – – – –

    По формулам (21), (22) определяем

    R 0 = ¯ R- α R 0 ¯ t = 1.4005 - 0.002645 · 85.83333 = 1.1735 Ом .

    Найдем ошибку в определении α. Так как , то по формуле (18) имеем:

    .

    Пользуясь формулами (23), (24) имеем

    ;

    0.014126 Ом .

    Задавшись надежностью P = 0.95, по таблице коэффициентов Стьюдента для n = 6, находим t = 2.57 и определяем абсолютную ошибку Δα = 2.57 · 0.000132 = 0.000338 град -1 .

    α = (23 ± 4) · 10 -4 град -1 при P = 0.95.


    Пример 3. Требуется определить радиус кривизны линзы по кольцам Ньютона. Измерялись радиусы колец Ньютона r m и определялись номера этих колец m. Радиусы колец Ньютона связаны с радиусом кривизны линзы R и номером кольца уравнением

    r 2 m = mλR - 2d 0 R,

    где d 0 – толщина зазора между линзой и плоскопараллельной пластинкой (или деформация линзы),

    λ – длина волны падающего света.

    λ = (600 ± 6) нм;
    r 2 m = y;
    m = x;
    λR = b;
    -2d 0 R = a,

    тогда уравнение примет вид y = a + bx .

    .

    Результаты измерений и вычислений занесены в таблицу 7 .

    Таблица 7
    n x = m y = r 2 , 10 -2 мм 2 m -¯ m (m -¯ m) 2 (m -¯ m)y y - bx - a, 10 -4 (y - bx - a) 2 , 10 -6
    1 1 6.101 -2.5 6.25 -0.152525 12.01 1.44229
    2 2 11.834 -1.5 2.25 -0.17751 -9.6 0.930766
    3 3 17.808 -0.5 0.25 -0.08904 -7.2 0.519086
    4 4 23.814 0.5 0.25 0.11907 -1.6 0.0243955
    5 5 29.812 1.5 2.25 0.44718 3.28 0.107646
    6 6 35.760 2.5 6.25 0.894 3.12 0.0975819
    21 125.129 – 17.5 1.041175 – 3.12176
    ∑/n 3.5 20.8548333 – – – – –

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

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

    Знаете ли вы, что такое производная? Вероятнее всего вы мне скажете про предел разностного отношения. На первом курсе матмеха СПбГУ Виктор Петрович Хавин мне определил производную как коэффициент первого члена ряда Тейлора функции в точке (это была отдельная гимнастика, чтобы определить ряд Тейлора без производных). Я долго смеялся над таким определением, покуда в итоге не понял, о чём оно. Производная не что иное, как просто мера того, насколько функция, которую мы дифференцируем, похожа на функцию 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    При данных а и b функция принимает наименьшее значение.

    Вот и весь метод наименьших квадратов. Формула для нахождения параметра a содержит суммы , , , и параметр n - количество экспериментальных данных. Значения этих сумм рекомендуем вычислять отдельно. Коэффициент b находится после вычисления a .

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

    Численное интегрирование и дифференцирование. Пример.

    Численное интегрирование – вычисление значения определённого интеграла (как правило, приближённое). Под численным интегрированием понимают набор численных методов для нахождения значения определённого интеграла.

    Численное дифференцирование – совокупность методов вычисления значения производной дискретно заданной функции.

    Интегрирование

    Постановка задачи. Математическая постановка задачи: необходимо найти значение определенного интеграла

    где a, b - конечны, f(x) - непрерывна на [а, b].

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

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

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

    Можно выделить три группы методов:

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

    2. Методы с разбиением отрезка интегрирования с помощью специальных точек (метод Гаусса).

    3. Вычисление интегралов с помощью случайных чисел (метод Монте-Карло).

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

    Ширина всех прямоугольников одинакова и равна:

    В качестве выбора высоты прямоугольников можно выбрать значение функции на левой границе. В этом случае высота первого прямоугольника составит f(a), второго – f(x 1),…, N-f(N-1).

    Если в качестве выбора высоты прямоугольника взять значение функции на правой границе, то в этом случае высота первого прямоугольника составит f(x 1), второго – f(x 2), …, N – f(x N).

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

    Оценка абсолютной погрешности метода прямоугольников (середина)

    Оценка абсолютной погрешности методов левых и правых прямоугольников.

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

    Решение. Аналитическое вычисление данного интеграла дает I=агсtg(1)–агсtg(0)=0,7853981634. В нашем случае:

    1)h = 1; xо = 0; x1 = 1;

    2) h = 0,25 (1/4); x0 = 0; x1 = 0,25; x2 = 0,5; х3 = 0,75; x4 = 1;

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

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

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

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

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

    Формула трапеции может быть получена, если взять половину суммы формул прямоугольников по правому и левому краям отрезка:

    Проверка устойчивости решения. Как правило, чем меньше длина каждого интервала, т.е. чем больше число этих интервалов, тем меньше различаются приближенное и точное значение интеграла. Это справедливо для большинства функций. В методе трапеций ошибка вычисления интеграла ϭ приблизительно пропорциональна квадрату шага интегрирования (ϭ ~ h 2).Таким образом, для вычисления интеграла некоторой функции в переделах a,b необходимо разделить отрезок на N 0 интервалов и найти сумму площадей трапеции. Затем нужно увеличить число интервалов N 1 , опять вычислить сумму трапеции и сравнить полученное значение с предыдущим результатом. Это следует повторять до тех пор (N i), пока не будет достигнута заданная точность результата (критерий сходимости).

    Для методов прямоугольников и трапеции обычно на каждом шаге итерации число интервалов увеличивается в 2 раза (N i +1 =2N i).

    Критерий сходимости:

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

    Абсолютная погрешность метода трапеций оценивается как
    .

    Пример. Вычислить приближенно определенный интеграл по формуле трапеций.

    а) Разбив отрезок интегрирования на 3 части.
    б) Разбив отрезок интегрирования на 5 частей.

    Решение:
    а) По условию отрезок интегрирования нужно разделить на 3 части, то есть .
    Вычислим длину каждого отрезка разбиения: .

    Таким образом, общая формула трапеций сокращается до приятных размеров:

    Окончательно:

    Напоминаю, что полученное значение – это приближенное значение площади.

    б) Разобьём отрезок интегрирования на 5 равных частей, то есть . увеличивая количество отрезков, мы увеличиваем точность вычислений.

    Если , то формула трапеций принимает следующий вид:

    Найдем шаг разбиения:
    , то есть, длина каждого промежуточного отрезка равна 0,6.

    При чистовом оформлении задачи все вычисления удобно оформлять расчетной таблицей:

    В первой строке записываем «счётчик»

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

    Ну что же, уточнение, и серьёзное, действительно есть!
    Если для 3-х отрезков разбиения , то для 5-ти отрезков . Если взять еще больше отрезком => будет еще точнее.

    Формула Симпсона. Формула трапеции дает результат, сильно зависящий от величины шага h, что сказывается на точности вычисления определенного интеграла особенно в тех случаях, когда функция имеет немонотонный характер. Можно предположить повышение точности вычислений, если вместо отрезков прямых, заменяющих криволинейные фрагменты графика функции f(x), использовать, например, фрагменты парабол, приводимых через три соседние точки графика. Подобная геометрическая интерпретация лежит в основе метода Симпсона для вычисления определенного интеграла. Весь интервал интегрирования a,b разбивается N отрезков, длина отрезка также будет равна h=(b-a)/N.

    Формула Симпсона имеет вид:

    остаточный член

    С увеличением длины отрезков точность формулы падает, поэтому для увеличения точности применяют составную формулу Симпсона. Весь интервал интегрирования разбивается на четное число одинаковых отрезков N, длина отрезка также будет равна h=(b-a)/N. Составная формула Симпсона имеет вид:

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

    Остаточный член формулы Симпсона пропорционален уже четвертой степени шага:

    Пример: Пользуясь правилом Симпсона вычислить интеграл . (Точное решение - 0,2)

    Метод Гаусса

    Квадратурная формула Гаусса . Основной принцип квадратурных формул второй разновидности виден из рисунка 1.12: необходимо так разместить точки х 0 и х 1 внутри отрезка [a ;b ], чтобы площади "треугольников" в сумме были равны площади "сегмента". При использовании формулы Гаусса исходный отрезок [a ;b ] сводится к отрезку [-1;1] заменой переменной х на

    0.5∙(b a )∙t + 0.5∙(b + a ).

    Тогда , где .

    Такая замена возможна, если a и b конечны, а функция f (x ) непрерывна на [a ;b ]. Формула Гаусса при n точках x i , i =0,1,..,n -1 внутри отрезка [a ;b ]:

    , (1.27)

    где t i и A i для различных n приводятся в справочниках. Например, при n =2 A 0 =A 1 =1; при n =3: t 0 =t 2 »0.775, t 1 =0, A 0 =A 2 »0.555, A 1 »0.889.

    Квадратурная формула Гаусса

    получена с весовой функцией равной единице p(x)= 1 и узлами x i , являющимися корнями полиномов Лежандра

    Коэффициенты A i легко вычисляются по формулам

    i =0,1,2,...n .

    Значения узлов и коэффициентов для n=2,3,4,5 приведены в таблице

    Порядок Узлы Коэффициенты
    n =2 x 1 =0 x 0 = -x 2 =0.7745966692 A 1 =8/9 A 0 =A 2 =5/9
    n =3 x 2 = -x 1 =0.3399810436 x 3 = -x 0 =0.8611363116 A 1 =A 2 =0.6521451549 A 0 =A 3 =0.6521451549
    n=4 x 2 = 0 x 3 = -x 1 = 0.5384693101 x 4 =-x 0 =0.9061798459 A 0 =0.568888899 A 3 =A 1 =0.4786286705 A 0 =A 4 =0.2869268851
    n =5 x 5 = -x 0 =0.9324695142 x 4 = -x 1 =0.6612093865 x 3 = -x 2 =0.2386191861 A 5 =A 0 =0.1713244924 A 4 =A 1 =0.3607615730 A 3 =A 2 =0.4679139346

    Пример. Вычислить значение по формуле Гаусса для n =2:

    Точное значение: .

    Алгоритм вычисления интеграла по формуле Гаусса предусматривает не удвоение числа микроотрезков, а увеличение числа ординат на 1 и сравнение полученных значений интеграла. Преимущество формулы Гаусса – высокая точность при сравнительно малом числе ординат. Недостатки: неудобна при расчетах вручную; необходимо держать в памяти ЭВМ значения t i , A i для различных n .

    Погрешность квадратурной формулы Гаусса на отрезке будет при этом Для формула остаточного члена будет причем коэффициент α N быстро убывает с ростом N . Здесь

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

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

    Характеристика МНК

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

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

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

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

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

    Некоторые приложения МНК

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