Деякі з моїх передбачувачів знаходяться в дуже різних масштабах - чи потрібно їх перетворювати перед тим, як підходити до лінійної регресійної моделі?


9

Я хотів би провести лінійну регресію над багатовимірним набором даних. Існують відмінності між різними вимірами з точки зору їх величини порядку. Наприклад, розмір 1 зазвичай має діапазон значень [0, 1], а розмірність 2 має діапазон значень [0, 1000].

Чи потрібно мені робити якісь перетворення, щоб забезпечити діапазон даних для різних розмірів в одному масштабі? Якщо потрібно, чи є вказівки щодо такого роду перетворень?

Відповіді:


15

Зміщення / масштабування змінних не вплине на їх кореляцію з відповіддю

Щоб зрозуміти, чому це правда, припустимо, що кореляція між і є . Тоді кореляція між та єYХρY(Х-а)/б

cоv(Y,(Х-а)/б)SD((Х-а)/б)SD(Y)=cоv(Y,Х/б)SD(Х/б)SD(Y)=1бcоv(Y,Х)1бSD(Х)SD(Y)=ρ

що випливає з визначення кореляції та трьох фактів:

  • cоv(Y,Х+а)=cоv(Y,Х)+cоv(Y,а)=0=cоv(Y,Х)

  • cоv(Y,аХ)=аcоv(Y,Х)

  • SD(аХ)=аSD(Х)

Отже, з точки зору пристосування до моделі (наприклад, або встановлених значень) зміщення або масштабування змінних (наприклад, розміщення їх на одній шкалі) не змінить модельR2 , оскільки коефіцієнти лінійної регресії пов'язані з кореляціями між змінними. Це змінить лише шкалу ваших коефіцієнтів регресії , про що слід пам’ятати, коли ви інтерпретуєте вихід, якщо ви вирішите трансформувати свої прогнози.

Редагувати: вищесказане передбачає, що ви говорите про звичайну регресію з перехопленням. Ще кілька пунктів, пов’язаних із цим (спасибі @cardinal):

  • Перехоплення може змінюватися, коли ви перетворюєте свої змінні, і, як @cardinal в коментарях зазначає, коефіцієнти змінюватимуться, коли ви зміните свої змінні, якщо ви не будете перехоплювати з моделі, хоча я припускаю, що ви цього не робите, якщо у вас немає вагома причина (див., наприклад, цю відповідь ).

  • Якщо ви регулюєте свої коефіцієнти якимось чином (наприклад, Лассо, регресія хребта), то центрування / масштабування вплине на придатність. Наприклад, якщо ви (покарання за регресію хребта), ви не можете відновити еквівалентну придатність після стандартизації, якщо в першу чергу всі змінні не були в одній шкалі, тобто не існує постійного кратного, який би стягував одне й те саме.βi2

Щодо того, коли / чому дослідник може захотіти трансформувати прогнози

Поширена обставина (обговорювана в наступній відповіді @Paul) полягає в тому, що дослідники стандартизують своїх прогнозів, щоб усі коефіцієнти були в одній шкалі. У цьому випадку розмір точкових оцінок може дати грубе уявлення про те, які прогноктори мають найбільший ефект після стандартизації чисельної величини прогноктора.

Ще одна причина, яку дослідник може захотіти масштабувати дуже великі змінні, полягає в тому, що коефіцієнти регресії не знаходяться в надзвичайно крихітних масштабах. Наприклад, якщо ви хотіли переглянути вплив чисельності населення країни на рівень злочинності (не могли б придумати кращого прикладу), ви можете виміряти чисельність населення в мільйонах, а не в початкових одиницях, оскільки коефіцієнт може бути щось на зразок ..00000001


Два швидких зауваження: Незважаючи на те, що початок публікації є правильним, він пропускає той факт, що центрування матиме ефект, якщо перехоплення відсутнє. :) По-друге, центрирування та масштабування мають важливі ефекти, якщо використовується регуляризація. Хоча ОП може і не замислюватися над цим, це, мабуть, є корисним моментом, який слід пам’ятати.
кардинал

Інваріантність масштабування також легко помітна, якщо вам зручно позначити матрицю. З повним рангом (для простоти) . Тепер, якщо замінити на де - діагональна, отримаємоХу^=Х(Х'Х)-1Х'уХХDD
у~=(ХD)((ХD)'ХD)-1(ХD)'у=ХD(DХ'ХD)-1DХ'у=Х(Х'Х)-1Х'у=у^.
кардинал

@cardinal, я вирішив зазначити той факт, що, якщо ваші оцінки регулюються, то центрування / масштабування може мати вплив. Спочатку я чинив опір, тому що думав, що це почне тривалий відступ, який може заплутати тих, хто не знайомий з регуляризацією, але я виявив, що міг би вирішити це з відносно невеликим простором. Дякую--
Макрос

Не всі мої коментарі обов'язково мають на меті запропонувати оновити відповідь. Багато разів мені просто подобається доповнювати допоміжні зауваження під приємними відповідями, щоб дати пару думок щодо споріднених ідей, які можуть зацікавити перехожого. (+1)
кардинал

З підрахунком голосів відбувається щось фанкі. Ще раз я схвалив це, коли робив свій попередній коментар, і він не "взявся". Хм.
кардинал

2

Так звана "нормалізація" є звичайною процедурою для більшості методів регресії. Є два способи:

  1. Мапа кожної змінної в межах [-1, 1] (mapminmax в MatLab.
  2. Видаліть середнє значення з кожної змінної та розділіть на її стандартне відхилення (mapstd у MatLab), тобто фактично "нормалізуйте". Якщо справжнє середнє відхилення невідомо, просто візьміть вибірну характеристику: або де , , і
    Х~ij=Хij-мкiσi
    Х~ij=Хij-Хi¯стг(Хi)
    Е[Хi]=мкЕ[Хi2-Е[Хi]2]=σ2Хi¯=1Nj=1NХijстг(Хi)=1Nj=1N(Хij2-Хi¯2)

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

Те саме стосується змінних відповідей, хоча для них це не так вже й важливо.

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

Сподіваюся, це допомагає!


Що ви маєте на увазі, коли лінійна регресія дуже чутлива до змінних діапазонів ? Для будь-яких x1,x2,yцих двох команд: summary(lm(y~x1+x2))$r.sqі summary(lm(y~scale(x1)+scale(x2)))$r.sq- значення коли ви не стандартизуєте коефіцієнти, а коли ви - даєте те саме значення, що вказує на еквівалентну придатність. R2
Макрос

Я не був повністю коректним у формулюванні. я мав на увазі наступне. Регресія завжди була б однаковою (у значенні ), якщо ви виконуєте лише лінійні перетворення даних. Але якщо ви хочете визначити, які змінні є кримінальними, а які майже галасливими, масштаб має значення. Просто зручно стандартизувати змінні та забути про їх початкові масштаби. Тож регресія є "чуттєвою" з точки зору розуміння відносних впливів. R2
Пол

Дякую за уточнення, але які змінні є кримінальними, а які майже галасливими, питання про масштаб часто визначається значенням, яке також не зміниться, коли ви стандартизуєтесь (за винятком перехоплення, звичайно). Я погоджуюся з вашою думкою, що це дає кращу інтерпретацію оцінок необробленого коефіцієнта. p
Макрос
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.