Материал: posobie_po_informatike_Chast1_Word

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
  1. Реализация линейной регрессии общего вида

В MathCad 7 реализована возможность выполнения линейной регрессии общего вида. При ней заданная совокупность точек приближается функцией вида: F(x,K1,K1,...,KN)=K1*F1(x)+K2*F2(x)+...+KN*FN(x).

Таким образом, функция регрессии является линейной комбинацией функций F1(x),F2(x)...FN(x), причем сами эти функции могут быть нелинейными, что резко расширяет возможности такой аппроксимации и распространяет ее на нелинейные функции.

Для реализации линейной регрессии общего вида используется функция:

linfit(VX,VY,F) - возвращает вектор коэффициентов линейной регрессии К, при котором среднеквадратичная погрешность приближения «облака» исходных точек, координаты которых хранятся в векторах VX и VY, оказывается минимальной. Вектор должен содержать функции F1(x),F2(x)...FN(x), записанные в символьном виде.

Рис.71 поясняет проведение линейной регрессии общего вида с применением функции linfit.

Рис.71. Пример проведения линейной регрессии общего вида

3. Одномерная линейная аппроксимация

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

linterp(VX,VY,x).

Для заданных векторов VX и VY узловых точек и заданного аргумента х linterp(VX,VY,x) возвращает значение функции при ее линейной аппроксимации. При экстраполяции используются отрезки прямых, проведенные через две крайние точки.

4. Одномерная сплайн-интерполяция

При небольшом количестве узловых точек (менее 10) линейная интерполяция оказывается довольно грубой. При ней даже первая производная функции аппроксимации испытывает резкие скачки в узловых точках. Для целей экстраполяции функция linterp(VX,VY,x) не предназначена и за пределами области определения может вести себя непредсказуемо.

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

Для осуществления сплайновой аппроксимации система Mathcad предлагает четыре встроенные функции. Три из них служат для получения векторов вторых производных сплайн-функций при различном виде интерполяции:

cspline(VX,VY) - возвращает вектор VS вторых производных при приближении в опорных точках к кубическому полиному;

pspline(VX,VY) - возвращает вектор VS вторых производных при приближении в опорных точках к параболической кривой;

lspline(VX,VY) - возвращает вектор VS вторых производных при приближении к опорным точкам прямой.

Наконец, четвертая функция

interp(VS,VX,VY,x) - возвращает значение y(x) для заданных векторов VS,VX,VY и заданного значения x.

На рис. 72 приведены примеры линейной и сплайновой аппроксимаций функции.

Рис.72. Примеры линейной и сплайновой аппроксимаций

5. Функции сглаживания данных

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

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

ksmooth(VX, VY, b) — возвращает n-мерный вектор сглаженных VY, вычисленных на основе распределения Гаусса. VX и VY — n-мерные векторы действительных чисел. Параметр b (полоса пропускания) задает ширину окна сглаживания ( b должно в несколько раз превышать интервал между точками по оси х );

supsmooth(VX, VY) — возвращает n-мерный вектор сглаженных VY, вычисленных на основе использования процедуры линейного сглаживания методом наименьших квадратов по правилу k-ближайших соседей с адаптивным выбором k. VX и VY — n-мерные векторы действительных чисел. Элементы вектора VX должны идти в порядке возрастания.

Рис.73. Пример применения функций сглаживания случайных данных.

6. Функции предсказания данных.

Весьма интересной является функция предсказания predikt(data,k,N), где data — вектор данных, где data — вектор данных, k — число последних точек существующих данных, на основе которых происходит расчет предсказываемых точек; и N — число точек, в которых необходимо предсказать данные. Она по ряду заданных равномерно расположенных точек позволяет рассчитать некоторое число N последующих точек, т. е. по существу выполняет экстраполяцию произвольной (но достаточно гладкой и предсказуемой) зависимости.

Функция предсказания обеспечивает высокую точность при монотонных исходных функциях или функциях, представляемых полиномом невысокой степени (рис. 74).

Рис. 74. Пример применения функции предсказания случайных данных.

Оборудование, инструменты и приборы

ПЭВМ, система MathCad

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

Варианты заданий приведены в таблице 4.18.

Задание 1

Введите матрицу координат точек на плоскости согласно № варианта.

Таблица 4.18

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

Вар

№

Задание

Вар

№

Задание

1

2

3

4

x

1.5

2

2.5

3

3.5

4

5

y

2.2

1.7

1.7

1.3

1

1

0.5

x

1.8

3.8

5.3

7.1

8.8

y

4.3

8.7

12

14

15.3

x

1

1.8

3.3

4.1

4.8

y

4.2

11

15

19

20

x

3.2

3.3

3.4

3.5

3.6

3.7

y

1.5

2.2

2.9

4.1

5

6.2

x

1.2

1.3

1.4

1.5

1.6

1.7

y

1.5

2.2

2.9

4.1

5

6.2

x

1.2

2.4

3.5

4.7

5.6

6.6

y

3.5

4.2

5.9

6.1

7.1

8.2

x

1

2

3

4

5

6

y

1.5

2.2

2.9

4.1

5

6.2

x

3

4.9

6

7.8

9.6

10.5

y

6.2

7.9

10

11

11.2

13.8

x

1.1

1.5

2

2.5

3

3.5

4.1

y

2.2

2.2

1.7

1.6

1.3

1

1

x

2

2.5

3

3.5

4

4.5

5

y

2.2

2.2

1.7

1.7

1.3

1

1

x

1.5

2.5

3.9

4.8

5.8

y

4.2

11

15

19

20

x

1

1.8

3.3

4.1

4.8

y

3.2

6

9

11.5

14

x

1.2

1.3

1.4

1.5

1.6

1.7

y

3.5

4.2

4.9

6.1

7

8.2

x

1.2

1.3

1.4

1.5

1.6

1.7

y

2.5

3.2

4.9

5.1

6

7.2

x

1

2

3

4

5

6

y

2.5

3.2

4.9

5.1

6

7.2

x

1

2.6

5.4

6.8

9.8

11.6

y

6.5

7.2

8.9

9.1

10.1

11.2

x

1.5

3

4.9

6

7.8

9.6

y

6.5

7.2

8.9

9.1

10.1

11.2

x

1.5

2.3

3.8

4.4

5.9

6.8

y

3.5

4.2

5.9

6.1

7.1

8.2

x

0.9

1.3

2

2.5

3

3.5

4

y

2.3

2.2

1.7

1.6

1.2

1

1

x

1

1.5

2

2.5

3

3.5

4

y

3.2

3.2

2.7

2.7

2.3

2

2

x

1

3.5

5.8

7.1

9.8

y

4.2

11

15

19

20

x

2

2.8

3.3

5.1

5.8

y

4.2

11

15

19

20

x

2.2

2.3

2.4

2.5

2.6

2.7

y

1.5

2.2

2.9

4.1

5

6.2

x

5.2

5.3

5.4

5.5

5.6

5.7

y

1.5

2.2

2.9

4.1

5

6.2

x

1

2.6

5.4

6.8

9.8

11.6

y

3.5

4.2

5.9

6.1

7.1

8.2

x

1.5

3

4.9

6

7.8

9.6

10.5

y

2.5

3.2

3.9

5.1

6.1

7.2

7.8

x

1.2

2.4

3.5

4.7

5.6

6.6

y

2.5

3.2

4.9

5.1

6

7.2

x

0.5

1.3

2.8

3.4

4.9

5.8

y

3.5

4.2

5.9

6.1

7.1

8.2

Окончание табл. 4. 18

1

2

3

4

x

1

1.7

2

2.4

3.2

3.5

4

y

2.3

2.2

1.8

1.7

1.3

1.1

1.2

x

1.5

2.9

5.9

6.8

8.8

10.6

y

6.5

7.2

8.9

9.1

10.1

11.2

Источник: https://files.student-it.ru/previewfile/281619