Программный модуль реализации полиномиальной регрессии с оценкой степени полинома
1. Выполнение работы.
1.1 Математическая модель
Расчёт коэффициентов регрессии
Пусть регрессионная модель – полином заданной степени
Зависимая переменная (аргумент) x=(x0, x1, x2… xp)
Согласно методу наименьших квадратов, искомый вектор коэффициентов w=(w0, w1, w2… wp) есть решение нормального уравнения
(1)
Где y – вектор, состоящий из значений зависимой переменной, y=(y0, y1, y2… ym)
Матрица в случае полиномиальной регрессии называется матрицей Вандермонда и принимает вид
1. Уточнение степени полинома
Критерием для выбора регрессионной зависимости является критерий Фишера. В котором в качестве отношения берутся отношения дисперсий полинома степени р и р+1 порядка.
дисперсия полинома степени p
(2)
Если по критерию Фишера гипотеза о незначимом различии дисперсий с заданным уровнем значимости принимается, то в качестве регрессионной зависимости может быть выбрать полином порядка p. Недостаток данного метода уточнения степени полинома состоит в том, что увеличивая степень полинома на 1, вновь приходится рассчитывать все коэффициенты
2. Разработка программы
Входные данные:
N – количество случайных значений зависимой переменной yi
K – количество зависимых переменных (аргументов) xi
Sigma – дисперсия для генерации случайных значений
P – Уровень значимости для вычисления критического значения критерия Фишера
Выходные данные:
Выбранная степень полинома
Коэффициенты полиномиальной регрессии.
Ход работы программы
Генерация К – значений аргументов Х.
Генерация случайных значений зависимой переменной, как нормальное распределение при заданном математическом ожидании Sin(Х) и дисперсии sigma, выборка среднего, т.е. получения вектора Y.
Создание матрицы А – Вандермонда для максимальной степени 20, и К значений Х.
Последовательное решение нормального уравнения (1) для заданных степеней полинома (1..20) – расчёт коэффициентов, проверка условия (2), выбор степени полинома.
Вывод результатов
3. Интерфейс программы
Внешний вид окна программы приведен на рисунке (1).
Рисунок 1
Рисунок 2
В левой части программы вводятся исходные данные.
После ввода данных нажмите кнопку «Generate», затем «Сalculate»
В правой части программы отобразятся сгенерированные точки и график рассчитанной функции регрессии, а так же в окне информации (рисунок 2) отобразятся полученные коэффициенты и выбранная степень полинома.
Реализована возможность смены уровня значимости и пересчёт для созданной генерации, для этого выберете желаемый уровень значимости и нажмите кнопку «Calculate».
полиномиальный регрессия программа стохастический
Выводы
Разработанная программа позволяет проследить выбор степени полиномиальной регрессии, а так же представление, в виде графика, функции полиномиальной регрессии.
Основной проблемой при вычислениях является ухудшение обусловленности для расчета коэффициентов при увеличении степени полинома.