Что ваша мама никогда не рассказывала о линейной регрессии

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

Представьте, что вам дали базу данных, содержащую возраст и доход каждого жителя определенного района. Ваш начальник хочет, чтобы вы использовали эти данные, чтобы создать модель, предсказывающую доход человека на основании его возраста. И вот вы звоните с просьбой о срочной статистической помощи некоему Доктору Иванову из Информационных Систем. Удача вам сопутствует – доктор на связи. Док Иванов мудро удостоверяется, что среди данных нет аномальных значений, способных исказить анализ. Затем он колдует над данными и добросовестно представляет вам математическую модель: «Умножьте возраст в годах на 971.4, приплюсуйте 1536.2 и получите годовой доход в долларах. Вот ваша оптимальная модель».

 

Вы как следует благодарите Доктора Иванова и спешите подготовить отчет своему начальнику. Вы используете формулу, чтобы построить график с доходом по вертикальной оси и возрастом по горизонтальной, и восхищаетесь простотой, с которой это правило связывает возраст и доход. Это прямая линия – и к тому же, оптимальная. Но ее блеск чуть меркнет, когда вы замечаете, что по этой модели доход 18-летних составляет $19,021 (этим юнцам следовало бы делать домашние задания, а не грести такие суммы!)  И он исчезает окончательно, когда вы видите, что предполагаемый доход 70-летних составляет $69,534, и каждый последующий год жизни добавляет автоматический бонус в $971 (и вряд ли за счет надбавок к государственной пенсии).

 

Так почему же формула доктора Иванова выглядит подозрительной? Потому что она плохая. Но как модель может быть плохой, когда она «оптимальна»? Она будет оптимальна только в том случае, если Иванов сделал правильное предположение о ее форме. Он предположил, что правильная форма модели – это прямая линия.  Компьютер сделал свою часть работы, выбрав наиболее подходящую прямую линию из всех возможных с помощью применения многоуважаемой техники, созданной еще Карлом Гауссом (1777-1855).

Уловка-22

Если вам кажется, что здесь есть Уловка-22, то вы правы. Если бы вы знали верную форму модели с самого начала, вам бы не понадобился Доктор Иванов. Док тоже не знал, какая форма является верной, так что из-за своей занятости он выбрал самое простое и предположил, что это прямая линия. Уравнение прямой линии выглядело научным, по крайней мере, в тот момент, но по сути научным не являлось. Прямые линии зачастую отражают невероятные физические законы в науке и инженерии, и нет никаких оснований полагать, что они применимы к экономическим ситуациям. Алгебраическая формула, и впрямь, проста и удобна, но кому нужно простое описание плохой модели?

 

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

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

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

 

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

 

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

 

Доход = 1007.8*Возраст -752.35*Число детей +933.6

 

Звездочка – знак умножения.Влияние нашей новой переменной «число детей», тоже линейное. Это происходит потому, что предполагаемый доход прямолинейно уменьшается на $752.35 за каждого дополнительного ребенка. Мы используем эту формулу, показывающую отношение возраста и числа детей к доходу, чтобы проиллюстрировать то, что важно знать о числах, предоставляемых линейной регрессией.

 

1) Довольно часто, некорректно полагают, что 1007.8 – это «вес» возраста, а -752.35 – «вес» числа детей. Если бы возраст выражался в месяцах, а не в годах, то новый «вес» был бы разделен на 12 лишь для того, чтобы отразить изменение шкалы. Таким образом, величина «веса» не является мерой важности прогнозирующего параметра, к которому он относится. Называйте эти множители коэффициентами, и вы не ошибетесь и избежите семантической опасности «веса».  В модели будет столько же коэффициентов, сколько и прогнозирующих параметров.

 

Единственное предназначение коэффициентов и, в сущности, всех чисел (технически, значений параметров), производимых регрессией – это сделать так, чтобы формула хорошо сходилась с исходными данными.

 

2) Обратите внимание, что коэффициент (-752.35), множитель числа детей, имеет отрицательно значение.  В реальности это вовсе не означает, что если число детей растет, то предполагаемый доход обязательно уменьшается. Знак перед коэффициентом будет достоверно указывать направление только в том случае, когда он является единственным прогнозирующим параметром.  Если имеется два и более прогнозирующих параметра, и между ними существует корреляция, то вполне вероятно, что один параметр будет иметь положительный коэффициент, а другой – отрицательный, вопреки здравому смыслу. Для нашего примера, на самом деле, если бы число детей было бы единственным прогнозирующим параметром, то тогда коэффициент перед ними оказался бы положительным. Но если соединить число детей с возрастом, между которыми существует некоторая корреляция, то получится сбивающий с толку отрицательный коэффициент. 

 

3) Последний параметр регрессии, константа +933.6 существует для того, чтобы удостоверится, что если каждый параметр принимает среднее значение, то результирующий предполагаемый доход тоже окажется средним. Линейная регрессия всегда так работает. Допустим, средний возраст равен 45.67, а среднее число детей – 1.41. Мы можем подставить эти значения в формулу следующим образом:

 

1007.8*45.67 -752.35*1.41 +933.56 = 45899

 

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

Математический подвиг

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

 

Из-за того, что процедура линейной регрессии выбита в граните классики, ответственность за выпрямление данных в нечто напоминающее прямую линию ложится на сознательного пользователя. Технический термин для выпрямления – это «трансформирование». Из своих предпочтений Док Иванов, скорее всего, использует что-то математическое, чтобы выполнять трансформирование. Например, если между возрастом и доходом не существует линейных отношений, возможно, они существуют между квадратным корнем возраста и доходом. Нет ничего волшебного в квадратном корне. Это всего лишь одна из множества математических функций, которая может использоваться в попытке трансформировать возраст во что-то новое, что будет более сопоставимо с линейной регрессией. Пара трансформаций тут и там может оказаться делом веселым и интересным, но что если вам приходится иметь дело с сотней потенциальных прогнозирующих параметров?

 

Книга 1995 года, адресованная индустрии прямого маркетинга, говорит о трансформировании следующее [наши комментарии – в квадратных скобках]:

 

«…довольно просто взглянуть на диаграмму рассеяния [точечный график, в котором горизонтальная ось – прогнозирующие параметры, а вертикальная – прогнозируемые] для определения, являются ли отношения линейными, или же они должны быть выпрямлены с помощью какой-либо трансформации».

 

Предыдущее утверждение верно, если рассматривается небольшое число параметров, и отношения настолько сильны, что очевидны при первом взгляде. Но если слабые отношения погребены под грудой из 50,000 параметров, тогда бы и Шерлок Холмс, вооруженный своей лупой, их бы не нашел. Другой подход с такой же сложностью – это построить график с ошибками («погрешностью») линейной модели, чтобы обнаружить очевидные закономерности упущенной информации. Недавно была продемонстрирована работа очень медленной (но упорной) компьютерной программы, которая испытывает одно уравнение трансформации за другим, усердно строя графики каждой найденной формулы на экране. Вы буквально можете оставить эту штуку работать всю ночь. Столь фанатичную преданность аналитическим функциям сложно оправдать, потому что пользователь, тот, кто платит по счетам, без сомнений, не обладает способностью интуитивно интерпретировать любую из них.

 

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

 

Доход = 46001 -exp(0.01355*(Возраст-46)**2)

 

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

Повседневный подвиг

Давайте начнем с того, что такое модель и что ей не является. Модель – это просто набор правил, который позволит вам оттолкнуться от того, что вы уже знаете, и предсказать то, что вы желаете узнать. Возвращаясь к нашей исходной гипотетической проблеме. Вы хотите оттолкнуться от того, что вы уже знаете (возраст), и предсказать то, что вы хотите узнать (доход). Здесь, разумеется, будут возникать ошибки, но вы хотели бы в среднем оказываться правым, при этом постоянно не завышая и не занижая оценку дохода для возрастных диапазонов. Нужен набор правил, который точно описывает отношения между возрастом и доходом, и будет действительно моделью.

 

Начать вам лучше с составления собственной табличной модели со следующими строчками:

Возраст Доход
18-22 $7,500
23-33 $25,000
34-44 $38,000
45-55 $58,000
56-60 $30,000
61 и больше $21,000

По крайней мере, эта таблица отражает реальность, в которой студенты и пенсионеры в среднем получают меньше остальных. Это может быть не алгебраично и не оптимально, но это модель и, к тому же, хорошая и нелинейная. Существует естественная разница между линейной моделью Дока и вашей прагматичной таблицей. Уравнение Дока «глобально»: это означает, что оно делает оценки для любого возраста от нуля до бесконечности. Если из-за ошибки ввода или программирования, в формулу будет подставлено значение возраста 999, то она радостно определит предполагаемый доход как $971,965. Помните, что многие математические формулы безжалостно проецируются в прекрасное далеко, если в них подставляют значения прогнозирующего параметра абсурдно далекие от их разумных пределов. Не всегда легко найти математические выражения, которые подстраиваются под данные в рамках разумного диапазона.

 

Ко всей этой затее с трансформированием есть более практичный подход. Его можно осуществить на основе таблицы, в которой доход для диапазона возрастов 56-60 превосходил бы доход для диапазона 18-22 примерно в четыре раза – лучше или хуже группируя разные  диапазоны возрастов и наблюдая, как изменяется средний доход. Такая компьютерная процедура называется локальным сглаживаем. При локальном сглаживании предполагается, что прогнозируя, скажем, доход для 35-, 34- и 36-летних мы получим значение, схожее со значением дохода для 35-летних, и таким образом, это значение будет обладать почти одним с ним весом при округлении. Доходы для 18-летних или 70-летних не будут иметь ничего общего с доходом 35-летних, и поэтому получат нулевой вес при взвешивании. Более разумно использовать компьютер для нахождения этой локальной информации, чем пускаться в охоту за формой (математической функцией), которая по счастливой случайности будет иметь изгибы в нужных местах. 

Прогнозирующие параметры

Линейная регрессия делает допущение, что прогнозирующие параметры что-то измеряют. Предположим, у нас есть прогнозирующий параметр – семейное положение, и он кодируется так: 1 = состоит в браке, 2 = не состоит в браке, 3 = разведен(а), 4 = вдова(ец). Эти четыре числовых кода ничего не измеряют; они произвольно выбраны, чтобы обозначать категории. Пользователю линейной регрессии приходится обходить эту проблему с помощью создания дополнительных прогнозирующих параметров, называемых вспомогательными переменными. Мы не станем в это углубляться, но рекомендуем вам учесть, что это другой неудобный аспект попытки приспособиться к допущениям линейной регрессии. Мы не завидуем тем, кому приходится иметь дело с дюжиной потенциальных прогнозирующих параметров, которые требуют применения уловки с трансформацией или же со вспомогательными переменными.

Значима ли модель?

В оценке того, насколько модель хороша, только одна вещь имеет значение – насколько хорошо модель делает предположения на основе данных, которых никогда не встречала. Всегда придерживайте некоторые данные в стороне в процессе моделирования как раз на этот случай. Когда значения внешних данных отсортированы от меньшего к большему, очевидна ли разница между возможностями и рисками? Сравнение различий между нижними 10 процентами значений и верхними 10 процентами – это распространенная проверка качества модели. Нет ничего особенного в группировке по десяткам. Общее правило – сделать группы настолько маленькими, насколько возможно, чтобы при этом сохранялась закономерность ступенчатого различия между группами. Если градация сохраняется, а результаты, полученные на основе данных, не входящих в выборку, выглядят хорошо, то модель значима. Точка.

 

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

Охраняя храм

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

 

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

 

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

Заключение

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

Узнайте о других решениях

Инструменты анализа и визуализации данных

Решения аналитики данных

Напишите нам

и мы ответим в течении часа

support@asu-analitika.ru

Несколько видео о наших продуктах

085 - Что ваша мама никогда не рассказывала о линейной регрессии
Проиграть видео
Презентация аналитической платформы Tibco Spotfire
106 - Что ваша мама никогда не рассказывала о линейной регрессии
Проиграть видео
Отличительные особенности Tibco Spotfire 10X
1 11 - Что ваша мама никогда не рассказывала о линейной регрессии
Проиграть видео
Как аналитика данных помогает менеджерам компании
2020-09-30T00:54:51+02:00Сентябрь 24th, 2020|Рубрики: Data Mining, Блог|Метки: , , , , , , , |
Social Media Auto Publish Powered By : XYZScripts.com