Тёмный

Лекция 8. Линейная регрессия 

Computer Science Center
Подписаться 161 тыс.
Просмотров 49 тыс.
50% 1

compscicenter.ru/
Линейный регрессионный анализ. Модель, интерпретация оценок коэффициентов, множественный коэффициент детерминации. Интерпретация множественного коэффициента детерминации, ограничения на область его применения. Выявление наиболее значимых предикторов и оценка вклада каждого предиктора. Алгоритмы корректировки построенных моделей. Коллинеарность.
Лекция №8 в курсе "Анализ данных на Python в примерах и задачах. Часть 1" (весна 2018).
Преподаватель курса: Вадим Леонардович Аббакумов

Опубликовано:

 

15 авг 2018

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 67   
@romansh7954
@romansh7954 3 года назад
Хочется поблагодарить лектора за баланс между "научностью" и простотой объяснения. Я до этого видео пробовал читать что такое регрессия на википедии, но у меня закипели мозги ещё на первом абзаце где определение даётся через кучу неизвестных мне терминов. Здесь же я за 10 минут понял что регрессия это метод когда мы берём исторические данные, находим функцию которая наилучшим образом в них "попадает" и при необходимости спрогнозировать значение для новых исходных данных (аргументов/предикторов) мы просто подставляем их в нашу функцию, а полученное значение и будет прогнозом.
@v6am32
@v6am32 Год назад
Очень не хватало такого канала, посмотреть лекцию иногда в тысячу раз удобнее, чем допытываться до истины самому. Отличный лектор! Особенно при просмотре на скорости 2х
@user-dm9uz6xc8r
@user-dm9uz6xc8r Год назад
Огромное спасибо лектору! Особенно за то, что смещает фокус с математических нюансов на аналитические тонкости.
@user-kv2fh3lg6m
@user-kv2fh3lg6m 2 года назад
Спасибо огромное! Замечательный лектор!
@user-pb7pz7nv3m
@user-pb7pz7nv3m 5 лет назад
КРутой лектор! Спасибо за лекции и звук отличный.
@johnmartin9294
@johnmartin9294 2 года назад
i realize Im kinda off topic but does anyone know of a good website to stream newly released movies online?
@curtisrodney4362
@curtisrodney4362 2 года назад
@John Martin I use FlixZone. You can find it by googling =)
@aaronrogelio8206
@aaronrogelio8206 2 года назад
@Curtis Rodney Definitely, been using Flixzone for years myself :D
@johnmartin9294
@johnmartin9294 2 года назад
@Curtis Rodney thanks, I went there and it seems like a nice service :) Appreciate it !
@curtisrodney4362
@curtisrodney4362 2 года назад
@John Martin happy to help xD
@agile_knaz
@agile_knaz 3 года назад
Спасибо, очень информативно
@user-nq2qg1qv8v
@user-nq2qg1qv8v 2 года назад
Спасибо большое!
@srosy.
@srosy. 3 года назад
Если говорят, что плохо знаете математику и экономику, то просто идите в стендап, вам там этого точно не скажут и даже без знаний этих областей очень интересно слушать
@user-kb1ls9nb1i
@user-kb1ls9nb1i Год назад
Добрый день, а не подскажите где можно найти тот самый архив с ноутбуками?) Спасибо Вам, за труд
@user-pb7pz7nv3m
@user-pb7pz7nv3m 5 лет назад
А что можете посоветовать для feature selection with categorical variables?
@Vadim_Abbakumov
@Vadim_Abbakumov 5 лет назад
1. Классический подход - Correspondence Analysis. Это распространение факторного анализа на случай переменных в номинальной шкале. 2. Самые модный подход - использовать autoencoder. 3. Самый "крутой" подход - обучить нейронную сеть, выходы нейронов внутренних слоев - features.
@urbanbionics
@urbanbionics 2 года назад
@@Vadim_Abbakumov а в чем разница между 2 и 3 пунктом?
@yoyomaster2011
@yoyomaster2011 4 года назад
Доброго времени суток, нельзя ли метрики для кластерного анализа отбирать представленным в лекции способом? 1. Проверка на коллинеарность; 2 Регрессия; 3 Отбор через проверку гипотезы о равенстве 0 коэффициента. Спасибо!
@Vadim_Abbakumov
@Vadim_Abbakumov 4 года назад
Расстояние отражает наше представление о том, какие объекты схожи. Что касается использования регрессии, для нее нужна зависимая переменная, отклик. В кластерном анализе чаще всего все переменные равноправны.
@Alex-hh5oe
@Alex-hh5oe 3 года назад
А где можно взять dataset для этого урока? Заранее спасибо.
@user-mp1dt1dp6g
@user-mp1dt1dp6g 3 года назад
Смотрите подпись и ищите на сайте. Это предпоследние прочтение этого курса.
@Dmitrykholodov
@Dmitrykholodov 2 года назад
Добрый день! Подскажите пожалуйста, ВАдим Леонидович в прогнозировании временных рядов есть такая запись for x in xrange(1, 13): df['season_' + str(x)] = df['date'].dt.month == x. В phyton 3 она не работает, если менять xrange на range тоже не выходит.
@Vadim_Abbakumov
@Vadim_Abbakumov 2 года назад
В блокноте 06_linear_regression-forecast_ver3.ipynb не нашел... Возможно давно переделано. Укажите скрипт и все содержимое ячейки, сейчас не могу ответить, но помню что и как там было.
@Dmitrykholodov
@Dmitrykholodov 2 года назад
@@Vadim_Abbakumov for x in xrange(1, 13): df['season_' + str(x)] = df['date'].dt.month == x # xrange(2, 13) соответствует всем месяцам с февраля по декабрь season_columns = ['season_' + str(x) for x in xrange(2, 13)]
@Vadim_Abbakumov
@Vadim_Abbakumov 2 года назад
@@Dmitrykholodov df_2["m01"] = [1,0,0,0,0,0,0,0,0,0,0,0]*12 df_2["m02"] = [0,1,0,0,0,0,0,0,0,0,0,0]*12 df_2["m03"] = [0,0,1,0,0,0,0,0,0,0,0,0]*12 df_2["m04"] = [0,0,0,1,0,0,0,0,0,0,0,0]*12 df_2["m05"] = [0,0,0,0,1,0,0,0,0,0,0,0]*12 df_2["m06"] = [0,0,0,0,0,1,0,0,0,0,0,0]*12 df_2["m07"] = [0,0,0,0,0,0,1,0,0,0,0,0]*12 df_2["m08"] = [0,0,0,0,0,0,0,1,0,0,0,0]*12 df_2["m09"] = [0,0,0,0,0,0,0,0,1,0,0,0]*12 df_2["m10"] = [0,0,0,0,0,0,0,0,0,1,0,0]*12 df_2["m11"] = [0,0,0,0,0,0,0,0,0,0,1,0]*12 df_2["m12"] = [0,0,0,0,0,0,0,0,0,0,0,1]*12
@Dmitrykholodov
@Dmitrykholodov 2 года назад
@@Vadim_Abbakumov Вадим Леонидович, получилось с помощью загрузки библиотеки Series из pandas и замены xrange на range.
@Supreme_Mind
@Supreme_Mind 3 года назад
А как правильно интерпретировать тот факт, что в линейной регрессии мы после отброса "лишних" предикторов получили коэф-т детерминации хуже первоначального (стало 0.73 - 0.8 было)? Выходит, что наша модель стала предсказывать хуже?
@Vadim_Abbakumov
@Vadim_Abbakumov 3 года назад
Заполните столбец случайными числами. Добавьте его к предикторам. Коэффициент увеличится. Это математический факт. Отбрасывание увеличивает коэффициент на тестовом множестве, а это важнее. О тестовом множестве см далее в курсе. Кроме того, работает принцип KISS.
@VistaSV304SFE
@VistaSV304SFE Год назад
Коллеги подскажите, пожалуйста! В 14 ячейке выражение: # Вычисляем регрессионные коэффициенты coef = pd.DataFrame(zip(['intercept'] + X.columns.tolist(), [model.intercept_] + columns=['predictor','coef']) Что написано после второго знака +
@stachys_byzantina
@stachys_byzantina 9 месяцев назад
model.coef_.tolist()),
@user-nw9dx4fj9s
@user-nw9dx4fj9s 3 года назад
в полиноминальную регрессию бы графиков добавить для наглядности
@pavelbrudanov6701
@pavelbrudanov6701 4 года назад
У меня тут задачу поставили. Понятно объяснить результаты регрессии. Я посчитал коэффициент В, а вот значимость не совсем понимаю как правильно: У меня набор независимых переменных принимающих значения 1/0 но модель такая, что значение равное 1 принимает только 1 переменная одновременно. Как я понял, значимость считается согласно критерию t-Стьюдента, либо с помощью критерия Фишера? То есть мне надо распределение по каждой из переменных прогнать через t критерий где х1 - те значения зависимой переменной, в которых независимая переменная принимает значение равное 1, а х2 - все остальные. Или можно разделить на две группы - мои предикторы которые я учитываю в анализе и говорю, что они значимо предсказывают значение зависимой переменной и все остальные, у которых как мне кажется слишком большой разброс коэффициентов В? При этом те, что я выделил предсказывают по разному :) Одна из переменных даёт -1, другая -25.
@Cyrill_Murashev
@Cyrill_Murashev 10 месяцев назад
Сумма значений всех переменных = 1? У вас индикаторные переменные. Одну можно вообще убрать, приняв её единицу за базовый уровень.
@coolbrain
@coolbrain 2 года назад
Логарифм AGE типа нормальный даже. Почему мы его удалили? Могли же деревом восстановить из остальных значений и использовать в регрессии
@Vadim_Abbakumov
@Vadim_Abbakumov 2 года назад
Половина наблюдений пропуски. Деформации слишком велики. Проще удалить.
@AlisaMusicFM
@AlisaMusicFM 2 года назад
Максимальное значение R² равно 1, но минимальное может быть минус бесконечность.
@Vadim_Abbakumov
@Vadim_Abbakumov 2 года назад
На обучающей выборке минимальное значение равно 0
@leshamokhov
@leshamokhov 5 лет назад
R^2 может быть отрицательным, если модель описывает набор точек "хуже", чем функция y = y.mean()
@Vadim_Abbakumov
@Vadim_Abbakumov 5 лет назад
"Лучшая" модель не может быть "хуже"
@ivanaaa6049
@ivanaaa6049 5 лет назад
Прежде чем найти лучшую модель, надо перелопатить те, которые могут быть еще хуже, чем среднее арифметическое.
@pavelbrudanov6701
@pavelbrudanov6701 4 года назад
мне не совсем понятно как может быть R2 меньше 0 т.к. это все таки невозможно. Там два квадрата чисел делятся друг на друга по формуле. Отрицательный R2 это что то из области фантастики т.к. квадрат любого числа больше 0.
@pavelbrudanov6701
@pavelbrudanov6701 4 года назад
а ваще библиотека может центрировать нулевую модель как начало координат и тогда R2 все таки может быть отрийательным.
@Vadim_Abbakumov
@Vadim_Abbakumov 4 года назад
@@pavelbrudanov6701 Тоже так когда-то думал. Тут надо следить за руками :} R2 может быть отрицательным на тестовом множестве, на обучающем не может.
@gsm7490
@gsm7490 Год назад
-Не люблю линейную регрессию. -Ты просто не умеешь ее готовить.)
@user-pb7pz7nv3m
@user-pb7pz7nv3m 5 лет назад
Неужели p-значения до сих пор не появились в scipy? 51:27:00
@Vadim_Abbakumov
@Vadim_Abbakumov 5 лет назад
В scipy есть, в sclearn нет. Накладка. Сначал был scipy, потом я решил не использовать его в курсе, обойтись только sclearn, но невнимательно чистил код.
@user-pb7pz7nv3m
@user-pb7pz7nv3m 5 лет назад
Вадим Аббакумов понял , значит можно подгрузить Scipy и использовать стандартные библиотеки ? А у вас нет видео по методу опорных векторов ?
@Vadim_Abbakumov
@Vadim_Abbakumov 5 лет назад
Видео нет. Я SVM не люблю и не рассказываю.
@user-pb7pz7nv3m
@user-pb7pz7nv3m 5 лет назад
Понял, просто у Воронцова все довольно математично, а у Вас доступно и с примерами из жизни. А что SVM уже неэффективен? у Microsoft в пакете аж 2 метрики SVM есть: support SVM и locally deep SVM.
@Vadim_Abbakumov
@Vadim_Abbakumov 5 лет назад
1. IMHO XGBoost лучше 2. IMHO он очень склонен к переобучению.
@WannaEsse
@WannaEsse 4 года назад
Свободный член это стоимость для среднего дома, разве не так? 46:30
@Vadim_Abbakumov
@Vadim_Abbakumov 4 года назад
Нет. Это стоимость дома нулевой площади и тд
@pavelbrudanov6701
@pavelbrudanov6701 5 лет назад
а как коллениарность то проверить?
@Vadim_Abbakumov
@Vadim_Abbakumov 5 лет назад
vif или tolerance считать. Например процедура variance_inflation_factor в statsmodels.stats.outliers_influence
@pavelbrudanov6701
@pavelbrudanov6701 5 лет назад
@@Vadim_Abbakumov чет эта функция ужасно реализованна в библиотеке... :) Я даже не смог разобраться как сделать, то бы она корректно считала, сделал как предлагабт умельцы со стаковерфлоу. Спасибо им и вам :)
@Vadim_Abbakumov
@Vadim_Abbakumov 5 лет назад
@@pavelbrudanov6701 Обычное дело. Тогда Вам легче написать процедуру самому. Там несложно. Я это обсуждал в версии курса на R. После 14 минуты ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-8mwJ3mEjdIg.html
@Alex-hh5oe
@Alex-hh5oe 3 года назад
Зная американские расценки 1 фут не может стоить 29 долл, это минимум 290, а то и 2900 долл.
@PomogB
@PomogB 8 месяцев назад
Откуда ты знаеш расценки в америке не смеши.
@_AbUser
@_AbUser Год назад
Сношать мозг полтора часа, чтобы запутаться самому, запутать других в вопросе, которые можно разжевать пятикласснику за 15 минут.... Надо бы пересмотреть подход к обучению...
@elenagavrilova3109
@elenagavrilova3109 Месяц назад
Объясните... дайте ссылку на ваш канал, мы посмотрим.
Далее
Final increíble 😱
00:39
Просмотров 15 млн
$10,000 Every Day You Survive In The Wilderness
26:44
Вопрос Ребром - Ирина Мягкова
42:15
Profit and Loss Q3 l CAT 2024
3:07
Просмотров 17
Лекция 2.1: Линейная регрессия.
19:42