Программный модуль реализации полиномиальной регрессии с оценкой степени полинома
Программный модуль
реализации полиномиальной регрессии с оценкой степени полинома
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-
количество зависимых переменных (аргументов) xi
Sigma - дисперсия для генерации случайных значений
P - Уровень значимости для вычисления критического значения
критерия Фишера
Выходные данные:
Выбранная степень полинома
Генерация К - значений аргументов Х.
Генерация случайных значений зависимой переменной, как
нормальное распределение при заданном математическом ожидании Sin(Х) и дисперсии sigma, выборка среднего, т.е.
получения вектора Y.
Создание матрицы А - Вандермонда для максимальной степени 20,
и К значений Х.
Последовательное решение нормального уравнения (1) для
заданных степеней полинома (1..20) - расчёт коэффициентов, проверка условия
(2), выбор степени полинома.
Вывод результатов
3.
Интерфейс программы
Внешний вид окна программы приведен на рисунке (1).
Рисунок 1
Рисунок 2
В левой части программы вводятся исходные данные.
После ввода данных нажмите кнопку «Generate», затем «Сalculate»
В правой части программы отобразятся сгенерированные точки и
график рассчитанной функции регрессии, а так же в окне информации (рисунок 2)
отобразятся полученные коэффициенты и выбранная степень полинома.
Реализована возможность смены уровня значимости и пересчёт
для созданной генерации, для этого выберете желаемый уровень значимости и
нажмите кнопку «Calculate».
полиномиальный регрессия программа стохастический
Выводы
Разработанная программа позволяет проследить выбор степени
полиномиальной регрессии, а так же представление, в виде графика, функции
полиномиальной регрессии.
Основной проблемой при вычислениях является ухудшение
обусловленности для расчета коэффициентов при увеличении степени полинома.