Главная Обратная связь

Дисциплины:






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



Используйте функцию regress, когда нужно получить единственный полином произвольной степени, чтобы приблизить все данные. Не рекомендуется делать степень аппроксимирующего полинома выше 4 - 6, поскольку погрешности реализации регрессии сильно возрастают.

regress(vx, vy, n) Возвращает вектор vs, требуемый interp (см. Лабораторную работу № 3), чтобы найти полином порядка n, который наилучшим образом приближает данные из vx и vy.

Пример 1 Рисунка 6 иллюстрирует использование функции regress. Так как regress приближает все точки данных, используя один полином, это не дает хороший результат, когда данные не связаны единой полиномиальной зависимостью.

Функция loess облегчает эти проблемы, выполняя локальное приближение. Вместо одного полинома loess создает различные полиномы второго порядка в зависимости от расположения на кривой (см. Пример 2 Рисунка 6).

loess(vx, vy, span) Возвращает вектор vs, требуемый interp, чтобы найти набор полиномов второго порядка, которые наилучшим образом приближают определенные окрестности выборочных точек, определенных в векторах vx и vy. Аргумент span > 0 определяет, насколько большие окрестности loess будет использовать при выполнении локального приближения.

Рисунок 6. Полиномиальная регрессия

 

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

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

f(х) = a0 f0(x) + a1 f1(x) + . . . + an fn(x),

следует использовать linfit, чтобы вычислить ai. Это так называемая линейная регрессия общего вида (Пример 1 Рисунка 7).

 

 

Рисунок 7. Обобщенная регрессия

 

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

Если данные должны быть смоделированы в виде

f(х) = f(x, u0, u1, . . ., un),

нужно использовать функцию genfit, чтобы найти неизвестные параметры ui. Это нелинейная регрессия общего вида (Пример 2 Рисунка 7).

genfit(vx, vy, vg, F) Возвращает вектор n параметров u0, u1, . . ., un-1, которые обеспечивают наилучшее приближение данных из vx и vy функцией f, зависящей от х и параметров u0, u1, . . ., un-1. F - функция-вектор, состоящая из f и ее частных производных (вот здесь-то и пригодятся средства символьной математики (Подробнее см. Лабораторную работу 5 )) относительно параметров. vg - n-мерный вектор начальных значений для n параметров.

Сглаживание



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

ksmooth(vx,vy, b) Возвращает n-мерный вектор, созданный сглаживанием при помощи гауссова ядра данных из n-мерного вектора vy. Параметр b управляет окном сглаживания и должен быть в несколько раз больше величины интервала между точками х.
medsmooth(vy, m) Возвращает n-мерный вектор, созданный сглаживанием n-мерного вектора vy с помощью скользящей медианы. m - ширина окна, по которому происходит сглаживание, причем m должно быть нечетным числом и m < n.
supsmooth(vx,vy) Возвращает n-мерный вектор, созданный локальным использованием симметричной линейной процедуры сглаживания МНК.

 

Порядок выполнения лабораторной работы 4

Задание 1.Создайте таблицу экспериментальных данных:

хi = a + h i, i = 0, 1, . . ., 10, h=(b - a)/10 на отрезке [a, b].

 

Варианты задания 1

 

№ варианта yi [a, b]
2.86; 2.21; 2.96; 3.27; 3.58; 3.76; 3.93; 3.67; 3.90; 3.64; 4.09 [0, 1]
1.14; 1.02; 1.64; 1.64; 1.96; 2.17; 2.64; 3.25; 3.47; 3.89; 3.36; [-1, 1]
4.70; 4.64; 4.57; 4.45; 4.40; 4.34; 4.27; 4.37; 4.42; 4.50; 4.62 [2, 4]
0.43; 0.99; 2.07; 2.54; 1.67; 1.29; 1.24; 0.66; 0.43; 0.35; 0.70 [2, 4]
1.55; 1.97; 1.29; 0.94; 0.88; 0.09; 0.02; 0.84; 0.81; 0.09; 0.15 [1, 4]
3.24; 1.72; 1.95; 2.77; 2.47; 0.97; 1.75; 1.55; 0.12; 0.70; 1.19 [0, 4]
2.56; 1.92; 2.85; 2.94; 2.39; 2.16; 2.51; 2.10; 1.77; 2.28; 1.70 [-1, 2]
1.77; 0.92; 2.21; 1.50; 3.21; 3.46; 3.70; 4.02; 4.36; 4.82; 4.03 [-1, 3]
1.53; 0.45; 1.68; 0.12; 0.68; 2.36; 2.58; 2.53; 3.45; 2.70; 2.82 [4, 8]
2.50; 3.90; 3.54; 4.63; 3.87; 5.25; 4.83; 3.24; 3.08; 3.00; 4.70 [0, 5]
2.95; 3.38; 2.71; 2.37; 2.29; 2.75; 2.76; 2.74; 2.57; 2.40; 2.99 [1, 5]
-0.23; -0.03; -0.98; -0.97; -0.43; -0.91; -0.27; -0.19; 0.88; 1.06; 0.72 [2, 4]
2.36; 0.03; -0.38; -1.33; 0.25; -1.36; 0.95; 3.16; 4.03; 4.92; 4.20 [0, 2]
3.82; 4.07; 3.53; 4.83; 5.53; 5.04; 5.09; 5.87; 5.53; 4.72; 4.73 [3, 4]
2.35; 2.16; 2.39; 2.39; 2.18; 2.09; 2.44; 2.56; 3.35; 3.22; 2.65 [-3, 4]

Задание 2. Аппроксимировать многочленами 2-ой и 6-ой степени по методу наименьших квадратов функцию, заданную таблицей значений xi и yi и сравнить качество приближений. Построить графики многочленов и отметить узловые точки (xi, yi).

Задание 3.Для приведенных в таблице экспериментальных данных (xi, yi)определить параметры линейной регрессии с использованием встроенных функций Mathcad slope и intercept. Отобразить графически совокупность точек векторов xi и yi и результаты проведенной линейной регрессии.

Задание 4. Аппроксимировать данные из векторов xi и yi

· полиномом 4-ой степени при помощи функций regress и interp;

· наборами полиномов второго порядка с помощью функций loess и interp, (при span равном 0,5 и 2,5).

Отобразите графически результаты аппроксимации.

Задание 5.Аппроксимировать экспериментальные данные из таблиц значений xi и yi линейной комбинацией функций:

f(x) = a1 f1(x) + a2 f2(x) + a3 f3(x).

Коэффициенты вектора а найти с помощью функции linfit. Отобразить графически совокупность точек векторов xi и yi и результаты проведенной линейной регрессии общего вида.

Варианты задания 5

№ варианта f1(x) f2(x) f3(x)
e x sin x
1/(1 + x2) e x sin (3x)
1/(1 + x2) e sin x x
arctg x ln ln x sin x
1 / x e -x
cos x
cos x
cos(x/2) 2 - cos x sin(x/2)
1/(1 + ex) sin (3x)
ln (x + 5) sin x
1 / x 1 / x2
cos x 1/(1 + x + x2) 1/(1 + x)
e x cos4x - e x/2
e x/3 sin2 (3x)
1/(1 + x + x2)

Задание 6.Аппроксимировать экспериментальные данные из таблиц значений xi и yi функцией вида:

.

Параметры вектора u найти с помощью функции genfit. Отобразить графически совокупность точек векторов xi и yi и результаты проведенной нелинейной регрессии общего вида.

Задание 7.Выполнить сглаживание экспериментальной функции, заданной таблицей значений xi и yi с помощью встроенных функций Маthcad: medsmooth,ksmoothи supsmooth.Результаты сглаживания отобразить графически.





sdamzavas.net - 2017 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...