Выбор модели PCA с использованием AIC (или BIC)


12

Я хочу использовать Информационный критерий Акаике (AIC), чтобы выбрать соответствующее количество факторов для извлечения в PCA. Единственная проблема заключается в том, что я не уверен, как определить количество параметров.

Рассмотрим матрицу , где представляет количество переменных, а - количество наблюдений, таких что . Поскольку ковариационная матрица симметрична, то оценка максимального правдоподобия может установить число параметров в AIC равным .X N T X N ( 0 , Σ ) Σ N ( N + 1 )T×NXNTXN(0,Σ)ΣN(N+1)2

С другой стороны , в PCA, вы могли бы извлечь первые собственных векторов и собственных значений , назовем их и , а затем вычислить где - средняя остаточная дисперсия. По моим подсчетам, если у вас есть факторов, то вы бы параметров в , параметров в и параметр в .Е & beta ; F Λ F Е = & beta ; F Λ F & beta ; ' е + я σ 2 г σ 2 г е е Λ е Н е & beta ; F 1 σ 2 гfΣβfΛf

Σ=βfΛfβf+Iσr2
σr2ffΛfNfβf1σr2

Правильный ли этот подход? Похоже , что это приведет к большему количеству параметров , чем максимального правдоподобия подхода , поскольку число факторов возрастает до .N


1
Nf учитывает параметры: существует избыточность из-за того, что собственные векторы взаимно ортогональны.
whuber

10
Первый собственный вектор имеет свободных параметров. Условие ортогональности ограничивает второй собственный вектор гиперпространством, ортогональным первому, требуя только параметров. Каждому последующему собственному вектору нужен на один параметр меньше, чем предыдущий. На пределе собственных векторов вы отбрасываете (потому что теперь он равен нулю), давая = параметра в общей сложности, в соответствии с вашим первым параметром сосчитать. N - 1 N σ 2 r N + ( N - 1 ) + + 1 N ( N + 1 ) / 2NN1Nσr2N+(N1)++1N(N+1)/2
whuber

1
@ A.Donda Ситуация расплывчатая: давайте предположим, что вы также указали кратность каждого собственного значения и что эти кратности равны суммируя с Учитывая, что PCA находит ортогональное преобразование, мы бы получили параметра для его определения. Но стабилизаторы каждого собственного пространства являются ортогональными группами в размерностяхТаким образом, каждый из них исключает параметры , оставляя параметров для поворотов. В собственные поставить остальные параметры. Н .n1,n2,,ns,N.n i . n i ( n i - 1 ) / 2 N ( N - 1 ) / 2 - s i = 1 n i ( n i - 1 ) / 2 сN(N1)/2ni.ni(ni1)/2
N(N1)/2i=1sni(ni1)/2
s
Whuber

1
(Я должен добавить, что применение этого подсчета к вопросу сомнительно: PCA использует все параметры , даже если это может случиться, чтобы найти некоторые собственные значения более высокой кратности. И почти в любом реальном наборе данных, в любом случае оно никогда не получит кратность больше )1N(N1)/21
whuber

1
@ whuber, спасибо! Мой вопрос мотивирован ситуацией, когда я оцениваю ковариационную матрицу при ограничении на собственные значения.
А. Донда

Ответы:


5

Работы Minka ( Автоматический выбор размерности для PCA , 2000) и Tipping & Bishop ( Вероятностный анализ основных компонентов ), касающиеся вероятностного представления о PCA, могут предоставить вам интересующую вас структуру. Работа Минки дает приблизительную оценку вероятность где - скрытая размерность вашего набора данных с использованием приближения Лапласа; как прямо сказано: « Упрощение метода Лапласа - это приближение BIC ».k Dlogp(D|k)kD

Очевидно, это принимает байесовскую точку зрения на вашу проблему, которая не основана на критериях теории информации (KL-расхождение), используемых AIC.

Что касается первоначального вопроса «определение количества параметров», я также думаю, что комментарий @ whuber несет правильную интуицию.


Я играл с AIC против AICc на случайных матрицах разных размеров. AICc, казалось, работал лучше. Эти ссылки выглядят хорошо, но у меня еще не было возможности переварить.
Джон

6

Выбор «подходящего» количества компонентов в PCA можно элегантно выполнить с помощью параллельного анализа Хорна (PA). Документы показывают, что этот критерий последовательно превосходит эмпирические правила, такие как критерий локтя или правило Кайзера. Пакет R "paran" имеет реализацию PA, для которой требуется всего пара щелчков мышью.

Конечно, сколько компонентов вы сохраняете, зависит от целей сокращения данных. Если вы хотите сохранить «значимое» отклонение, PA даст оптимальное сокращение. Однако если вы хотите свести к минимуму потерю информации в исходных данных, вам следует сохранить достаточно компонентов, чтобы покрыть 95% объясненную разницу. Это, очевидно, сохранит гораздо больше компонентов, чем PA, хотя для многомерных наборов данных уменьшение размерности все равно будет значительным.

Последнее замечание о PCA как проблеме «выбора модели». Я не полностью согласен с ответом Питера. Было много работ, которые переформулировали PCA как проблему типа регрессии, например, Sparse PCA, Sparse Probabilistic PCA или ScotLASS. В этих «основанных на модели» решениях PCA нагрузки являются параметрами, которые могут быть установлены в 0 с соответствующими штрафными терминами. Предположительно, в этом контексте также было бы возможно рассчитать статистику типа AIC или BIC для рассматриваемой модели.

Этот подход теоретически может включать модель, в которой, например, два ПК не ограничены (все нагрузки не равны нулю), в отличие от модели, в которой ПК1 не ограничен, а ПК2 имеет все нагрузки, равные 0. Это будет эквивалентно выводу, является ли ПК2 избыточным. в целом.

Рекомендации (PA) :

  • Динно А. (2012). paran: тест Горна на основные компоненты / факторы. Версия пакета R 1.5.1. http://CRAN.R-project.org/package=paran
  • Хорн Дж. Л. 1965. Обоснование и проверка количества факторов в факторном анализе. Психометрика . 30: 179–185
  • Хаббард Р. и Аллен С.Дж. (1987). Эмпирическое сравнение альтернативных методов извлечения основных компонентов. Журнал Бизнес исследований, 15 , 173-190.
  • Цвик, WR & Velicer, WF 1986. Сравнение пяти правил для определения количества компонентов для сохранения. Психологический вестник. 99 : 432–442

Добро пожаловать на сайт, @BenM. Исходя из вашего ответа, я думаю, что было бы хорошо, если бы вы были рядом (хотя я не знаю достаточно о PCA, помимо основ, чтобы оценить ваши требования). Один вопрос, вы заметите, что эти позиции были хорошо установлены, не могли бы вы перечислить пару репрезентативных публикаций, где заинтересованный читатель мог бы найти более подробную информацию?
gung - Восстановить Монику

-1

AIC предназначен для выбора модели. На самом деле это не проблема выбора модели, и, возможно, вам лучше выбрать другой подход. Альтернативой может быть указание определенного общего процента объясненной дисперсии (например, 75%) и остановка, когда процент достигает 75%, если это когда-либо происходит.


1
Я выбираю между разными моделями на основе количества факторов (модель с 1 фактором против модели с 2 и т. Д.). Проблема с процентным отклонением состоит главным образом в том, что он игнорирует стоимость оценки дополнительных собственных векторов, особенно когда число наблюдений меньше количества переменных. AIC хорошо вписывается в вероятностный подход PCA.
Джон

3
Майкл, не могли бы вы объяснить, почему это не проблема выбора модели? Похоже, Джон четко сформулировал это как единое целое.
whuber

@whuber Что такое статистическая модель? Мне кажется, что определение количества главных компонентов, используемых для представления x% дисперсии в переменной Y, не выбирает модель. Я бы не стал думать о главных компонентах как о параметрах модели.
Майкл Р. Черник

2
XiN(0,Σ)Σσi2ρ|ρ|=1θλ1λ2λ2=0, Обе перспективы тестируют на идеальную корреляцию (коллинеарность); они просто используют разные параметризации. Если вы разрешите первое в качестве модели, вы должны разрешить второе.
whuber

-3

AIC здесь не подходит. Вы не выбираете среди моделей с различным количеством параметров - главный компонент не является параметром.

Существует ряд методов определения количества факторов или компонентов на основе факторного анализа или анализа главных компонентов - тест осадки, собственное значение> 1 и т. Д. Но реальный тест является существенным: какое число факторов имеет смысл ? Посмотрите на факторы, рассмотрите вес, выясните, какой из них лучше всего подходит для ваших данных.

Как и другие вещи в статистике, это не то, что можно легко автоматизировать.


4
ΣΣ

1
@whuber Параметр ковариационной матрицы может быть, но не параметром модели. Я поддерживаю Питера в этом.
Майкл Р. Черник

3
Питер, какое различие вы проводите между «параметром модели» и «параметром»? Я ничего не знаю о такой вещи, и поэтому был бы рад узнать об этом. Если ваша цель - найти скупое описание многовариантных ковариаций, не являются ли они «модельными» параметрами?
whuber

3
nmn

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