![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
![]() Группа: Пользователи Сообщений: 1141 Регистрация: 10.04.2007 Пользователь №: 4040 ![]() |
Хотелось бы предложить для обсуждения следующую проблему. Факторный анализ, как известно, связан с решением проблемы собственных значений, варимаксом, оценкой общностей и т.д., в зависимости от метода. Но основное - построить корреляционную матрицу. При использовании количественных признаков корреляционная матрица состоит из коэффициентов корреляции Пирсона, посчитанных из взятых попарно признаков. Построенная таким образом корреляционная матрица является положительно полуопределенной (матрицей Грама), что гарантирует неотрицательность собственных значений (эквивалентных мере дисперсии, объясняемой факторами) и действительность собственных векторов, которыми можно изобразить близость признаков.
Некоторыми авторами, однако, выдвигалась идея построения корреляционной матрицы из коэффициентов корреляции для порядковых признаков (Кендалла, Спирмена) и даже коэффициентов типа корреляции для бинарных и смешанных признаков (в том числе подход Гауэра). Вот тут и начинаются проблемы. Авторы, очевидно, дальше теоретических изысканий не шли, а зря. Расчеты показывают, что корреляционная матрица, построенная из неколичественных признаков, матрицей Грама часто не является со всеми вытекающими сложностями (отрицательные собственные значения и комплексные собственные вектора), препятствующими интерпретации результатов расчета. P.S. Вопрос возник в ходе работы по проверке и активации в ПО StatAnt факторного анализа по просьбам пользователей. Сообщение отредактировал Игорь - 21.02.2023 - 21:09 ![]() Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
![]() |
![]() |
![]() |
![]()
Сообщение
#2
|
|
Группа: Пользователи Сообщений: 902 Регистрация: 23.08.2010 Пользователь №: 22694 ![]() |
Цитата А корреляционная матрица для всей этой красоты - только из коэффициентов Пирсона. Об остальном лучше не упоминать. Выложил хохмы для пример по собственному формату: 1) три дихотомических переменных; 2) три таблицы сопряженности: 1 vs 2, etc. 3) три тетрахорических коэффициента по Bonett & Price (2005) Voila! И единицы на главной диагонали пробовал, и общности в корреляционной матрице- на глаз - все работает. Файл прикрепил.
Прикрепленные файлы
|
|
![]() |
![]() |
![]()
Сообщение
#3
|
|
![]() Группа: Пользователи Сообщений: 1141 Регистрация: 10.04.2007 Пользователь №: 4040 ![]() |
Выложил хохмы для пример по собственному формату: 1) три дихотомических переменных; 2) три таблицы сопряженности: 1 vs 2, etc. 3) три тетрахорических коэффициента по Bonett & Price (2005) Voila! И единицы на главной диагонали пробовал, и общности в корреляционной матрице- на глаз - все работает. Файл прикрепил. Спасибо огромное за пример. Это такая же ценность, как исходный код. Сделал факторный анализ на основе тетрахорического коэффициента, что действительно необходимо пользователям. Заодно добавил и другие методы анализа для дихотомических переменных в соответствующие разделы. Но немного о плохом. Видимо, давно не занимался данным разделом статистики - делал факторный анализ по просьбе биологов в году этак 1993. Оказалось, за прошедшее время коэффициент Бравайса (он же Ф, он же БЫЛ тетрахорическим) стал неактуальным. Тетрахорический коэффициент стал ареной интеллектуальных сражений. Аппроксимаций неимоверное количество. Взял здесь https://real-statistics.com/correlation/pol...on-estimation/). Немного погорячился с невозможностью факторного анализа неколичественных признаков, но вспомнил - речь была о смешанных признаках, т.е. массив данных представляет собой набор признаков, измеренных в разных шкалах, а корреляционная матрица - соответственно, смесь в одной куче различных коэффициентов корреляции (Пирсона, Кендалла, Бравайса, точечно-бисериальные). Возможно, решение данной проблемы состоит в предварительной нормализации (натолкнула идея из Вашего примера) и применении одного коэффициента корреляции (например, Пирсона) для вычисления всей корреляционной матрицы, а не в зоопарке коэффициентов. Сообщение отредактировал Игорь - 24.02.2023 - 19:37 ![]() Ebsignasnan prei wissant Deiws ainat! As gijwans! Sta ast stas arwis!
|
|
![]() |
![]() |
![]()
Сообщение
#4
|
|
Группа: Пользователи Сообщений: 902 Регистрация: 23.08.2010 Пользователь №: 22694 ![]() |
Аппроксимаций неимоверное количество. Взял здесь https://real-statistics.com/correlation/pol...on-estimation/). Да, Зайонц и меня (по разным поводам) выручал не раз. Он там возится с аппроксимацией Эдвардса и Эдвардса (Edwards & Edwards, 1984). Я в свое время тоже реализовывал эти формулы и сравнивал с тем, что выдает Stata. У меня ничего не совпало: Stata как-то очень хитро потом "докручивает" этот коэффициент, но внятным описанием методики не побаловали, и суть этого действа я не уловил. Так и лежит - ждет своего часа. Цитата Немного погорячился с невозможностью факторного анализа неколичественных признаков... Не сказал бы, что погорячились: кривыми оценками общностей немудрено запороть корреляционную матрицу и в идеальных условиях. Цитата ... но вспомнил - речь была о смешанных признаках, т.е. массив данных представляет собой набор признаков, измеренных в разных шкалах, а корреляционная матрица - соответственно, смесь в одной куче различных коэффициентов корреляции (Пирсона, Кендалла, Бравайса, точечно-бисериальные). Возможно, решение данной проблемы состоит в предварительной нормализации (натолкнула идея из Вашего примера) и применении одного коэффициента корреляции (например, Пирсона) для вычисления всей корреляционной матрицы, а не в зоопарке коэффициентов. По поводу "зоопарка коэффициентов" у меня только в отношении пары "непрерывная переменная vs. ординальная переменная" некоторые сомнения: думается, что в этом случае надо затевать дисперсионный анализ. Но что брать в качестве оценки связи - омегу-квадрат? Эту-квадрат? Если бы вы все это реализовали - крутизна была бы неимоверная. Вот только как оценивать общности? P.S. Однако, это все хорошо, но ведь nokh неоднократно упоминал на форуме о GIFI-трансформации, ссылаясь на де Лью и соавт. (de Leeuw). Неужели все не впрок? Вот, не поленился - загуглил, а у ребят уже целый пакет готов. Ссылка. Раньше-то у них только {homals} был... P.P.S. Но вообще у меня сформировалось стойкое убеждение, что сваливание до кучи всех этих дихотомических, ординальных и непрерывных переменных размывает картину, делает ее диффузной и плохо читаемой. Сообщение отредактировал 100$ - 25.02.2023 - 00:04 |
|
![]() |
![]() |
![]()
Сообщение
#5
|
|
Группа: Пользователи Сообщений: 1218 Регистрация: 13.01.2008 Из: Челябинск Пользователь №: 4704 ![]() |
P.S. Однако, это все хорошо, но ведь nokh неоднократно упоминал на форуме о GIFI-трансформации, ссылаясь на де Лью и соавт. (de Leeuw). Неужели все не впрок? Вот, не поленился - загуглил, а у ребят уже целый пакет готов. Ссылка. Раньше-то у них только {homals} был... P.P.S. Но вообще у меня сформировалось стойкое убеждение, что сваливание до кучи всех этих дихотомических, ординальных и непрерывных переменных размывает картину, делает ее диффузной и плохо читаемой. Да, метод вообще шикарный, стал одним из моих любимых, всё им с биологами и врачами считаем. Практика показала, что всё сваливать в кучу можно, получается хорошо, но не всегда то, что хотелось бы. Но это касается главным образом метки принадлежности к группе (например группа сравнения и пара групп заболеваний или степени тяжести заболевания). В последнем случае первой главной компонентой получаются именно групповые особенности (нагрузка на метку принадлежности к группе самая высокая) и все показатели которые там с заметными нагрузками - те, по которым обнаруживались различия средних; т.е. данная компонента получается тривиальной. Но при этом бывает, что за этой ГК идут другие, которые являются общими для всего массива данных без учёта групп: например, связанные с полом или какие-то биологические паттерны. Их было сложно обнаружить на фоне сильных межгрупповых различий, но сняв таковые вместе с первой ГК их можно обнаружить. В случае когда метку группы включать не хочется по каким-то причинам, её можно включить как дополнительную переменную - она не будет участвовать в анализе, но её метка будет отслеживаться и выдаваться в матрице нагрузок. Например таким признаком может быть возраст: если мы включим его в анализ полноценным признаком, то он будет участвовать в решении, если же не включим, а будем только отслеживать, тогда возрастные закономерности (если они есть) получатся "чистыми", а то что это именно возрастные - увидим по нагрузке этой дополнительной переменной. Отдельная песня - графики оцифровки категориальных и порядковых показателей, да и количественных тоже. Как ни хотел я слезть с иглы CATPCA из SPSS. не получается пока: это лучшая реализация идеи с широким спектром настроек, позволяющих получать решения аналогичные классическому PCA и классическому анализу соответствий со всеми переходными вариантами (у меня обычно типа рангового PCA получается). Пробовал и homals, и Gifi, завёл папки, обкатывал на разных примерах. Иногда получается аналогично, иногда - грубее, на одном датасете вообще ерунду получил - так и не разобрался почему, но никогда - лучше. Единственное - подсмотрел там такой вариант, когда каждое уникальное значение для показателя используется в качестве узла сплайна - там эту настройку можно задать встроенной в функцию настройкой. Пробовал это в CATPCA задавая число узлов равным числу наблюдений (программа ругается, но для каждого показателя берёт в итоге максимально возможное число узлов) - получается хорошо, доля объяснённой дисперсии всегда увеличивается и видимо это максимум возможной. Как ни странно, до сих пор не определился полностью с необходимостью вращения решения. Раньше когда сидел на Statistica, и позже - на KyPlot (там много хороших настроек и вариантов факторного анализа, включая расчёт начальных значений общностей по Йореско), всегда крутил варимакс, а пару раз (не исключалась корреляция факторов) - прямой облимин. Последнее время много расчётов делаю в PAST (там нет FA, только PCA) привык без вращений, и мне тоже нравится, всё неплохо интерпретируется. И поскольку воспроизводить матрицу корреляций и делать конфирматорный мне не надо, обхожусь компонентами. Кстати в PAST есть алгоритм итерационной импутации пропущенных значений, а также between grops PCA и within groups PCA, а недавно разработчики добавили Redundancy analysis. Сообщение отредактировал nokh - 26.02.2023 - 20:13 |
|
![]() |
![]() |
![]() ![]() |