Аппроксимация (Линейная регрессия) Постановка задачи Дан набор точек на плоскости (xi, yi), i = 1, …, n. Необходимо найти прямую, наименее уклоняющуюся от этих точек. Запишем уравнение прямой в следующем виде y = ax + b. Задача состоит в поиске неизвестных коэффициентов a и b, которые минимизируют сумму квадратов расстояний между проекциями точек (xi, yi) на эту прямую вдоль оси OY. То есть, находится минимум выражения n (axi b y i ) 2 i 1 Для этого приравнивают к нулю частные производные и , и получают a b формулы для нахождения неизвестных коэффициентов n n n n xi y i xi y i i 1 i 1 a i 1 2 n n 2 n x i x i i 1 i 1 n n n n n n x y y x i i x i x i y i i i b i 1 a i 1 i 1 i 1 i 1 i21 n n n n 2 n x i x i i 1 i 1 Если уравнение прямой ищется в виде y = ax, то верна следующая формула n xi y i a i n1 2 xi i 1 Пример Даны следующие наборы точек (x1, y1) = (3, 4) (x2, y2) = (5, 8) (x3, y3) = (10, 5) Так как точек 3, то n = 3. Находим коэффициенты n n n n xi y i xi y i i 1 i 1 3 * 3 * 4 5 * 8 10 * 5 3 5 10 4 8 5 3 * 102 18 * 17 0 a i 1 2 2 3 *134 18 * 18 3 * 3 * 3 5 * 5 10 * 10 3 5 10 n 2 n n xi xi i 1 i 1 n b yi i 1 n n a x i 1 n i 485 5, (6) 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.