И другие программы этой серии
При ней заданная совокупность точек приближается функцией вида:
F(x, K1, К2,..., Kn)=K1*F1(x)+K2*F2(x)+…+Kn*Fn(x).
Таким образом, функция регрессии является линейной комбинацией функций F1(x), F2(x),..., Fn(x), причем сами эти функции могут быть нелинейными, что резко расширяет возможности такой аппроксимации и распространяет ее на нелинейные функции.
Для реализации линейной регрессии общего вида используется функция linfit(VX,VY,F). Эта функция возвращает вектор коэффициентов линейной регрессии общего вида К, при котором среднеквадратичная погрешность приближения облака исходных точек, если их координаты хранятся в векторах VX и VY, оказывается минимальной. Вектор F должен содержать функции F1(x), F2(x),..., Fn(x), записанные в символьном виде.
Расположение координат точек исходного массива может быть любым, но вектор VX должен содержать координаты, упорядоченные в порядке их возрастания, а вектор VY — ординаты, соответствующие абсциссам в векторе VX.
Функции для одномерной и многомерной полиномиальной регрессии.
Введена в новую версию MathCAD и функция для обеспечения полиномиальной регрессии при произвольной степени полинома регрессии:
regress(VX,VY, n)
Она возвращает вектор VS, запрашиваемый функцией interp(VS,VX,VY,x), содержащий коэффициенты многочлена n-й степени, который наилучшим образом приближает “облако” точек с координатами, хранящимися в векторах VX и VY.
Для вычисления коэффициентов полинома регрессии используется функция submatrix.
На практике не рекомендуется делать степень аппроксимирующего полинома выше четвертой — шестой, поскольку погрешности реализации регрессии сильно возрастают.
Функция regress создает единственный приближающий полином, коэффициенты которого вычисляются по всей совокупности заданных точек, т. е. глобально. Иногда полезна другая функция полиномиальной регрессии, дающая локальные приближения отрезками полиномов второй степени, — loess(VX, VY, span). Эта функция возвращает используемый функцией interp(VS,VX,VY,,r) вектор VS, дающий наилучшее приближение данных (с координатами точек в векторах VX и VY) отрезками полиномов второй степени.