2015-07-22 8 views
0

У меня есть модель регрессии, которая наиболее эффективно решена с использованием эластичной сетки. У него очень большое число предикторов, что мне нужно выбрать только их подмножество. Более того, может быть корреляция между предикторами, поэтому была выбрана эластичная сеть)Как добавить предварительные знания о предикторах в эластичной сетке Регрессионная модель?

Мой вопрос: Если у меня есть знание о том, что на выходе должно существовать определенное подмножество предикторов (они не должны наказываться) , как можно добавить эту информацию в эластичную сеть? Или даже к модели регрессии, если в этом случае подходит эластичная сетка.

Мне нужно посоветовать документы, предлагающие такие решения, если это возможно.

Я использую Scikit-learn в Python, но я больше беспокоюсь об алгоритме, а не только о том, как это сделать.

+0

Какое программное обеспечение вы используете? –

+0

Я использую Scikit-learn в python. Но меня больше беспокоит знание самого метода, я буду искать реализацию. – Doaa

ответ

1

Если вы используете пакет glmnet в R, аргумент penalty.factor обращается к этому вопросу.

От ?glmnet:

penalty.factor

Отдельные штрафные коэффициенты могут быть применены к каждому коэффициенту. Это число, которое умножает лямбда, чтобы допускать дифференциальную усадку. Может быть 0 для некоторых переменных, что подразумевает отсутствие усадки, и эта переменная всегда включена в модель. Значение по умолчанию равно 1 для всех переменных (и неявно бесконечность для переменных, перечисленных в exclude). Примечание: штрафные коэффициенты внутренне масштабируются для суммирования до nvars, и последовательность лямбда будет отражать это изменение.

+0

Я не использую R, но это полезно знать. Таким образом, коэффициент умножается на штрафы L1 и L2? Вы знаете, как вызывается алгоритм, когда он имеет разные факторы? – Doaa

0

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

+0

Предварительное знание о том, что у меня есть «подмножество предикторов» на выходе, но их коэффициенты неизвестны. Остальные предиктора могут или не могут быть выбраны в качестве предикторов. – Doaa