Аппроксимация (Линейная регрессия)
Постановка задачи
Дан набор точек на плоскости (xi, yi), i = 1, …, n. Необходимо найти прямую, наименее уклоняющуюся от этих точек. Запишем уравнение прямой в следующем виде
y = ax + b.
Задача состоит в поиске неизвестных коэффициентов a и b, которые минимизируют сумму квадратов расстояний между проекциями точек (xi, yi) на эту прямую вдоль оси OY.
То есть, находится минимум выражения
Для этого приравнивают к нулю частные производные и , и получают формулы для нахождения неизвестных коэффициентов
Если уравнение прямой ищется в виде y = ax, то верна следующая формула
Пример
Даны следующие наборы точек
(x1, y1) = (3, 4)
(x2, y2) = (5, 8)
(x3, y3) = (10, 5)
Так как точек 3, то n = 3. Находим коэффициенты
Таким образом, искомая прямая имеет вид
y = 5,(6).
Задание
Реализовать программу, вычисляющую значения наименее уклоняющейся прямой в произвольных точках
Система оценок:
Три балла
Значения n, (xi, yi) вводятся с клавиатуры, затем вводится произвольная точка x,
программа на экран выдаёт значение y (y = ax + b).
Четыре балла
Значения (xi, yi) читаются из файла. Из другого файла считываются массив точек xj
программа на экран выдаёт значение yj (y = ax + b).
Пять баллов
Значения (xi, yi) читаются из файла. Из другого файла считываются массив точек xj
программа на экран выдаёт значение yj (y = ax + b).
На экране графически изобразить точки (xi, yi) и искомую прямую y = ax + b.
Достарыңызбен бөлісу: |