Я хотел бы вручную зафиксировать определенный коэффициент, скажем, , затем подогнать коэффициенты ко всем остальным предикторам, сохраняя при этом β 1 = 1,0 в модели.
Как я могу добиться этого с помощью R? Я бы особенно хотел поработать с LASSO ( glmnet
), если это возможно.
В качестве альтернативы, как я могу ограничить этот коэффициент конкретным диапазоном, скажем, ?
Ответы:
Вам нужно использовать такой
offset
аргумент:Насчет ассортимента ... Я не думаю, что это было реализовано в
glmnet
. Если они используют какой-то числовой метод, вы, возможно, захотите покопаться в коде R и попытаться ограничить его там, но вам понадобится хороший, солидный опыт программирования.источник
offset
самом деле делает? Как определяется стоимость1.1*x1
из вопроса?offset
glmnet
lower.limits
upper limits
Ну что ж, подумаем. У тебя есть:
источник
Что касается ограничения коэффициентов в пределах диапазона, то байесовский подход к оценке является одним из способов достижения этого.
В частности, можно полагаться на цепь Маркова Монте-Карло. Во-первых, рассмотрим алгоритм выборки Гиббса, в котором вы бы поместили MCMC в байесовскую структуру без ограничения. В выборке Гиббса на каждом шаге алгоритма производится выборка из апостериорного распределения каждого параметра (или группы параметров) с учетом данных и всех других параметров. Википедия дает хорошее резюме подхода.
Один из способов ограничения диапазона - применить шаг Метрополис-Гастингс. Основная идея состоит в том, чтобы просто выбросить любую смоделированную переменную, которая находится за пределами ваших границ. Затем вы можете продолжать повторную выборку до тех пор, пока она не выйдет за ваши пределы, прежде чем перейти к следующей итерации. Недостатком этого является то, что вы можете застрять в симуляции много раз, что замедляет работу MCMC. Альтернативный подход, первоначально разработанный Джоном Гьюке в нескольких статьях и расширенный в статье Родригеса-Яма, Дэвиса, Шарпа, заключается в моделировании из многомерного нормального распределения с ограничениями. Этот подход может обрабатывать ограничения линейного и нелинейного неравенства для параметров, и я добился определенного успеха с ним.
источник
glmnet
.Я не знаком с LASSO или
glmnet
, ноlavaan
(сокращение от «латентный анализ переменных») упрощает модели множественной регрессии с ограничениями равенства и ограничениями неравенства с одной границей (см. Таблицу на стр. 7 этого PDF-документа, «lavaan: пакет R»). для моделирования структурных уравнений " ). Я не знаю, могли ли бы вы иметь верхнюю и нижнюю границы коэффициента, но, возможно, вы могли бы добавить каждую границу отдельными строками, например:Конечно, если вы стандартизируете все до подгонки модели, вам не нужно беспокоиться о том, чтобы в любом случае наложить верхнюю границу 1 на ваши коэффициенты регрессии. Я бы сказал, что в этом случае лучше не указывать, на случай, если что-то пойдет не так! ( все еще
lavaan
находится в бета-версии ... Я видел некоторые слегка подозрительные результаты в моем ограниченном использовании этого до сих пор.)источник