Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод. ук. МНК.docx
Скачиваний:
14
Добавлен:
15.05.2015
Размер:
168.35 Кб
Скачать

Аппроксимирующие зависимости

Выравнивание данных

(преобразование переменных)

Эмпирическая формула

1

2

3

4

5

6

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

. (8)

Для наилучшей эмпирической формулы значение будет наименьшим.

Регрессионный анализ. Пусть имеются два ряда чисел x = х0, х1, . . ., хn и y = y0, y1, . . ., yn, при этом предполагается, что ряд у каким-либо образом зависит от ряда х. Задача регрессионного анализа состоит в восстановлении математической зависимости (регрессии) у(х) по результатам измерений (xi, yi), i = 0, 1, . . ., n. Mathcad включает ряд функций для вычисления регрессии. Функции отличаются, прежде всего, типом кривой, которую они используют, чтобы аппроксимировать данные. На практике существует линейная и полиномиальная регрессии.

Линейную регрессию позволяют осуществить встроенные функции intercept (to intercept - отложить отрезок на линии) и slope (наклон) решают самую простую и распространенную задачу линейной регрессии экспериментальных данных:f(x) = slope(vx, vy) x + intercept(vx, vy) (рис.1). Оператор slope(vx, vy) - возвращает скаляр: наклон линии для данных из vx и vy. Оператор intercept(vx, vy) - возвращает скаляр: смещение по оси ординат линии регрессии для данных из vx и vy.

Пример 2. Для выполнения задания занести в таблицу экспериментальных значений хi, yi , представленные в задании 1. Определяем число экспериментальных точек.

Используем встроенные функции slope и intercept для определения коэффициентов линейной регрессии (аппроксимация данных прямой линией).

Функция slope определяет угловой коэффициент прямой, а функция intercept – точку пересечения графика с вертикальной осью.

Определяем аппроксимирующую функцию:

Коэффициенты линейной регрессии и .

Mathcad предлагает для этих же целей использовать функцию line.

Вычислим стандартное отклонение.

Рис.1. Линейная регрессия

Полиномиальную регрессию производит встроенная функция regress, когда нужно получить единственный полином произвольной степени, чтобы приблизить все данные. Не рекомендуется делать степень аппроксимирующего полинома выше 4 - 6, поскольку погрешности реализации регрессии сильно возрастают (рис.2). Оператор regress(vx, vy, n) - возвращает вектор vs, чтобы найти полином порядка n, который наилучшим образом приближает данные из vx и vy.

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

На начальном этапе задаются исходные данные: шаг итераций i:=0 .. 11, степень полинома n:=4 и задание вектора входных параметров vxi:=i/11.

Определение вектора выходных значений задается при помощи ввода значений вектора vyi, в таблицу.

Функция regress является вспомогательной, она подготавливает данные, необходимые для работы функции interp. Вектор vs содержит, в том числе, и коэффициенты полинома. Нахождение вектора vs, требуемый встроенной функции Mathcad interp, чтобы найти полином порядка n, который наилучшим образом приближает данные из вектора входных параметров vx и вектора выходных параметров vy: vs:=regress(vx,vy,n).

Задание функции интерполяции, которая возвращает интерполируемое значение у, соответствующее аргументу х:

z:=0,0.1 .. 1

re(z):= interp(vs,vx,vy,z).

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

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

span1:=0.5 – присвоение степени полинома

span2:=2.5

vs1:=loess(vx,vy,span1) - возвращает вектор vs, требуемый interp, чтобы найти набор полиномов второго порядка, которые наилучшим образом приближают определенные окрестности выборочных точек, определенных в векторах vx и vy.

vs2:=loess(vx,vy,span2)

lo1(z):=interp(vs1,vx,vy,vxi) - возвращает интерполируемое значение у, соответствующее аргументу х в соответствии со степенью полинома 1.

lo2(z):=interp(vs2,vx,vy,vxi) - возвращает интерполируемое значение у, соответствующее аргументу х в соответствии со степенью полинома 2.

Рис. 3. Аппроксимация полиномами различных степеней

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

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

Пример 4. Необходимо выполнить сглаживание экспериментальной функции, заданной таблицей значений xi и yi с помощью встроенных функций Mathcad: medsmooth, ksmooth и supsmooth.

m:=medsmooth(vy,3) - возвращает n-мерный вектор, созданный сглаживанием n-мерного вектора vy с помощью скользящей медианы.

k:=ksmooth(vx,vy,1) -возвращает n-мерный вектор, созданный сглаживанием при помощи гауссова ядра данных из n-мерного вектора vy.

s:=supsmooth(vx,vy) - возвращает n-мерный вектор, созданный локальным использованием симметричной линейной процедуры сглаживания МНК. Результаты вычислений в Mathcad представлены на (рис.4).

Рис.4. Графики исходной функции и результатов сглаживания

ЗАДАНИЯ ДЛЯ ВЫПОЛНЕНИЯ РАБОТЫ

Задание1. Экспериментальные данные содержатся в таблице 2, следует выполнить следующие операции:

- Нанести экспериментальные точки на координатную сетку .

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

- Методом наименьших квадратов найти наилучшие значения параметров и в уравнении прямой .

- Найти явный вид эмпирической формулы и построить график эмпирической функции.

 Таблица 2

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

 №

yi

[a, b]

1

2.86; 2.21; 2.96; 3.27; 3.58; 3.76; 3.93; 3.67; 3.90; 3.64; 4.09

[0, 1]

2

1.14; 1.02; 1.64; 1.64; 1.96; 2.17; 2.64; 3.25; 3.47; 3.89; 3.36;

[-1, 1]

3

4.70; 4.64; 4.57; 4.45; 4.40; 4.34; 4.27; 4.37; 4.42; 4.50; 4.62

[2, 4]

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]

5

1.55; 1.97; 1.29; 0.94; 0.88; 0.09; 0.02; 0.84; 0.81; 0.09; 0.15

[1, 4]

6

3.24; 1.72; 1.95; 2.77; 2.47; 0.97; 1.75; 1.55; 0.12; 0.70; 1.19

[0, 4]

7

2.56; 1.92; 2.85; 2.94; 2.39; 2.16; 2.51; 2.10; 1.77; 2.28; 1.70

[-1, 2]

8

1.77; 0.92; 2.21; 1.50; 3.21; 3.46; 3.70; 4.02; 4.36; 4.82; 4.03

[-1, 3]

9

1.53; 0.45; 1.68; 0.12; 0.68; 2.36; 2.58; 2.53; 3.45; 2.70; 2.82

[4, 8]

10

2.50; 3.90; 3.54; 4.63; 3.87; 5.25; 4.83; 3.24; 3.08; 3.00; 4.70

[0, 5]

11

2.95; 3.38; 2.71; 2.37; 2.29; 2.75; 2.76; 2.74; 2.57; 2.40; 2.99

[1, 5]

12

-0.23; -0.03; -0.98; -0.97; -0.43; -0.91; -0.27; -0.19; 0.88; 1.06; 0.72

[2, 4]

13

2.36; 0.03; -0.38; -1.33; 0.25; -1.36; 0.95; 3.16; 4.03; 4.92; 4.20

[0, 2]

14

3.82; 4.07; 3.53; 4.83; 5.53; 5.04; 5.09; 5.87; 5.53; 4.72; 4.73

[3, 4]

15

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. Для приведенных в таблице экспериментальных данных (xi, yi) определить параметры линейной регрессии с использованием встроенных функций Mathcad slope и intercept. Отобразить графически совокупность точек векторов xi и yi и результаты проведенной линейной регрессии.

Задание 3. Аппроксимировать данные из векторов xi и yi полиномом 4-ой степени при помощи функций regress и interp; наборами полиномов второго порядка с помощью функций loess и interp, (при span равном 0,5 и 2,5). Отобразить графически результаты аппроксимации.

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

ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ

  1. Для чего используется аппроксимация функций?

  2. В чем суть метода наименьших квадратов?

  3. Что такое выравнивание экспериментальных данных?

  4. Какой вид имеет формула для определения критерия метода наименьших квадратов?

  5. Что такое регрессионный анализ?

  6. Перечислите основные виды регрессии.

  7. Что такое сглаживание?

ВРЕМЯ, ОТВЕДЕННОЕ НА ВЫПОЛНЕНИЕ РАБОТЫ

Подготовка к работе – 1,0 акад.час

Выполнение работы – 4,0 акад. часа

Оформление работы – 1,0 акад.час

ЛИТЕРАТУРА

  1. Бахвалов Н.С. и др. Численные методы. – М.: Наука, 2008.

  2. Волков Е.А. Численные методы. - М.: Наука, 2010.

СОДЕРЖАНИЕ

Введение 2

Основные понятия 3

Задания для выполнения работы 11

Вопросы для самоконтроля 13

Литература 13

МАТЕМАТИЧЕСКАЯ ОБРАБОТКА РЕЗУЛЬТАТОВ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ. МЕТОД НАИМЕНЬШИХ КВАДРАТОВ

Методические указания к выполнению лабораторной работы

по дисциплине «Численные методы»

для студентов направления 220400.62 «Управление в технических системах»

всех форм обучения