Реферат: Нелинейные регрессии

Линейное суммирование произвольных функций. В Mathcad имеется возможность выполнения регрессии с приближением к функции общего вида в виде весовой суммы функций fn(x):

f(x, Kn) = K1·f1(x) + K2·f2(x) + … + KN·fN(x),

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

Реализуется обобщенная регрессия по векторам X, Y и f функцией linfit(X,Y,f), которая вычисляет значения коэффициентов Kn. Вектор f должен содержать символьную запись функций fn(x). Координаты xk в векторе Х могут быть любыми, но расположенными в порядке возрастания значений х (с соответствующими отсчетами значений yk в векторе Y). Пример выполнения регрессии приведен на рис.2.3.1 Числовые параметры функций f1-f3 подбирались по минимуму среднеквадратического отклонения.

Рис.2.3.1 Обобщенная регрессия.

Регрессия общего типа. Второй вид нелинейной регрессии реализуется путем подбора параметров ki к заданной функции аппроксимации с использованием функции genfit(X,Y,S,F), которая возвращает коэффициенты ki, обеспечивающие минимальную среднеквадратическую погрешность приближения функции регрессии к входным данным (векторы Х и Y координат и отсчетов). Символьное выражение функции регрессии и символьные выражения ее производных по параметрам ki записываются в вектор F. Вектор S содержит начальные значения коэффициентов ki для решения системы нелинейных уравнений итерационным методом. Пример использования метода приведен на рис.2.3.2.


Рис.2.3.2

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

-

expfit(X,Y,S) – возвращает вектор, содержащий коэффициенты a, b и c экспоненциальной функции y(x) = a·exp(b·x) +c. В вектор S вводятся начальные значения коэффициентов a, b и c первого приближения. Для ориентировки по форме аппроксимационных функций и задания соответствующих начальных значений коэффициентов на рисунках слева приводится вид функций при постоянных значениях коэффициентов a и c.



-


lgsfit(X,Y,S) – то же, для выражения y(x) = a/(1+c·exp(b·x)).


- pwrfit(X,Y,S) – то же, для выражения y(x) = a·xb+c.

§§- sinfit(X,Y,S) – то же, для выражения y(x) = a·sin(x+b) +c. Подбирает коэффициенты для синусоидальной функции регрессии. Рисунок синусоиды общеизвестен.

- logfit(X,Y) – то же, для выражения y(x) =a·ln(x+b) +c. Задания начального приближения не требуется.

§§- medfit(X,Y) – то же, для выражения y(x) = a+b·x, т.е. для функции линейной регрессии. Задания начального приближения также не требуется. График – прямая линия.

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

Рис.2.3.3

4. Сглаживание данных

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

supsmooth(X,Y) – возвращает вектор сглаженных данных Y с использованием линейного сглаживания методом наименьших квадратов по k-ближайших отсчетов с адаптивным выбором значения k с учетом динамики изменения данных. Значения вектора Х должны идти в порядке возрастания.

ksmooth(X,Y,b) – вычисляет вектор сглаженных данных на основе распределения Гаусса. Параметр b задает ширину окна сглаживания и должен быть в несколько раз больше интервала между отсчетами по оси х.

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

Сопоставление методов сглаживания приведено на рис.2.4.1 Как можно видеть на этом рисунке, качество сглаживания функциями supsmooth(X,Y) и ksmooth(X,Y,b) практически идентично (при соответствующем выборе параметра b). Медианный способ уступает по своим возможностям двум другим. Можно заметить также, что на концевых точках интервала задания данных качество сглаживания ухудшается, особенно в медианном способе, который вообще не может выполнять свои функции на концевых интервалах длиной b/2.

Рис.2.4.1

5. Предсказание зависимостей

Функция Mathcad

К-во Просмотров: 678
Бесплатно скачать Реферат: Нелинейные регрессии