Как применить регрессию к основным компонентам для прогнозирования выходной переменной?


9

Я прочитал об основах анализа основных компонентов из учебника 1 , ссылки 1 и ссылки 2 .

У меня есть набор данных из 100 переменных (включая выходную переменную Y), я хочу уменьшить переменные до 40 с помощью PCA, а затем предсказать переменную Y, используя эти 40 переменных.

Проблема 1: После получения главных компонентов и выбора первых 40 компонентов, если я применяю регрессию к нему, я получаю некоторую функцию, которая соответствует данным. Но как предсказать некоторую переменную Y из исходных данных? Для прогнозирования переменной Y у меня есть (100-1) переменные на входе, и как мне узнать, какие 40 переменных выбрать из моих исходных 100-1 переменных?

Проблема 2: я делаю реверс PCA и получаю данные от этих 40 основных компонентов. Но данные изменились, потому что я выбрал только первые 40 компонентов. Имеет ли смысл применять регрессию к этим данным?

Я использую Matlab / Octave.


Для участия в PCA, какое программное обеспечение или программу вы используете? Например, в SPSS этот анализ может быть легко выполнен, и вы можете установить количество основных компонентов, которые вы хотите извлечь, и вы можете увидеть, какие из них выбраны в выводе. Конечно, применение регрессии в этих данных имеет какой-то смысл, потому что PCA используется только для уменьшения размера.
Merveceng

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

@ssdecontrol: Do Hastie et al. порекомендуете конкретно лассо над регрессом основного компонента? ПЦР гораздо ближе связан с регрессией гребня, чем с лассо: он не навязывает разреженности (т.е. не выполняет выбор признаков, в отличие от лассо), он скорее наказывает все веса, подобные гребню. Возможно, они рекомендуют эластичную сетку поверх ПЦР, но это лассо плюс гребень.
амеба

1
@amoeba Я просто пошел и проверил онлайн PDF. Либо текст изменился, либо я неправильно понял, когда впервые прочитал его. Дело не в том, что «лассо лучше», а в том, что «ПЦР, PLS и регрессия гребня ведут себя одинаково», и этот гребень может быть лучше, потому что он непрерывный. Спасибо за честность!
теневик

Ответы:


7

Вы не выбираете подмножество ваших исходных 99 (100-1) переменных.

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

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

Итак, вы начинаете со своих 99 x-переменных, из которых вы вычисляете свои 40 основных компонентов, применяя соответствующие веса к каждой из исходных переменных. [NB в моем обсуждении я предполагаю, что и уже в центре.]XyX

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

Что касается вашего второго вопроса, непонятно, что вы имеете в виду под «изменением PCA».

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

Затем вы можете написать сказать (где , очевидно), так что вы можете записать его как функцию исходных предикторов; Я не знаю , если это то, что вы имеете в виду под «задним ходом», но это осмысленно взглянуть на изначальные взаимоотношения между и . Это не то же самое, что коэффициенты, которые вы получаете, оценивая регрессию по исходным X, конечно, - это нормализуется с помощью PCA; даже если вы получите таким образом коэффициенты для каждого из ваших оригинальных X, у них будет только df от числа установленных вами компонентов.* β *=W β ПКуЙy^=Zβ^PC=XWβ^PC=Xβ^β^=Wβ^PCyX

Также см. Википедию о регрессии главных компонентов .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.