Реализация одномерной и многомерной полиномиальной регрессии

Рис. 3

В Mathcad введена и функция для обеспечения полиномиальной ре­грессии при произвольной степени полинома регрессии. Регрессия осуще­ствляется функцией rеgrеss(VX, VY, п), которая возвращает вектор VS, запрашиваемый функцией interp (VS, VX, VY, x) и содержащий коэф­фициенты многочлена n-й степени, который наилучшим образом прибли­жает «облако» точек с координатами, хранящимися в векторах VX и VY. На рис.3 показан фрагмент документа Mathcad с примером выпол­нения полиномиальной регрессии. Для вычисления коэффициентов полинома регрессии используется функция submatrix(А, ir, jr, ic, jc) – блок матрицы А, состоящий из всех элементов, содержащихся в строках от ir до jr и столбцах от ic до jc (ir ³ jr и ic ³ jc).

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

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

 

Рис.4

• rows(A) – число строк матрицы А;

• mean(v) – среднее значение элементов вектора v.

Иногда полезна другая функция полиномиальной регрессии, дающая локальные приближения отрезками полиномов второй степени loess(VX, VY, span), которая возвращает вектор VS, используемый функцией interp(VS, VX, VY, x) для наилучшего приближения данных векторов VX и VY отрезками полиномов второй степени. Аргумент span > 0 (можно использовать любое другое обозначение) указывает размер локальной области приближаемых данных (рекомен­дуемое начальное значение — 0,75). Чем больше span, тем сильнее ска­зывается сглаживание данных. При больших значениях span эта функ­ция приближается к функции regress(VX, VY, 2).

На следующем рисунке 4 показан фрагмент документа Mathcad с примером при­ближения сложной функции со случайным разбросом ее значений с помощью совокупности отрезков полиномов второй степени (функ­ция loess) для двух значений параметра span; функция rnd(х) – генерирует случайные числа с равномерным распределением в интервале [0, x].

Из рисунка 4 нетрудно заметить, что при значении span = 0.05 отсле­живаются характерные случайные колебания значений функции, тог­да как уже при span = 0.5 кривая регрессии становится практически гладкой.

 

Теоретические вопросы, выносимые на обсуждение

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

2. Что дает интерполяция.

3. Что дает экстраполяция.

4. Дайте определение аппроксимации.

5. Какие возможности предоставляет систе­ма Mathcad для аппроксимации.

6. Дайте определение кусочно-линейной интерполяции.

7. Как графически выглядит линейная аппроксимация.

8. С помощью какой функции задается линейная аппроксимация.

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

10. Где находятся точки линейной экстрапо­ляции.

11. При каком числе узловых точек линейная интерполя­ция оказывается неприменимой.

12. Какой результат дает применение функции linterp за пре­делами области определения.

13. Дайте определение сплайновой интерполяции.

14. Какой порядок полиномов используется для сплайновой интерполяции.

15. Сколько смежных узлов используется для кубической сплайн интерполяции.

16. Как выбираются коэффициенты по­линомов при сплайновой интерполяции.

17. Какие возможности предоставляет систе­ма Mathcad сплайновой интерполяции.

18. Охарактеризуйте каждую функцию: cspline(VX, VY), pspline(VX, VY), lspline(VX, VY), interp(VS, VX, VY, x).

19. Для осуществления сплайн – интерполяции, какие действия необходимо провести.

20. С помощью каких команд отыскивается вектор вторых производных функции у(х).

21. С помощью какой команды для каж­дой искомой точки вычисляется значение у(х).

22. Определить какую операцию выполняют команды: csort(A, n), length(v).

23. Дать понятие регрессии.

24. Какой вид погрешности используется при сравнении построенной регрессивной функции с «облаком» исходных точек.

25. Дать определение линейной регрессии.

26. Какие команды необходимо использовать для проведения линейной регрессии.

27. Охарактеризуйте каждую функцию: corr(VX, VY), intercrpt(VX, VY), slope(VX, VY).

28. Как вычисляется коэффициент корреляции.

29. Каким должен быть коэффициент корреляции, чтобы зависимость, представленная ис­ходными точками, точнее приближалась к линейной.

30. Как в Mathcad реализована возможность выполнения линейной регрессии общего вида.

31. С помощью какой команды реализуется линейная регрессия общего вида.

32. Определить какую операцию выполняет команда linfit(VX, VY, F).

33. Какая специфика записи исходного массива должна быть учтена при использовании команды linfit(VX, VY, F).

34. С помощью каких команд реализуется в Mathcad функция полиномиальной ре­грессии при произвольной степени полинома регрессии.

35. Охарактеризуйте каждую функцию: rеgrеss(VX, VY, п), interp(VS, VX, VY, x).

36. Определить, что представляют собой аргументы в записи следующей функции: submatrix(А, ir, jr, ic, jc).

37. Почему не рекомендуется делать степень аппроксимирующего полинома выше 4-6.

38. Определить какую операцию выполняют команды: rows(A), mean(v), loess(VX, VY, span).

39. Для чего используется команда loess(VX, VY, span).

40. Какой смысл имеет аргумент span в команде loess(VX, VY, span).

41. Что происходит при увеличении аргумента span.

42. Какую операцию выполняет функция rnd(х).

Задания к вариантам для самостоятельных работ

IЗадать вектор исходных данных – координат Х и У, состоящих из 15 пар значений. Применить линейную и сплайновую интерполяции.

 

IIЗадать вектор исходных данных – координат Х и У, состоящих из 25 пар значений. Реализовать линейную регрессию и линейную регрессию общего вида.

 

IIIЗадать вектор исходных данных – координат Х и У, состоящих из 30 пар значений. Реализовать полиномиальную регрессию для полиномов второго, третьего и четвертого порядков. Провести сравнительную характеристику. Найти коэффициенты регрессии.

 

IVДля построенияпри­ближения к сложной функции со случайным разбросом ее значений использовать регрессию отрезками полиномов второй степени:

1. , 2. ,
3. , 4. ,
5. , 6. ,
7. , 8. ,
9. , 10. ,
11. , 12. ,
13. , 14. ,

 

Практическое занятие № 7