Иллюстрированный самоучитель по MathCAD 11

Регрессия. Линейная регрессия.

Задачи математической регрессии имеют смысл приближения выборки данных (Xi..Yi некоторой функцией f (х), определенным образом минимизирующей совокупность ошибок |f(xi)-yi|. Регрессия сводится к подбору неизвестных коэффициентов, определяющих аналитическую зависимость f(х). В силу производимого действия большинство задач регрессии являются частным случаем более общей проблемы сглаживания данных.

Как правило, регрессия очень эффективна, когда заранее известен (или, по крайней мере, хорошо угадывается) закон распределения данных (xi, yi).


Самый простой и наиболее часто используемый вид регрессии – линейная. Приближение данных (xi, yi) осуществляется линейной функцией у(х)=b+ах. На координатной плоскости (х,у) линейная функция, как известно, представляется прямой линией (рис. 15.12). Еще линейную регрессию часто называют методом наименьших квадратов, поскольку коэффициенты а и b вычисляются из условия минимизации суммы квадратов ошибок |b+axi-yi|.

Чаще всего такое же условие ставится и в других задачах регрессии, т. е. приближения массива данных (хi,уi) другими зависимостями у(х). Исключение рассмотрено в листинге 15.9.

Иллюстрированный самоучитель по MathCAD 11 › Обработка данных › Регрессия. Линейная регрессия.
Рис. 15.12. Линейная регрессия (листинг 15.7 или 15.8)

Для расчета линейной регрессии в Mathcad имеются два дублирующих друг друга способа. Правила их применения представлены в листингах 15.7 и 15.8. Результат обоих листингов получается одинаковым (рис. 15.12).

  • line(x,y) – вектор из двух элементов (b,а) коэффициентов линейной регрессии ь+а-х;
  • intercept (x,y) – коэффициент b линейной регрессии;
  • slope(x,y) – коэффициент а линейной регрессии;
    • х – вектор действительных данных аргумента;
    • у – вектор действительных данных значений того же размера.

Листинг 15.7. Линейная регрессия:

Иллюстрированный самоучитель по MathCAD 11 › Обработка данных › Регрессия. Линейная регрессия.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.