Як вибрати найкращу трансформацію для досягнення лінійності?


10

Я хочу зробити декілька лінійних регресій, а потім передбачити нові значення з невеликою екстраполяцією. У мене є змінна відповідь у діапазоні від -2 до +7 та три предиктори (діапазони приблизно +10 - +200). Розподіл майже нормальний. Але взаємозв'язок між відповіддю та предикторами не є лінійним, на графіках я бачу криві. Наприклад так: http://cs10418.userapi.com/u17020874/153949434/x_9898cf38.jpg

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

t1=log(y+2.5)

t2=1log(y+5)

t3=1y+5

t4=1(y+10)3

t5=1(y+3)13 тощо дають подібні результати: http://cs10418.userapi.com/u17020874/153949434/x_06f13dbf.jpg

Після того як я збираюсь перетворити передбачувані значення (для як тощо). Розподілення більш-менш схожі на звичайні. y=1t=1(y+10)3y=1t1310

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

Або єдиний спосіб - це зробити нелінійну множинну регресію?


Я хотів покращити форматування ваших формул, але, можливо, ввів деякі помилки - будь ласка, перевірте.
Пітер Елліс

Я не вірю тобі. Математично неможливо, щоб через одночасно мали лінійний зв’язок із шостою змінною в межах . Я думаю, ви, можливо, помилилися, обчисливши ці перетворення . t 5 0 200 yt1t50200y
whuber

1
@whuber Дякую за відповідь. Я зробив сюжети в R cs9579.userapi.com/u17020874/153949434/z_9fa17c02.jpg cs9579.userapi.com/u17020874/153949434/z_7fa6891c.jpg
nadya

2
Ти правий. Це досить дивно, що такий широкий діапазон повторних виразів y залишився б у лінійній залежності з r. Дякуємо, що поділилися цим. Якщо ви ділянку залишків, ви побачите , що виглядають приблизно кращим, а потім не потребує в повторному вираженні: . r1/(y+5)rplot(lm(1/(y+5)~r))
whuber

Відповіді:


14

Це дещо мистецтво, але є деякі стандартні, прості речі, які завжди можна спробувати.

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

Наступне - повторно виразити незалежну змінну ( ) для лінеаризації відносин. Існує простий, простий спосіб зробити це. Виберіть три репрезентативні точки уздовж кривої, бажано на обох кінцях та посередині. З першої цифри я зачитував упорядковані пари ( r , y ) = ( 10 , 7 ) , ( 90 , 0 ) і ( 180 , - 2 ) . Без будь-якої іншої інформації, окрім того, що r завжди виявляється позитивним, хорошим вибором є вивчення перетворень Box-Coxr(r,y)(10,7)(90,0)(180,2)r для різних ступенях р ,правиловибираютьщоб бути кратні 1 / 2 або 1 / 3 і зазвичай між - 1 і 1 . (Обмежувальне значення знаближенням p дорівнює 0 - log ( r ) .) Це перетворення створить приблизну лінійну залежність за умови, що нахил між першими двома точками дорівнює нахилу між другою парою.r(rp1)/pp1/21/311p0log(r)

Наприклад, нахили неперетворених даних складають = - 0,088 і ( - 2 - 0 ) / ( 180 - 90 ) = - 0,022 . Вони зовсім інші: один приблизно в чотири рази більше іншого. Спроба р = - 1 / 2 дає нахили ( 0 - 7 ) / ( 90 - 1 /(0-7)/(90-10)0,088(-2-0)/(180-90)-0,022p=-1/2,т.д., які працюють поза до-16,6і-32,4: тепер один з них тількидва рази більша за іншу, що є удосконаленням. Продовжуючи таким чином (електронна таблиця зручна), я вважаю, щоp0працює добре: схили зараз-7,3та-6,6, майже однакове значення. Отже, слід спробувати модель виглядуy=α+βlog(r). Потім повторіть: встановіть рядок, вивчіть залишки, визначте перетворенняу(0-7)/(90-1/2-1-1/2-10-1/2-1-1/2)-16.6-32.4p0-7.3-6.6у=α+βжурнал(r)у зробити їх приблизно симетричними та ітераційними.

Джон Тукі надає деталі та багато прикладів у своїй класичній книзі « Розвідувальний аналіз даних» (Аддісон-Уеслі, 1977). Він наводить подібні (але дещо більш задіяні) процедури для виявлення дисперсій-стабілізуючих перетворень . Один набір даних зразків, який він надає в якості вправ, стосується давніх даних про тиску пари ртуті, виміряні при різних температурах. Дотримуючись цієї процедури, можна повторно розкрити співвідношення Клаус і Клапейрон ; залишки до остаточного пристосування можна інтерпретувати через квантово-механічні ефекти, що виникають на атомних відстанях!у


Дякую за пораду щодо трансформації Box-Cox. Чи має сенс перевіряти R-квадрат lm (1 / (y + 5) ~ r) та lm інших функцій, а потім порівнювати ці R-квадрати?
надя

Має сенс, коли rце фіксовано, тому що тоді є проксі-сервісом для дисперсії залишків. Якщо ви повторно виражаєте (незалежну змінну), то R 2 є марним або оманливим: див. Stats.stackexchange.com/questions/13314/… . R2rR2
whuber

Велике спасибі за відповідь! Я не збираюсь трансформувати свої незалежні змінні
nadya

у

@Erich Кожен шматочок цієї книги глибоко корисний: адже, якщо ти можеш щось зробити з олівцем і папером, ти можеш запрограмувати комп’ютер, щоб це зробити :-). За допомогою однієї змінної часто приємно перетворити її на симетрію (її емпіричний розподіл); Туке називає це "маленькою угодою". Простий спосіб ідентифікації такої трансформації описаний у розділі 3E "Швидко дивлячись". Це ілюструє те, що можна дізнатися з огляду на резюме N-літер (Tukey пропонує підсумок 7- або 9 літер). Набуття цієї навички цінніше, ніж наявність комп'ютерної програми, виконайте розрахунки за вас.
whuber

1

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

Альтернативно, досліджуйте трансформацію пояснювальних змінних. Крім прямих перетворень, ви також можете додавати у квадратичному виразі.

Загалом, трансформація - це більше мистецтво, ніж наука, якщо немає існуючої теорії, яка б підказала, що слід використовувати як основу трансформації.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.