Что настраивается в линейной регрессии

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

Линейная регрессия (Linear regression) — это это математическая модель, которая описывает связь нескольких переменных. Модели линейной регрессии представляют собой статистическую процедуру, помогающую прогнозировать будущее. Она применяется в научных сферах и в бизнесе, а в последние десятилетия используется в машинном обучении.

Для чего нужна линейная регрессия

Задача регрессии в машинном обучении — это предсказание одного параметра (Y) по известному параметру X, где X — набор параметров, характеризующий наблюдение.

Как работает линейная регрессия

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

Что настраивается в линейной регрессии

Это будет простая линейная регрессия с одной переменной. Изменится площадь дома — изменится и стоимость. Для вычисления используем стандартное уравнение регрессии: f (x) = b + m⋅x, где m — это наклон линии, а b — ее сдвиг по оси Y. То есть изменение коэффициентов m и b будет влиять на расположение прямой:

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

Что настраивается в линейной регрессии

Для оценки точности регрессии используют разные метрики, например MSE (от англ. mean squared error — средняя квадратическая ошибка). Чем ниже MSE, тем лучше модель.

Что настраивается в линейной регрессии

В первом случае MSE будет равна 0,17, во втором — 0,08, а в третьем — 0,02. Получается, что третья прямая лучше всего показывает зависимость цены дома от его площади.

Data Scientist с нуля

Получите востребованные IT-навыки за один год и станьте перспективным профессионалом. Мы поможем в трудоустройстве. Дополнительная скидка 5% по промокоду BLOG.

Расчет линейной регрессии в Python

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

Для расчета понадобится csv-файл, который содержит информацию о бюджетах и сборах 5 034 фильмов, которые когда-то выходили в прокат. Эти данные станут базой для исследования.

Что настраивается в линейной регрессии

Построим модель линейной регрессии с помощью Python. Для этого нужно импортировать несколько библиотек:

Модель линейной регрессии, которую нужно будет обучить, импортируется с помощью библиотеки sklearn. В качестве X будет колонка production_budget_usd, а в качестве Y – колонка worldwide_gross_usd.

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

В итоге получится график того, как соотносятся бюджеты и кассы у фильмов в списке. Каждая точка — это отдельная кинолента. На оси Х показаны затраты на производство, а на оси У — сколько она заработала. Теперь через эти точки нужно провести прямую так, чтобы она была максимально близка ко всем точкам на графике.

Что настраивается в линейной регрессии

Множественная линейная регрессия

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

Стало f(x) = b + m1*x1 + … + mn*xn

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

Data Scientist с нуля

Получите востребованные IT-навыки за один год и станьте перспективным профессионалом. Мы поможем в трудоустройстве. Дополнительная скидка 5% по промокоду BLOG.

Источник

Линейная регрессия в Python

Содержание

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

Линейная регрессия — один из фундаментальных методов статистического и машинного обучения. Если вы хотите заниматься статистикой, машинным обучением или научными вычислениями, велика вероятность, что вам это понадобится. Желательно сначала изучить его, а затем переходить к более сложным методам. К концу этого урока вы узнаете:

Регрессия

Регрессионный анализ — одна из важнейших областей статистики и машинного обучения. Доступно множество методов регрессии. Линейная регрессия — одна из них.

Что такое регрессия?

Регрессия ищет отношения между переменными.

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

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

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

Как правило, в регрессионном анализе вы обычно рассматриваете какое-либо интересное явление и получаете ряд наблюдений. Каждое наблюдение имеет две или более особенности. Исходя из предположения, что (по крайней мере) одна из характеристик зависит от других, вы пытаетесь установить связь между ними.

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

Зависимые функции называются зависимыми переменными, выходами или откликами.

Независимые признаки называются независимыми переменными, входными данными или предикторами.

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

Когда вам нужна регрессия?

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

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

Регрессия используется во многих различных областях: экономике, информатике, социальных науках и так далее. Её важность возрастает с каждым днем ​​по мере доступности больших объемов данных и повышения осведомленности о практической ценности данных.

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

Линейная регрессия, вероятно, является одним из наиболее важных и широко используемых методов. Она один из самых простых методов регрессии. Одно из её главных преимуществ — простота интерпретации результатов.

Формулировка проблемы

Эта функция должна достаточно хорошо фиксировать зависимости между входами и выходами.

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

Эффективность регрессии

Простая линейная регрессия

Ниже, на рисунке, показана простая линейная регрессия:
Что настраивается в линейной регрессииПример линейной регрессии

Прогнозируемые ответы (красные квадраты) — это точки на линии регрессии, которые соответствуют входным значениям. Например, для входа x = 5 прогнозируемый ответ равен f(5) = 8,33 (представлен крайним левым красным квадратом).

Множественная линейная регрессия

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

Он представляет собой плоскость регрессии в трехмерном пространстве. Цель регрессии — определить значения весов b_0, b_1 и b_2 так, чтобы эта плоскость была как можно ближе к реальным значения и дала минимальный SSR. Случай более чем двух независимых переменных аналогичен, но более общий. Предполагаемая функция регрессии —

f(x_1,\dots, x_r) = b_0 + b_1x_1 + \dots + b_rx_r

и необходимо определить r + 1 весовых коэффициентов, когда количество входных данных равно.

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

Недостаточное и избыточное соответствие

Что настраивается в линейной регрессииПример недостаточно подогнанных, хорошо подогнанных и избыточных моделей

Реализация линейной регрессии в Python

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

Пакеты Python для линейной регрессии

Пакет NumPy — это фундаментальный научный пакет Python, который позволяет выполнять множество высокопроизводительных операций с одномерными и многомерными массивами. Он также предлагает множество математических процедур. Конечно, это открытый исходный код. Если вы не знакомы с NumPy, вы можете использовать официальное руководство пользователя NumPy и прочитать Глянь Ма, никаких циклов: работа с массивами, используя NumPy. Кроме того, сравнение производительности в статье Чистый Python против NumPy и TensorFlow. Сравнение производительности может дать вам довольно хорошее представление о приросте производительности, которого вы можете достичь при применении NumPy. Пакет scikit-learn — это широко используемая библиотека Python для машинного обучения, построенная на основе NumPy и некоторые другие пакеты. Они предоставляют инструменты для предварительной обработки данных, уменьшения размерности, реализации регрессии, классификации, кластеризации и многого другого. Как и NumPy, scikit-learn также имеет открытый исходный код. Вы можете проверить страницу Generalized Linear Models на веб-сайте scikit-learn, чтобы узнать больше о линейных моделях и получить более полное представление о том, как работает этот пакет. Если вы хотите реализовать линейную регрессию и вам нужна функциональность, выходящая за рамки scikit-learn, вам следует рассмотреть statsmodels. Это мощный пакет Python для оценки статистических моделей, выполнения тестов и многого другого. Это также открытый исходный код. Вы можете найти дополнительную информацию о статистических моделях на его официальном веб-сайте.

Простая линейная регрессия с помощью scikit-learn

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

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

Шаг 1. Импорт пакетов и классов

Шаг — импортировать пакет numpy и класс LinearRegression из sklearn.linear_model:

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

Класс sklearn.linear_model.LinearRegression будет использоваться для выполнения линейной и полиномиальной регрессии и соответственно делать прогнозы.

Шаг 2. Предоставьте данные

Второй шаг — определение данных для работы. Входные данные (регрессоры, x ) и выходные данные (предиктор, y ) должны быть массивами (экземплярами класса numpy.ndarray ) или подобными объектами.

Это самый простой способ предоставить данные для регрессии:

Вот как теперь выглядят x и y :

Как вы можете видеть, x имеет два измерения, x.shape — это (6, 1), y — одно измерение, а y.shape — (6,).

Шаг 3. Создайте модель и подгоните ее

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

Шаг 4. Получите результаты

После того, как вы настроили свою модель, вы можете получить результаты, чтобы проверить, удовлетворительно ли она работает и интерпретировать ее.

Значение b_0 = 5,63 (приблизительно) показывает, что ваша модель предсказывает реакцию 5,63, когда x равно нулю. Значение b_1 = 0,54 означает, что прогнозируемый ответ увеличивается на 0,54, когда x увеличивается на единицу.

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

Шаг 5. Спрогнозируйте ответ

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

Это почти идентичный способ предсказать ответ:

В этом случае вы умножаете каждый элемент x на model.coef_ и добавляете model.intercept_ к продукту.

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

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

Вы можете найти дополнительную информацию о LinearRegression на официальной странице документации.

Множественная линейная регрессия с помощью scikit-learn

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

Шаги 1 и 2: Импорт пакетов и классов и предоставление данных

Сначала вы импортируете numpy и sklearn.linear_model.LinearRegression и предоставляете известные входные и выходные данные:

В множественной линейной регрессии x — это двумерный массив, по крайней мере, с двумя столбцами, а y — обычно одномерный массив. Это простой пример множественной линейной регрессии и x имеет ровно два столбца.

Шаг 3: Создайте модель и подгоните ее

Результатом этого оператора является переменная модель, ссылающаяся на объект типа LinearRegression. Он представляет собой регрессионную модель, оснащенную существующими данными.

Шаг 4: Получение результатов

Вы можете получить свойства модели так же, как и в случае простой линейной регрессии:

Шаг 5: Прогнозирование отклика

Прогнозы также работают так же, как и в случае простой линейной регрессии:

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

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

Полиномиальная регрессия с помощью scikit-learn

Шаг 1: Импортировать пакеты и классы

Помимо numpy и sklearn.linear_model.LinearRegression, вы также должны импортировать класс PolynomialFeatures из sklearn.preprocessing:

Импорт завершен, и у вас есть все необходимое для работы.

Шаг 2а: предоставьте данные

Этот шаг определяет ввод и вывод и такой же, как и в случае линейной регрессии:

Это новый шаг, который необходимо реализовать для полиномиальной регрессии!

Можно преобразовать входной массив несколькими способами (например, с помощью insert() из numpy), но класс PolynomialFeatures очень удобен для этой цели. Давайте создадим экземпляр этого класса:

Вы можете указать несколько дополнительных параметров для PolynomialFeatures :

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

Модифицированный входной массив содержит два столбца: один с исходными входами, а другой с их квадратами.

Вы можете найти дополнительную информацию о PolynomialFeatures на официальной странице документации.

Шаг 3. Создайте модель и подгоните её

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

Теперь регрессионная модель создана и настроена. Готова к применению.

Шаг 4. Получите результаты

Получить свойства модели можно так же, как и в случае линейной регрессии:

Вы можете получить очень похожий результат с разными аргументами преобразования и регрессии:

Если вы вызываете PolynomialFeatures с параметром по умолчанию include_bias = True (или просто опускаете его), вы получите новый входной массив x_ с дополнительным крайним левым столбцом, содержащим только единицы. Этот столбец соответствует перехвату. Вот как в этом случае выглядит модифицированный входной массив:

Этот подход дает следующие результаты, аналогичные предыдущему:

Шаг 5. Спрогнозируйте ответ

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

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

Этот пример регрессии дает следующие результаты и прогнозы:

В этом случае имеется шесть коэффициентов регрессии (включая точку пересечения), как показано в оценочной функции регрессии

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

Сначала можно было подумать, что получение такой большой площади — отличный результат, что может быть.

Чтобы узнать, как разделить набор данных на обучающие и тестовые подмножества, ознакомьтесь с Split Your Dataset With scikit-learn’s train_test_split().

Расширенная линейная регрессия с моделями статистики

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

Процедура аналогична scikit-learn.

Шаг 1. Импортируйте пакеты

Сначала вам нужно сделать импорт. В дополнение к numpy вам необходимо импортировать statsmodels.api:

Теперь у вас есть нужные пакеты.

Шаг 2. Предоставьте данные и преобразуйте входные данные

Вы можете предоставить входные и выходные данные так же, как и при использовании scikit-learn:

Массивы ввода и вывода созданы, но работа еще не сделана.

Вы можете видеть, что измененный x имеет три столбца: первый столбец из единиц (соответствующий b_0 и заменяющий точку пересечения), а также два столбца исходных объектов.

Шаг 3. Создайте модель и подгоните ее

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

Чтобы найти дополнительную информацию об этом классе, посетите официальную страницу документации.

Шаг 4. Получите результаты

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

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

Вы можете извлечь любое из значений таблицы выше. Например:

Вот как можно получить некоторые результаты линейной регрессии:

Вы также можете заметить, что эти результаты идентичны результатам, полученным с помощью scikit-learn решать ту же проблему.

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

Шаг 5. Спрогнозируйте ответ

Вы можете заметить, что прогнозируемые результаты такие же, как и полученные с помощью scikit-learn для той же проблемы.

За пределами линейной регрессии

Линейная регрессия иногда не подходит, особенно для нелинейных моделей высокой сложности.

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

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

Заключение

Теперь вы знаете, что такое линейная регрессия и как ее можно реализовать с помощью Python и трех пакетов с открытым исходным кодом: NumPy, scikit-learn и statsmodels.

Вы используете NumPy для обработки массивов.

Линейная регрессия реализуется следующим образом:

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

Если у вас есть вопросы или комментарии, пожалуйста, оставьте их в разделе комментариев ниже.

Источник

Основы линейной регрессии

Что такое регрессия?

Разместим точки на двумерном графике рассеяния и скажем, что мы имеем линейное соотношение, если данные аппроксимируются прямой линией.

Если мы полагаем, что y зависит от x, причём изменения в y вызываются именно изменениями в x, мы можем определить линию регрессии (регрессия y на x), которая лучше всего описывает прямолинейное соотношение между этими двумя переменными.

Статистическое использование слова «регрессия» исходит из явления, известного как регрессия к среднему, приписываемого сэру Френсису Гальтону (1889).

Он показал, что, хотя высокие отцы имеют тенденцию иметь высоких сыновей, средний рост сыновей меньше, чем у их высоких отцов. Средний рост сыновей «регрессировал» и «двигался вспять» к среднему росту всех отцов в популяции. Таким образом, в среднем высокие отцы имеют более низких (но всё-таки высоких) сыновей, а низкие отцы имеют сыновей более высоких (но всё-таки довольно низких).

Линия регрессии

Математическое уравнение, которое оценивает линию простой (парной) линейной регрессии:

x называется независимой переменной или предиктором.

Y – зависимая переменная или переменная отклика. Это значение, которое мы ожидаем для y (в среднем), если мы знаем величину x, т.е. это «предсказанное значение y»

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

Что настраивается в линейной регрессии

Рис.1. Линия линейной регрессии, показывающая пересечение a и угловой коэффициент b (величину возрастания Y при увеличении x на одну единицу)

Метод наименьших квадратов

Наиболее простым методом определения коэффициентов a и b является метод наименьших квадратов (МНК).

Подгонка оценивается, рассматривая остатки (вертикальное расстояние каждой точки от линии, например, остаток = наблюдаемому y – предсказанный y, Рис. 2).

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

Что настраивается в линейной регрессии

Рис. 2. Линия линейной регрессии с изображенными остатками (вертикальные пунктирные линии) для каждой точки.

Предположения линейной регрессии

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

Можно использовать остатки для проверки следующих предположений, лежащих в основе линейной регрессии:

Если допущения линейности, нормальности и/или постоянной дисперсии сомнительны, мы можем преобразовать Что настраивается в линейной регрессииили Что настраивается в линейной регрессиии рассчитать новую линию регрессии, для которой эти допущения удовлетворяются (например, использовать логарифмическое преобразование или др.).

Аномальные значения (выбросы) и точки влияния

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

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

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

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

Гипотеза линейной регрессии

При построении линейной регрессии проверяется нулевая гипотеза о том, что генеральный угловой коэффициент линии регрессии β равен нулю.

Если угловой коэффициент линии равен нулю, между Что настраивается в линейной регрессиии Что настраивается в линейной регрессиинет линейного соотношения: изменение Что настраивается в линейной регрессиине влияет на Что настраивается в линейной регрессии

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

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

Что настраивается в линейной регрессии

Что настраивается в линейной регрессии,

Что настраивается в линейной регрессии— оценка дисперсии остатков.

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

Можно рассчитать 95% доверительный интервал для генерального углового коэффициента Что настраивается в линейной регрессии:

Что настраивается в линейной регрессии

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

Это тот интервал, который содержит генеральный угловой коэффициент с вероятностью 95%.

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

Оценка качества линейной регрессии: коэффициент детерминации R 2

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

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

Разность Что настраивается в линейной регрессиипредставляет собой процент дисперсии который нельзя объяснить регрессией.

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

Применение линии регрессии для прогноза

Можно применять регрессионную линию для прогнозирования Что настраивается в линейной регрессиизначения по значению Что настраивается в линейной регрессиив пределе наблюдаемого диапазона (никогда не экстраполируйте вне этих пределов).

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

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

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

Подобным образом можно рассчитать более широкую область, внутри которой, как мы ожидаем, лежит наибольшее число (обычно 95%) наблюдений.

Простые регрессионные планы

Что настраивается в линейной регрессии

а регрессионное уравнение с использованием P для X1 выглядит как

Что настраивается в линейной регрессии

а уравнение примет вид

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

Этот пример использует данные, представленные в таблице:

Что настраивается в линейной регрессии

Рис. 3. Таблица исходных данных.

Данные составлены на основе сравнения переписей 1960 и 1970 в произвольно выбранных 30 округах. Названия округов представлены в виде имен наблюдений. Информация относительно каждой переменной представлена ниже:

Что настраивается в линейной регрессии

Рис. 4. Таблица спецификаций переменных.

Задача исследования

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

Можно выдвинуть гипотезу: изменение численности населения и процент семей, которые находятся за чертой бедности, связаны между собой. Кажется разумным ожидать, что бедность ведет к оттоку населения, следовательно, здесь будет отрицательная корреляция между процентом людей за чертой бедности и изменением численности населения. Следовательно мы будем трактовать переменную 1 ( Pop_Chng ) как переменную-предиктор.

Просмотр результатов

Коэффициенты регрессии

Что настраивается в линейной регрессии

Рис. 5. Коэффициенты регрессии Pt_Poor на Pop_Chng.

Распределение переменных

Что настраивается в линейной регрессии

Рис. 6. Гистограмма переменной Pt_Poor.

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

Что настраивается в линейной регрессии

Рис. 7. Гистограмма переменной Pt_Poor.

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

Диаграмма рассеяния

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

Что настраивается в линейной регрессии

Рис. 8. Диаграмма рассеяния.

Критерии значимости

Что настраивается в линейной регрессии

Рис. 9. Таблица, содержащая критерии значимости.

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

Источник

Добавить комментарий

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