Программа МНК

Введите данные

Доверительная вероятность:

Данные и аппроксимация y = a + b·x

i xi yi ωi yi, расч. Δyi Sxi(xi)
Жду данных... [загрузить пример]

i – номер экспериментальной точки;
xi – значение фиксированного параметра в точке i;
yi – значение измеряемого параметра в точке i;
ωi – вес измерения в точке i;
yi, расч. – разница между измеренным и вычисленным по регрессии значением y в точке i;
Sxi(xi) – оценка погрешности xi при измерении y в точке i.

Результат

Инструкция пользователя онлайн-программы МНК.

В поле данных введите на каждой отдельной строке значения `x` и `y` в одной экспериментальной точке. Значения должны отделяться пробельным символом (пробелом или знаком табуляции).

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

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

Для расчета по методу наименьших квадратов необходимо не менее двух точек для определения двух коэффициентов `b` – тангенса угла наклона прямой и `a` – значения, отсекаемого прямой на оси `y`.

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

Получение значений в каждой экспериментальной точке часто сопряжено со значительными трудозатратами, поэтому часто проводят компромиссное число экспериментов, которые дает удобоваримую оценку и не привеодит к чрезмерным трудо затратам. Как правило число экспериментах точек для линейной МНК зависимости с двумя коэффицинетами выбирает в районе 5-7 точек.

Краткая теория метода наименьших квадратов для линейной зависимости

Допустим у нас имеется набор экспериментальных данных в виде пар значений [`y_i`, `x_i`], где `i` – номер одного эксперементального измерения от 1 до `n`; `y_i` – значение измеренной величины в точке `i`; `x_i` – значение задаваемого нами параметра в точке `i`.

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

`I = U / R`,
где `I` – сила тока; `R` – сопротивление; `U` – напряжение.

В этом случае `y_i` у нас имеряемая величина тока, а `x_i` – значение напряжения.

В качестве другого примера рассмотрим поглощение света раствором вещества в растворе. Химия дает нам формулу:

`A = ε l C`,
где `A` – оптическая плотность раствора; `ε` – коэффициент пропускания растворенного вещества; `l` – длина пути при прохождении света через кювету с раствором; `C` – концентрация растворенного вещества.

В этом случае `y_i` у нас имеряемая величина отптической плотности `A`, а `x_i` – значение концентрации вещества, которое мы задаем.

Мы будем рассматривать случай, когда относительная погрешность в задании `x_i` значительно меньше, относительной погрешности измерения `y_i`. Так же мы будем предполагать, что все измеренные величины `y_i` случайные и нормально распределенные, т.е. подчиняются нормальному закону распределения.

В случае линейной зависимости `y` от `x`, мы можем написать теоретическую зависимость:
`y = a + b x`.

С геометрической точки зрения, коэффициент `b` обозначает тангенс угла наклона линии к оси `x`, а коэффициент `a` – значение `y` в точке пересечения линии с осью `y` (при `x = 0`).

Нахождение параметров линии регресии.

В эксперименте измеренные значения `y_i` не могут точно лечь на теоеретическую прямую из-за ошибок измерения, всегда присущих реальной жизни. Поэтому линейное уравнение, нужно представить системой уравнений:
`y_i = a + b x_i + ε_i`   (1),
где `ε_i` – неизвестная ошибка измерения `y` в `i`-ом эксперименте.

Зависимость (1) так же называют регрессией, т.е. зависимостью двух величин друг от друга со статистической значимостью.

Задачей восстановления зависимости является нахождение коэффициентов `a` и `b` по экспериментальным точкам [`y_i`, `x_i`].

Для нахождения коэффициентов `a` и `b` обычно используется метод наименьших квадратов (МНК). Он является частным случаем принципа максимального правдоподобия.

Перепишем (1) в виде `ε_i = y_i - a - b x_i`.

Тогда сумма квадратов ошибок будет
`Φ = sum_(i=1)^(n) ε_i^2 = sum_(i=1)^(n) (y_i - a - b x_i)^2`.   (2)

Принципом МНК (метода наименьших квадратов) является минимизация суммы (2) относительно параметров `a` и `b`. Минимум достигается, когда частные производные от суммы (2) по коэффициентам `a` и `b` равны нулю:
`frac(partial Φ)(partial a) = frac( partial sum_(i=1)^(n) (y_i - a - b x_i)^2)(partial a) = 0`
`frac(partial Φ)(partial b) = frac( partial sum_(i=1)^(n) (y_i - a - b x_i)^2)(partial b) = 0`

Раскрывая производные, получаем систему из двух уравнений с двумя неизвестными:
`sum_(i=1)^(n) (2a + 2bx_i - 2y_i) = sum_(i=1)^(n) (a + bx_i - y_i) = 0`
`sum_(i=1)^(n) (2bx_i^2 + 2ax_i - 2x_iy_i) = sum_(i=1)^(n) (bx_i^2 + ax_i - x_iy_i) = 0`

Раскрываем скобки и переносим независящие от искомых коэффициентов суммы в другую половину, получим систему линейных уравнений:
`sum_(i=1)^(n) y_i = a n + b sum_(i=1)^(n) bx_i`
`sum_(i=1)^(n) x_iy_i = a sum_(i=1)^(n) x_i + b sum_(i=1)^(n) x_i^2`

Решая, полученную систему, находим формулы для коэффициентов `a` и `b`:

`a = frac(sum_(i=1)^(n) y_i sum_(i=1)^(n) x_i^2 - sum_(i=1)^(n) x_i sum_(i=1)^(n) x_iy_i) (n sum_(i=1)^(n) x_i^2 - (sum_(i=1)^(n) x_i )^2)`   (3.1)

`b = frac(n sum_(i=1)^(n) x_iy_i - sum_(i=1)^(n) x_i sum_(i=1)^(n) y_i) (n sum_(i=1)^(n) x_i^2 - (sum_(i=1)^(n) x_i )^2)`   (3.2)

Эти формулы имеют решения, когда `n > 1` (линию можно построить не менее чем по 2-м точкам) и когда детерминант `D = n sum_(i=1)^(n) x_i^2 - (sum_(i=1)^(n) x_i )^2 != 0`, т.е. когда точки `x_i` в эксперименте различаются (т.е. когда линия не вертикальна).

Оценка погрешностей коэффициентов линии регресии

Для более точной оценки погрешности вычисления коэффициентов `a` и `b` желательно большое количество экспериментальных точек. При `n = 2`, оценить погрешность коэффициентов невозможно, т.к. аппроксимирующая линия будет однозначно проходить через две точки.

Погрешность случайной величины `V` определяется законом накопления ошибок
`S_V^2 = sum_(i=1)^p (frac(partial f)(partial z_i))^2 S_(z_i)^2`,
где `p` – число параметров `z_i` с погрешностью `S_(z_i)`, которые влияют на погрешность `S_V`;
`f` – функция зависимости `V` от `z_i`.

Распишем закон накопления ошибок для погрешности коэффициентов `a` и `b`
`S_a^2 = sum_(i=1)^(n)(frac(partial a)(partial y_i))^2 S_(y_i)^2 + sum_(i=1)^(n)(frac(partial a)(partial x_i))^2 S_(x_i)^2 = S_y^2 sum_(i=1)^(n)(frac(partial a)(partial y_i))^2 `,
`S_b^2 = sum_(i=1)^(n)(frac(partial b)(partial y_i))^2 S_(y_i)^2 + sum_(i=1)^(n)(frac(partial b)(partial x_i))^2 S_(x_i)^2 = S_y^2 sum_(i=1)^(n)(frac(partial b)(partial y_i))^2 `,
т.к. `S_(x_i)^2 = 0` (мы ранее сделали оговорку, что погрешность `x` пренебрежительно мала).

`S_y^2 = S_(y_i)^2` – погрешность (дисперсия, квадрат стандартного отклонения) в измерении `y` в предположении, что погрешность однородна для всех значений `y`.

Подставляя в полученные выражения формулы для расчета `a` и `b` получим

`S_a^2 = S_y^2 frac(sum_(i=1)^(n) ( sum_(i=1)^(n) x_i^2 - x_i sum_(i=1)^(n) x_i)^2) (D^2) = S_y^2 frac(( n sum_(i=1)^(n) x_i^2 - (sum_(i=1)^(n) x_i)^2) sum_(i=1)^(n) x_i^2 ) (D^2) = S_y^2 frac(sum_(i=1)^(n) x_i^2) (D)`   (4.1)

`S_b^2 = S_y^2 frac(sum_(i=1)^(n) ( n x_i - sum_(i=1)^(n) x_i)^2) (D^2) = S_y^2 frac(n ( n sum_(i=1)^(n) x_i^2 - (sum_(i=1)^(n) x_i)^2)) (D^2) = S_y^2 frac(n) (D)`   (4.2)

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

`S_y^2 = S_(y, ост)^2 = frac(sum_(i=1)^n (y_i - a - b x_i )^2) (n-2)`.

Делитель `n-2` появляется потому, что у нас снизилось число степеней свободы из-за расчета двух коэффициентов по этой же выборке экспериментальных данных.

Такую оценку еще называют остаточной дисперсией относительно линии регрессии `S_(y, ост)^2`.

Оценка значимости коэффициентов проводится по критерию Стьюдента

`t_a = frac(|a|) (S_a)`, `t_b = frac(|b|) (S_b)`

Если рассчитанные критерии `t_a`, `t_b` меньше табличных критериев `t(P, n-2)`, то считается, что соответсвующий коэффициент не значимо отличается от нуля с заданной вероятностью `P`.

Если `t_a < t(P, n-2)`, то коэффциент `b` пересчитывают по уравнению `y = kx`.

Если `t_b < t(P, n-2)`, то статистически уравнение регрессии описывает зависимость `y = f(x)` не лучше, чем среднее `y`. Иными словами, статистически `y` не зависит от `x`.

Для оценки качества описания линейной зависимости, можно сравнить `S_(y, ост)^2` и `S_(bar y)` относительно среднего с использованием критерия Фишера.

`S_(bar y) = frac(sum_(i=1)^n (y_i - bar y)^2) (n-1) = frac(sum_(i=1)^n (y_i - (sum_(i=1)^n y_i) /n )^2) (n-1)` – выборочная оценка дисперсии `y` относительно среднего.

Для оценки эффективности уравнения регресии для описания зависимости расчитывают коэффициент Фишера
`F = S_(bar y) / S_(y, ост)^2`,
который сравнивают с табличным коэффициентом Фишера `F(p, n-1, n-2)`.

Если `F > F(P, n-1, n-2)`, считается статистически значимым с вероятностью `P` различие между описанием зависимости `y = f(x)` с помощью уравенения регресии и описанием с помощью среднего. Т.е. регрессия лучше описывает зависимость, чем разброс `y` относительно среднего.