Чем представлена процедура линеаризации полиномиальных уравнений регрессии

Линеаризация нелинейных моделей регрессии

Вы будете перенаправлены на Автор24

Понятие регрессии

Регрессия – это односторонняя зависимость, которая устанавливает соответствие между случайными величинам.

Сущность регрессии заключается в том, чтобы через математическое выражение установить связь между зависимой и независимыми переменными. Ее отличительной особенностью от функциональной зависимости является тот факт, что каждому значению независимой соответствует одно определенное значение зависимой. В регрессионной связи одной и той же величине могут соответствовать абсолютно разные величины.

Впервые регрессию стали использовать в конце девятнадцатого века. Она была применена для установления зависимости между параметрами человека. Регрессию смогли перенести на плоскость. Точки легли на одну прямую, поэтому ее назвали линейной.

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

Чтобы вычислить параметры модели часто применяют программное обеспечение. Оно позволяет обрабатывать большие массивы информации с минимальными ошибками. Существуют специальные методы, позволяющие проверить величину отклонения. Ошибки необходимы для того, чтобы находить доверительные интервалы и проверять выдвинутые в начале исследования гипотезы. Например, в статистике используется критерий Стьюдента, позволяющий сопоставить средние значения двух выборок.

Самое простое представление регрессии состоит из зависимости между соотношениями случайной и независимой величины. Этот подход необходим для установления функциональной связи, если величины не случайны. В практической деятельности коэффициенты неизвестны, поэтому их исследуют с помощью экспериментальных данных.

Нелинейные модели регрессии

Построение нелинейной регрессии осуществляется для того, чтобы провести анализ. В нем экспериментальные данные записываются в функциональную зависимость, описывающей нелинейную комбинацию, представляющую модель, которая зависит от одной или нескольких переменных. Чтобы приблизить полученные данные к практическим величинам используется метод последовательных приближений.

Готовые работы на аналогичную тему

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

Структура нелинейной регрессии состоит из независимых и зависимых переменных. Для каждой переменной устанавливается случайная величина со средним значением. Погрешность может появиться, но есть ее обрабатывать, то она выйдет за пределы модели. В случае, если переменные не свободны, то модель становится ошибочной, поэтому для исследования становится непригодной.

Вот некоторые примеры нелинейных функций:

  • Показательные.
  • Логарифмические.
  • Тригонометрические.
  • Степенные.
  • Функция Гаусса.
  • Кривые Лоуренца.

В некоторых случаях регрессионный анализ может быть сведен к линейному, но данный способ должен применяться с осторожностью. Чтобы получить наилучший вариант расчета применяются оптимизационные алгоритмы. На практике могут применяться оценочные значения совместно с методиками оптимизации. В результате надо найти глобальный минимум суммы квадратов.

Нелинейная регрессия чаще всего применяется, как статистика линейной. Это позволяет сместить статистику, поэтому полученные данные интерпретируются с осторожностью.

Линеаризация нелинейных моделей регрессии

Линеаризация – это преобразование. Оно осуществляется для того, чтобы упростить определенные модели и вычисления. Например, применение логарифма к обеим частям линейной регрессии позволяет оценить неизвестные параметры более простым способом.

Но использование нелинейного изменения уравнения требует осторожности. Это связано с тем, что данные будут изменяться. Поэтому появятся ошибки модели. Их интерпретация может привести к ошибочному суждению о гипотезе. Обычно в нелинейных уравнениях используется модель Гаусса для исследования ошибок, что необходимо учитывать при проверке.

В которых случаях применяется уравнение Лайнуивер – Берк, либо обобщенная линейная модель.

Чтобы уточнить построенную модель и снизить вероятность ошибок, независимая переменная разбивается на классы. Вследствие этого линейная регрессия разбивается посегментно. Она может дать результат, в котором будет видно, как ведет себя параметр в зависимом положении. Отображение изменений производится графически.

То есть сущность линеаризации заключается в том, что исследователь применяет особые методики для того, чтобы провести преобразования исходных данных. Это позволяет исследовать нелинейную зависимость. Переменные нелинейного уравнения преобразуются с помощью специальных методик в линейные. Это может привести к ошибкам, что необходимо учитывать в процессе преобразования уравнения. Метод может быть опасным, так как влияет на результат вычислений.

Сущность метода заключается в том, что нелинейные переменные заменяются линейными. Регрессия сводится к линейной. Такой подход часто используется для полиномов. Далее применяются известные и простые оценки исследования линейных регрессии. Но изменение полиномов должно так же проводиться с осторожностью. Чем выше порядок полинома, тем сложнее удержаться в рамках реалистичной интерпретации коэффициентов регрессии.

В логарифмических моделях составляется линейная модель с новыми переменными. Оценка результата происходит с помощью метода наименьших квадратов. Эта методика подходит для исследования кривых спроса и предложения, производственных функций, кривых освоения связи между трудоемкостью и производственными масштабами. Такой подход актуален при запуске новых видов продукции.

Полиномиальная регрессия

Дата публикации Oct 8, 2018

Это мой третий блог в серии машинного обучения. Этот блог требует предварительных знаний о линейной регрессии. Если вы не знаете о линейной регрессии или нуждаетесь в обновлении, просмотрите предыдущие статьи этой серии.

Линейная регрессия требует, чтобы отношение между зависимой переменной и независимой переменной было линейным. Что если распределение данных было более сложным, как показано на рисунке ниже? Можно ли использовать линейные модели для подбора нелинейных данных? Как мы можем создать кривую, которая лучше всего отражает данные, как показано ниже? Что ж, мы ответим на эти вопросы в этом блоге.

Оглавление

  • Почему полиномиальная регрессия
  • Переоснащение против Подгонка
  • Уклон против Различий компромиссов
  • Применение полиномиальной регрессии к бостонскому набору данных.

Почему полиномиальная регрессия?

Чтобы понять необходимость полиномиальной регрессии, давайте сначала сгенерируем случайный набор данных.

Сгенерированные данные выглядят как

Давайте применим модель линейной регрессии к этому набору данных.

Сюжет самой подходящей линии

Мы можем видеть, что прямая линия не может захватить шаблоны в данных. Это примерпод-фитинга, Вычисление RMSE и R²-показателя линейной линии дает:

Чтобы преодолеть несоответствие, нам нужно увеличить сложность модели.

Чтобы сгенерировать уравнение более высокого порядка, мы можем добавить мощности оригинальных функций в качестве новых. Линейная модель,

может быть преобразован в

Это все еще считаетсялинейная модельпоскольку коэффициенты / веса, связанные с признаками, все еще линейны. x² это только особенность. Однако кривая, которая нам подходитквадратныйв природе.

Для преобразования оригинальных функций в условия высшего порядка мы будем использовать PolynomialFeatures класс предоставлен scikit-learn , Далее мы обучаем модель с использованием линейной регрессии.

Подгонка модели линейной регрессии к преобразованным объектам дает график ниже.

Из графика совершенно ясно, что квадратичная кривая может соответствовать данным лучше, чем линейная линия. Вычисление RMSE и R²-балла квадратичного графика дает:

Мы можем видеть, что среднеквадратичное отклонение уменьшилось, а показатель R² увеличился по сравнению с линейной линией

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

Метрика кубической кривой

Ниже приведено сравнение подгонки линейных, квадратичных и кубических кривых к набору данных.

Если мы продолжим увеличивать степень до 20, мы увидим, что кривая проходит через большее количество точек данных. Ниже приведено сравнение кривых для степени 3 и 20.

Для степени = 20 модель также фиксирует шум в данных. Это примернад-фитинга, Даже если эта модель проходит через большую часть данных, она не сможет обобщить невидимые данные.

Чтобы избежать перестройки, мы можем добавить больше обучающих выборок, чтобы алгоритм не распознавал шум в системе и мог стать более обобщенным.(Примечание: добавление дополнительных данных может быть проблемой, если данные сами по себе являются помехами).

Как выбрать оптимальную модель? Чтобы ответить на этот вопрос, нам нужно понять компромисс между компромиссом и дисперсией.

Компромисс против дисперсии

предвзятостьотносится к ошибке из-за упрощенных предположений модели при подборе данных. Высокое смещение означает, что модель не может захватить шаблоны в данных, и это приводит кпод-фитинга,

отклонениеотносится к ошибке из-за сложной модели, пытающейся соответствовать данным. Высокая дисперсия означает, что модель проходит через большинство точек данных, и это приводит кнад-фитингаданные.

На картинке ниже представлены результаты нашего обучения.

Из рисунка ниже мы можем наблюдать, что с увеличением сложности модели смещение уменьшается, а дисперсия увеличивается, и наоборот. В идеале модель машинного обучения должна иметьнизкая дисперсия и низкий уклон, Но практически невозможно иметь оба. Поэтому, чтобы получить хорошую модель, которая хорошо работает как на поездах, так и на невидимых данных,компромисссделан.

До сих пор мы рассмотрели большую часть теории полиномиальной регрессии. Теперь давайте реализуем эти концепции в наборе данных Boston Housing, который мы проанализировали впредыдущийблог.

Применение полиномиальной регрессии к набору данных Housing

Из рисунка ниже видно, что LSTAT имеет небольшое нелинейное изменение с целевой переменной MEDV , Мы преобразуем исходные функции в полиномы более высокой степени, прежде чем обучать модель

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

Далее мы вызываем вышеуказанную функцию со степенью 2.

Производительность модели с использованием полиномиальной регрессии:

Это лучше, чем мы достигли с помощью линейной регрессии впредыдущийблог.

Вот и все для этой истории. Это GithubСделки рЕПОсодержит весь код для этого блога, и можно найти полный блокнот Jupyter, используемый для набора данных жилья в БостонеВот,

Вывод

В этой серии машинного обучения мы рассмотрели линейную регрессию, полиномиальную регрессию и реализовали обе эти модели в наборе данных Boston Housing.

Мы расскажем о логистической регрессии в следующем блоге.

Полиномиальная регрессия в Python – полная реализация в Python

Добро пожаловать в эту статью о полиномиальной регрессии в машинном обучении. Вы можете пройти статьи на простую линейную регрессию и несколько линейной регрессии

  • Автор записи

Автор: Pankaj Kumar
Дата записи

Полиномиальная регрессия в Python – полная реализация в Python

Добро пожаловать в эту статью о полиномиальной регрессии в машинном обучении. Вы можете пройти статьи по простой линейной регрессии и множественной линейной регрессии для лучшего понимания этой статьи.

Однако давайте быстро пересматриваем эти концепции.

  • Быстрая пересмотр к простой линейной регрессии и многократной линейной регрессии
  • Что такое полиномиальная регрессия?
  • Когда используется полиномиальная регрессия?
  • Почему полиномиальная регрессия называется линейной?
  • Простой пример полиномиальной регрессии в Python
    • 1. Импорт набора данных
    • 2. Предварительная обработка данных
    • 3. Установка линейной регрессии
    • 4. Визуализация результатов линейной регрессии модели
    • 5. Установка модели полиномиальной регрессии
    • 6. Визуализация полиномиальной регрессии модели
    • 7. Прогнозируя результат
  • Полный код для полиномиальной регрессии в Python
  • Заключение

Быстрая пересмотр к простой линейной регрессии и многократной линейной регрессии

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

Приходя к нескольким линейной регрессии, мы предсказываем значения, используя более одной независимой переменной. Эти независимые переменные выполнены в матрицу функций, а затем используются для прогнозирования зависимой переменной. Уравнение может быть представлено следующим образом:

Что такое полиномиальная регрессия?

Полиномиальная регрессия также тип линейной регрессии часто используется для прогнозов с использованием полиномиальных держав независимых переменных. Вы можете понять эту концепцию лучше, используя уравнение, показанное ниже:

Когда используется полиномиальная регрессия?

В случае простой линейной регрессии есть некоторые данные, которые превышают или ниже линии, и поэтому она не точна. Это где можно использовать полиномиальную регрессу.

На изображении, показанном на левой стороне, вы можете заметить, что существуют некоторые точки, которые находятся над линией регрессии и некоторые моменты ниже линии регрессии. Это делает модель менее точной. Это случай линейной регрессии.

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

Почему полиномиальная регрессия называется линейной?

Полиномиальная регрессия иногда называют полиномиальной линейной регрессией. Почему так?

Несмотря на то, что он имеет огромные силы, он все еще называется линейным. Это потому, что когда мы говорим о линейном, мы не смотрим на него с точки зрения X-переменной. Мы говорим о коэффициентах.

Y – это функция X. Может ли эта функция быть выражена как линейная комбинация коэффициентов, поскольку в конечном итоге используется для плагина X и прогнозирования Y.

Следовательно, просто глядя на уравнение с точки зрения коэффициентов, делает его линейным. Интересно правильно?

Теперь мы посмотрим на пример, чтобы понять, как выполнить эту регрессию.

Простой пример полиномиальной регрессии в Python

Давайте быстро посмотрим, как выполнить полиномиальную регрессию. Для этого я использовал набор данных прогнозирования заработной платы.

Предположим, вам команда HR компании хочет проверить прошлые рабочие данные о новом потенциальном сотруднике, который они собираются нанять. Тем не менее, они получают информацию о 10 зарплате на своих позициях.

С этим команда HR может относиться к позиции человека, скажем, уровень 6.5, а также может проверить, был ли сотрудник блефовать о своей старой зарплате.

Следовательно, мы будем строить Bluffy – детектор.

1. Импорт набора данных

Чтобы импортировать и прочитать набор данных, мы будем использовать библиотеку Pandas и использовать метод Read_CSV для чтения столбцов в кадры данных.

Выход вышеуказанного кода, показывает набор данных, который выглядит следующим образом:

2. Предварительная обработка данных

При наблюдении на наборе данных вы видите, что необходимы только столбцы «уровня» и «зарплата», а позиция закодирована на уровне. Следовательно, это можно игнорировать. Так что пропустите «положение» от матрицы функций.

Поскольку у нас есть только 10 наблюдений, мы не будем разделить в тестовый и учебный набор. Это по 2 причинам:

  1. Небольшие наблюдения не имеют смысла, потому что у нас не хватает информации для тренировки на одном наборе и тестировать модель с другой.
  2. Мы хотим сделать очень точный прогноз. Нам нужна дополнительная информация о наборе поезда. Следовательно, весь набор данных используется только для обучения.

3. Установка линейной регрессии

Мы используем это, чтобы сравнить результаты этого с полиномиальной регрессией.

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

4. Визуализация результатов линейной регрессии модели

Приведенный выше код создает график, содержащий линию регрессии, как показано ниже:

5. Установка модели полиномиальной регрессии

Мы будем импортировать Polynomialfeatures класс. Poly_reg является инструментом трансформатора, который преобразует матрицу функций x в новую матрицу функций x_poly. Он содержит x1, x1 ^ 2, ……, x1 ^ n.

Степень Параметр указывает степень полиномиальных функций в x_poly. Мы рассмотрим значение по умолчанию IE 2.

Х это исходные значения. X_poly имеет три колонны. Первый столбец – это столбец 1S для константы. X Содержащие реальные значения – средняя колонна, т.е. x1. Второй столбец – это квадрат х1.

Подгонка должна быть включена в несколько линейной модели регрессии. Для этого мы должны создать новую линейную регрессию объекта lin_reg2 И это будет использоваться для включения подгонки, которую мы сделали с объектом Poly_reg и нашим X_Poly.

Приведенный выше код создает следующий вывод:

6. Визуализация полиномиальной регрессии модели

7. Прогнозируя результат

Полный код для полиномиальной регрессии в Python

Приведенный выше код выводит график, показанный ниже:

Заключение

Это доходит до конца этой статьи о полиномиальной регрессии. Надеюсь, вы поняли концепцию полиномиальной регрессии и попробовал код, который мы проиллюстрировали. Дайте нам знать ваши отзывы в разделе комментариев ниже.


источники:

http://www.machinelearningmastery.ru/polynomial-regression-bbe8b9d97491/

http://pythobyte.com/polynomial-regression-in-python-e35c2a06/