Я прочитал об основах анализа основных компонентов из учебника 1 , ссылки 1 и ссылки 2 .
У меня есть набор данных из 100 переменных (включая выходную переменную Y), я хочу уменьшить переменные до 40 с помощью PCA, а затем предсказать переменную Y, используя эти 40 переменных.
Проблема 1: После получения главных компонентов и выбора первых 40 компонентов, если я применяю регрессию к нему, я получаю некоторую функцию, которая соответствует данным. Но как предсказать некоторую переменную Y из исходных данных? Для прогнозирования переменной Y у меня есть (100-1) переменные на входе, и как мне узнать, какие 40 переменных выбрать из моих исходных 100-1 переменных?
Проблема 2: я делаю реверс PCA и получаю данные от этих 40 основных компонентов. Но данные изменились, потому что я выбрал только первые 40 компонентов. Имеет ли смысл применять регрессию к этим данным?
Я использую Matlab / Octave.
источник
Ответы:
Вы не выбираете подмножество ваших исходных 99 (100-1) переменных.
Каждый из главных компонентов является линейной комбинацией всех 99 предикторных переменных (х-переменных, IV, ...). Если вы используете первые 40 основных компонентов, каждый из них является функцией всех 99 исходных переменных-предикторов. (По крайней мере, с обычным PCA - существуют редкие / упорядоченные версии, такие как SPCA от Zou, Hastie и Tibshirani, которые будут давать компоненты на основе меньшего количества переменных.)
Рассмотрим простой случай двух положительно коррелированных переменных, которые для простоты будем считать одинаково переменными. Тогда первый главный компонент будет (дробным) кратным суммы обоих вариантов, а второй будет (дробным) кратным разности двух переменных; если эти два параметра не являются одинаково переменными, первый главный компонент будет взвешивать более изменчивый, но он все равно будет включать оба.
Итак, вы начинаете со своих 99 x-переменных, из которых вы вычисляете свои 40 основных компонентов, применяя соответствующие веса к каждой из исходных переменных. [NB в моем обсуждении я предполагаю, что и уже в центре.]Xy X
Затем вы используете свои 40 новых переменных, как если бы они были предикторами сами по себе, как и в случае любой проблемы множественной регрессии. (На практике есть более эффективные способы получения оценок, но давайте оставим в стороне вычислительные аспекты и просто разберемся с основной идеей)
Что касается вашего второго вопроса, непонятно, что вы имеете в виду под «изменением PCA».
Ваши ПК представляют собой линейные комбинации оригинальных вариантов. Допустим, ваши исходные переменные находятся в , и вы вычисляете (где - это а - матрица которая содержит веса главных компонентов для вами компонентов), затем вы оценка помощью регрессии.Z = Х Ш Х п × 99 Вт 99 × 40 40 у = Z β ПКX Z=XW X n×99 W 99×40 40 y^=Zβ^PC
Затем вы можете написать сказать (где , очевидно), так что вы можете записать его как функцию исходных предикторов; Я не знаю , если это то, что вы имеете в виду под «задним ходом», но это осмысленно взглянуть на изначальные взаимоотношения между и . Это не то же самое, что коэффициенты, которые вы получаете, оценивая регрессию по исходным X, конечно, - это нормализуется с помощью PCA; даже если вы получите таким образом коэффициенты для каждого из ваших оригинальных X, у них будет только df от числа установленных вами компонентов.* β *=W β ПКуЙy^=Zβ^PC=XWβ^PC=Xβ^∗ β^∗=Wβ^PC y X
Также см. Википедию о регрессии главных компонентов .
источник