У меня есть большой набор данных, состоящий из значений нескольких сотен финансовых переменных, которые можно использовать в множественной регрессии для прогнозирования поведения индексного фонда во времени. Я хотел бы сократить число переменных до десяти или около того, сохраняя при этом как можно большую предсказательную силу. Добавлено: сокращенный набор переменных должен быть подмножеством исходного набора переменных, чтобы сохранить экономический смысл исходных переменных. Так, например, я не должен заканчиваться линейными комбинациями или агрегатами исходных переменных.
Некоторые (возможно, наивные) мысли о том, как это сделать:
- Выполните простую линейную регрессию с каждой переменной и выберите десятку с наибольшим значением . Конечно, нет никакой гарантии, что десять лучших отдельных переменных будут лучшей группой из десяти.
- Выполните анализ главных компонентов и попытайтесь найти десять исходных переменных с наибольшими связями с первыми несколькими основными осями.
Я не думаю, что смогу выполнить иерархическую регрессию, потому что переменные на самом деле не являются вложенными. Попытка использовать все возможные комбинации из десяти переменных невозможна в вычислительном отношении, поскольку существует слишком много комбинаций.
Существует ли стандартный подход для решения этой проблемы уменьшения числа переменных в множественной регрессии?
Кажется, что это было бы достаточно распространенной проблемой, что был бы стандартный подход.
Очень полезным ответом будет тот, который не только упоминает стандартный метод, но также дает представление о том, как и почему он работает. В качестве альтернативы, если нет единого стандартного подхода, а есть несколько подходов с разными сильными и слабыми сторонами, очень полезным будет ответ, в котором обсуждаются их плюсы и минусы.
Приведенный ниже комментарий Вубера указывает на то, что запрос в последнем абзаце слишком широк. Вместо этого я бы принял в качестве хорошего ответа список основных подходов, возможно, с очень кратким описанием каждого. Как только у меня появятся условия, я смогу выкопать детали каждого из них.
Ответы:
Эта проблема обычно называется выбором подмножества, и существует довольно много разных подходов. См. Google Scholar для обзора связанных статей .
источник
Метод 1 не работает. Метод 2 имеет надежду в зависимости от того, как вы это делаете. Лучше вводить главные компоненты в порядке убывания объясненной дисперсии. Более понятный подход состоит в том, чтобы выполнить кластеризацию переменных, затем уменьшить каждый кластер до единой оценки (не используя Y), а затем согласовать модель с оценками кластера.
источник
varclus
Функцию вHmisc
пакете R или PROC VARCLUS в SAS. Сокращение данных может помочь с поднабором переменных, если вы проявите некоторую осторожность; Вы можете удалить весь кластер, если его значение равно 0,3. С основными компонентами есть такие методы, как снижение заряда батареи, когда вы по существу аппроксимируете ПК с подмножеством составляющих их переменных.В главе 5 Data Mining with R автор показывает несколько способов выбора наиболее полезных предикторов. (В контексте биоинформатики, где каждая строка выборки содержит более 12 000 столбцов!)
Сначала он использует некоторые фильтры на основе статистического распределения. Например, если у вас есть полдюжины предикторов со схожим средним значением и sd, вы можете просто оставить один из них.
Затем он показывает, как использовать случайный лес, чтобы найти, какие из них являются наиболее полезными предикторами. Вот автономный абстрактный пример. Вы можете видеть, что у меня есть 5 хороших предсказателей, 5 плохих. Код показывает, как сохранить лучшее 3.
Последний подход автора заключается в использовании алгоритма иерархической кластеризации для группировки похожих предикторов, скажем, в 30 групп. Если вам нужно 30 различных предикторов, вы выбираете один из каждой из этих 30 групп случайным образом.
Вот некоторый код, использующий те же примеры данных, что и выше, для выбора 3 из 10 столбцов:
Мои выборочные данные совсем не подходят этому подходу, потому что у меня есть 5 хороших предикторов и 5, которые являются просто шумом. Если все 10 предсказателей были немного коррелируют с
y
, и имели хороший шанс стать еще лучше , когда используются вместе (что вполне возможно , в финансовой сфере), то это может быть хорошим подходом.источник
Вы можете рассмотреть возможность использования такого метода, как LASSO, который регуляризирует наименьшие квадраты, выбирая решение, которое минимизирует одну норму вектора параметров. Оказывается, что на практике это приводит к минимизации числа ненулевых элементов в векторе параметров. Хотя LASSO популярен в некоторых статистических кругах, в мире компрессионного зондирования были рассмотрены многие другие связанные методы.
источник