169 похожих чатов

Добрый день! Вопрос, наверное, дурной, но я как-то основательно подвис. Нашел

очень интересный метод для моей задачи. Хочу попробовать. Факторный анализ?- смотрю в лекции Абакумова, использую factanal(), вылетает с ошибкой, что данные коллинеарные. Как? Разве факторный анализ не создан для того, чтобы уменьшать размерность данных, в том числе за счет объединения коррелирующих переменных? Гуглю, что еще делает факторный анализ. Psych::fa() – та же проблема, не ест коррелированные данные.  Это у меня какое-то не такое понимание факторного анализа?

Вспоминаю, что из этой же области метод главных компонент (который не очень понятно для меня объяснял Карпов на степике). Пробую его применять «в лоб», на коррелированных данных с ним все ok, но не он используется же в найденном видео. Боюсь, что из-за моего непонимания математической сущности получится чушь. Но нахожу в интернете, что «факторный анализ и метод главных компонент обычно дают очень близкие результаты…»

Собственно вопросы.
1.Можно ли заставить факторный анализ работать с коррелированными переменными. Если да, то как?

2.Можно ли вместо факторного анализа использовать метод главных компонент? Что тогда оттуда брать для использования в методе из видео- rotation matrix?

3.И в добавок возник вопрос. Вот сделали fit<-factanal(x_старые). Из fit можно достать значения факторов для каждого x_i. Теперь есть множество x_новые. Хочу узнать для них значения факторов по уже обученной модели. Можно ли это как-то сделать? И, можно ли достать из модели «формулу», чтобы считать значения факторов вне R.

1 ответов

9 просмотров

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

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта