У меня есть две группы субъектов, A и B, каждая из которых имеет размер около 400 и около 300 предикторов. Моя цель - построить модель прогнозирования для бинарной переменной ответа. Мой клиент хочет увидеть результат применения модели, построенной из A на B. (В своей книге «Стратегии регрессионного моделирования», @FrankHarrell упоминает, что лучше объединить два набора данных и построить модель на этом, так как это добавляет сила и точность - см. стр. 90, Внешняя проверка. Я склонен с ним согласиться, учитывая, что сбор данных, которые у меня есть, очень дорог и требует много времени. Но у меня нет выбора относительно того, что хочет клиент .) Многие из моих предикторов сильно коррелированы и также очень искажены. Я использую логистическую регрессию для построения своей прогнозной модели.
Мои предсказатели происходят в основном из механики. Например, общее время, в течение которого субъект находился в состоянии стресса, превышающем пороговое значение за период времени для различных значений и . Ясно, что только из их определений многие из этих полных времен алгебраически связаны друг с другом. Многие из предикторов, которые не связаны алгебраически, связаны по своей природе: субъекты, находящиеся в состоянии сильного стресса в течение периода времени как правило напряжение в течение периода времени , даже если, Чтобы уменьшить размерность данных, я объединил связанные предикторы (например, все общее время стресса) и использовал анализ основных компонентов для представления каждого кластера. Поскольку переменные были искажены, я попробовал два альтернативных пути:
- Перед выполнением PCA я использовал логарифмическое преобразование, чтобы уменьшить перекос в переменных.
- Я использовал алгоритм ROBPCA Миа Хьюберта, реализованный пакетом rrcov в R, (PcaHubert), чтобы найти надежные главные компоненты.
Я использую общую форму кривой ROC, форму кривой точного отзыва и площадь под кривой ROC (AUC) в качестве моих показателей эффективности, и я хотел бы получить аналогичные результаты для обоих наборов данных A и B Я ожидал получить гораздо лучший результат от использования надежных основных компонентов, но, к моему удивлению, первый метод оказался лучше: лучшее значение AUC для обоих наборов данных A и B, большее сходство между кривыми ROC и большее сходство точности-отзыва кривые.
Чем это объясняется? И как я могу использовать надежные основные компоненты вместо того, чтобы мои данные выглядели как нормальные? Существуют ли какие-либо конкретные надежные методы PCA, которые вы бы порекомендовали вместо ROBPCA?
источник
Ответы:
Короче говоря, и из вашего описания вы сравниваете яблоко с апельсинами .... двумя способами.
Рассмотрим этот пример:
Теперь поместите две модели (ROBPCA и классическая PCA в журнал данных):
Теперь рассмотрим ось наименьшего отклонения, найденную каждым методом (здесь для удобства я нанесу ее на лог-преобразованное пространство, но вы получите те же выводы на исходном пространстве).
Видимо, ROBPCA лучше справляется с обработкой незагрязненной части данных (зеленые точки):
Но теперь я перехожу ко второму пункту.
у вас есть это (это тихо видно на графике выше):
Но вы, кажется, удивлены тем, что:
- как вы описали свою процедуру тестирования, вы вычисляете критерий оценки соответствия для всего набора данных, поэтому ваш критерий оценки является монотонной функцией (2), где вы должны использовать монотонную функцию (1) -
Другими словами, не ожидайте, что надежное согласование будет иметь меньшую сумму квадратов ортогональных невязок, чем ненадежная процедура в вашем полном наборе данных: не надежная оценка уже является уникальным минимизатором SSOR в полном наборе данных.
источник