Наибольший остаток модели парковки

тема: Метрики регрессии и МНК · уровень: средний

Условие

Торговый центр фиксирует число въездов и выездов автомобилей за последовательные интервалы времени. Для части интервалов сведения о выездах могут отсутствовать.

По строкам, где известно число выездов, строится линейная регрессия вида \(\hat y=ax+b\), где \(x\) — число въездов, \(y\) — число выездов, а \(\hat y\) — прогноз числа выездов.

Если среди известных значений въездов есть хотя бы два различных, коэффициенты вычисляются методом наименьших квадратов: \[ a=\frac{\sum (x_i-\bar x)(y_i-\bar y)}{\sum (x_i-\bar x)^2},\qquad b=\bar y-a\bar x. \] Суммы и средние в этой формуле берутся только по строкам без пропуска выездов. Если все известные значения въездов одинаковы, нужно считать \(a=0\), \(b=\bar y\).

Для каждой строки без пропуска выездов вычисляется модуль остатка \(r_i=|y_i-\hat y_i|\). Требуется найти наибольший модуль остатка и номер строки, в которой он получен. Нумерация строк с данными начинается с 1.

Если наибольший модуль остатка достигается в нескольких строках, выбирается строка с меньшим номером. Пропуски выездов обозначаются символом -, не участвуют в построении модели и не могут быть ответом.

Формат ввода

В первой строке дано целое число \(n\) — количество интервалов наблюдения.

В следующих \(n\) строках даны два значения: число въездов entries и число выездов exits. Значение exits равно целому числу или символу -.

Формат вывода

Выведите через пробел наибольший модуль остатка с двумя знаками после точки и номер соответствующей строки.

При выводе модуль остатка округляется до ближайшего числа с двумя знаками после точки. Если третья цифра после точки равна 5 или больше, вторая цифра увеличивается на 1.

Ограничения

\(1\le n\le 2000\).

\(0\le entries\le 5000\).

Если exits не равен -, то \(0\le exits\le 5000\).

Гарантируется, что хотя бы в одной строке значение exits известно.

Длина каждой строки с данными не превышает 12 символов.

Решить задачу с автопроверкой на Python →

Куда дальше