Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методические указания СРС.doc
Скачиваний:
26
Добавлен:
14.05.2015
Размер:
365.57 Кб
Скачать

Пример построения линии регрессия общего вида в виде суммы функций

В этом виде регрессий совокупность точек приближается функцией вида

F(x,K1,K2,....KN)= K1 F1(x)+K2 F2(x)+ ....+KN FN(x),

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

Для получения коэффициентов используется стандартная функция linfit(Vx,Vy,F), которая возвращает вектор коэффициентовK1,K2, ....KNлинейной регрессии, для которых среднее квадратическое отклонение приближения "облака" исходных точек оказывается минимальным.

1) Координаты "облака" исходных точек задаются векторами Vx, Vy.

2) Вектор Fдолжен содержать функцииF1(x), F2(x) .. FN(x),записанные в символьном виде. Зададим вектор функцийF(x), состоящий из трех функций (их может быть значительно больше):

Здесь выбраны три сильно отличающиеся функции:

- обратно пропорциональная зависимость (1/x), которая для х>0 уменьшается от бесконечности до нуля;

- парабола (x2), возрастающая от нуля до бесконечности в этом диапазоне;

- экспоненциальная зависимость (ex), возрастающая от единицы до бесконечности

3) Создадим ранжированную переменную, содержащую столько элементов, сколько элементов в векторе

i:=1..5.

Построим график, по заданным векторам, задающий экспериментальные точки (рис. 8). Как видно, имеется зоны, как с убыванием, так и возрастанием значений.

Рисунок 8 – Экспериментальные данные, используемые для получения линейной регрессии общего вида.

4) Найдем вектор коэффициентов К1, К2, К3,которые будут учитывать различный долевой вклад трех выбранных функций:

5) Используя полученные коэффициенты, создадим функцию g(t), позволяющую определять значение аппроксимирующей функции в любой точке с координатамиt.

6) Получите значения аппроксимирующей функции в точках, соответствующих координате вектора Xи сравните значения с векторомY.

7) Постройте график, на котором покажите точки, соответствующие векторам Х и У, а также кривую аппроксимирующей функции. Для построения последнего графика создайте ранжированную переменную m, с шагом 0,25. m:=1,1.25..10

Определите коэффициент достоверности аппроксимации RR=R2.

Рисунок 9 – Регрессионная зависимость, полученная с помощью линейной регрессии общего вида, базирующаяся на вектореF.

9. Линейная и сплайновая интерполяция

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

Пусть задан вектор, содержащий точные значения Х и. У в столбцах.

1) Присвойте ,чтобы начальный индекс матриц и векторов был равен 1.

2) Для построения графика необходимо упорядочить значения по аргументу Х. Для этого произведём сортировку матрицы dataпо первому столбцу, используя стандартную функциюcsort(М,n). Здесь М - матрица,nномер столбца, по которому производится сортировка.

.

3) После сортировки создадим вектора X и Y исходных данных. Для ввода номеров столбцов используйте панель инструментов Матрицы, выбравM<>.

4) Введём ранжированную переменную i. Для задания пределов изменения ранжированной переменной используем стандартную функциюlength(X), определяющую количество членов в вектореX

i:=1..length(X)