Як застосувати регресію до основних компонентів для прогнозування вихідної змінної?


9

Я читав про основи основного компонентного аналізу з tutorial1 , link1 і LINK2 .

У мене є набір даних зі 100 змінних (включаючи вихідну змінну Y), я хочу зменшити змінні до 40 за PCA, а потім передбачити змінну Y за допомогою цих 40 змінних.

Проблема 1: Після отримання основних компонентів та вибору перших 40 компонентів, якщо я застосую до нього регресію, я отримую деяку функцію, яка відповідає даним. Але як передбачити якусь змінну Y з вихідних даних? Щоб передбачити змінну YI на вході (100-1) змінних, і як я можу знати, які 40 змінних вибрати з моїх оригінальних змінних 100-1?

Проблема 2: Я реверсую PCA і повертаю дані з цих 40 основних компонентів. Але дані змінюються, бо я вибрав лише перші 40 компонентів. Чи має сенс застосувати регресію до цих даних?

Я використовую Matlab / Octave.


Щоб зробити PCA, яке програмне забезпечення чи програму ви використовуєте? Наприклад, у SPSS цей аналіз можна зробити легко, і ви можете встановити кількість основних компонентів, які ви бажаєте витягти, і ви можете бачити, які з них вибираються у висновку. Звичайно застосування регресії в цих даних має сенс, оскільки PCA використовується лише для зменшення розмірів.
merveceng

1
Якщо ви зацікавлені виключно в прогнозуванні, ви повинні знати, що Хасті, Тібшірані та Фрідман рекомендують регресію LASSO щодо регресії основних компонентів, оскільки LASSO нібито робить те ж саме (покращує здатність прогнозування, зменшуючи кількість змінних у моделі), але краще. На сьогодні LASSO широко доступний у статистичних пакетах.
shadowtalker

@ssdecontrol: Do Hastie та ін. рекомендуєте конкретно ласо за регресією основних компонентів? ПЛР набагато тісніше пов'язаний з регресією хребта, ніж з лассо: він не нав'язує ніякої розрідженості (тобто не робить відбір особливостей, на відміну від ласо), а скоріше карає всі ваги, подібні до гребеня. Можливо, вони рекомендують еластичну сітку над ПЛР, але це lasso plus ridge.
амеба

1
@amoeba Я щойно зайшов і перевірив онлайн-PDF. Або текст змінився, або я неправильно зрозумів, коли вперше його прочитав. Висновок полягає не в тому, що «ласо перевершує», а в тому, що «ПЛР, ПЛС і регресія хребта мають тенденцію вести себе аналогічно», і цей хребет може бути кращим, оскільки він є безперервним. Дякуємо, що тримаєте мене чесно!
shadowtalker

Відповіді:


7

Ви не вибираєте підмножину своїх оригінальних 99 (100-1) змінних.

Кожен з основних компонентів є лінійними комбінаціями всіх 99 змінних предиктора (x-змінні, IV, ...). Якщо ви використовуєте перші 40 основних компонентів, кожен з них є функцією всіх 99 оригінальних прогнозних змінних. (Принаймні, із звичайною PCA - існують розріджені / регульовані версії, такі як SPCA Zou, Hastie і Tibshirani, які дають компоненти на основі меншої кількості змінних.)

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

Отже, ви починаєте зі своїх 99 x-змінних, з яких ви обчислюєте свої 40 основних компонентів, застосовуючи відповідні ваги на кожну з оригінальних змінних. [Примітка. У своєму обговоренні я припускаю, що і вже по центру.]yX

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

Що стосується вашого другого питання, то незрозуміло, що ви маєте на увазі під "поверненням PCA".

Ваші ПК - це лінійні комбінації вихідних змінних. Скажімо, ваші вихідні змінні знаходяться в , і ви обчислюєте (де - а - матриця яка містить основні ваги компонентів для компонентів, які ви використовуєте), тоді ви оцінка за допомогою регресії.XZ=XWXn×99W99×4040y^=Zβ^PC

Тоді ви можете написати сказати (де , очевидно), тож ви можете записати це як функцію оригінальних прогнозів; Я не знаю , якщо це те, що ви маєте в виду під «заднім ходом», але це осмислено поглянути на початкові взаємини між і . Це не те саме, що коефіцієнти, які ви отримуєте, оцінюючи регресію на оригінальному X-курсі, звичайно - це регулюється за допомогою PCA; незважаючи на те, що ви отримаєте коефіцієнти для кожного свого оригінального X таким чином, вони мають лише df тієї кількості компонентів, яку ви встановили.y^=Zβ^PC=XWβ^PC=Xβ^β^=Wβ^PCyX

Також дивіться Вікіпедію щодо регресії основних компонентів .

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