2011-12-21 4 views
3

Я хочу, чтобы один из коэффициентов в моей модели был меньше или равен нулю.Коэффициент силы, который должен быть отрицательным в R lm

Пакет nnls позволяет установить все коэффициенты, равные или больше нуля, но я не понимаю, как указать конкретный коэффициент меньше нуля.

Любая помощь была бы принята с благодарностью.

+2

У меня нет большого опыта с ограниченной регрессией, но я подумал об изменении знака соответствующей переменной в ваших данных. Тогда ограничение> = 0 должно достичь вашей цели (хотя вы сделаете интерпретацию своей модели более запутанной). – joran

ответ

6

Функция nnnpls в the same package является «реализацией наименьших квадратов с неотрицательными и неположительными ограничениями».

Его третий аргумент, con, позволяет определить, какие коэффициенты должны быть неположительны:

числовой вектор длины m, где элемент i является отрицательным, если и только если элемент i вектора раствора x должны быть ограничены неположительными, а не неотрицательными значениями.

+0

Не могли бы вы показать пример? Я немного смущен справочной страницей для nnpls. –

+0

Ничего похожего на старый добрый RTFM, а? :-). Tho 'Я должен признать, что не всегда очевидно, какие * пакеты * нужно искать в первую очередь. Вот плагин для пакета 'sos', который неплохо справляется с поиском инструментов и пакетов для вас. –

+0

@BurtonGuster: руководство имеет следующий пример: 'nnnpls (A, matdat [, i], con = c (1, -1,1))'. Первые два аргумента точно так же, как вы указываете на 'nnls()', а третий - как указано в параграфе, указанном в моем ответе. – NPE

0

Пакет ic.infer, возможно, подходит для этой задачи.

Из пакета виньетки: «В линейных моделях и многомерных нормальных ситуациях, априорной информации в линейной форме неравенства может возникнуть, или линейные неравенства гипотеза может быть подвергнут статистических испытаний R пакет ic.infer было разработан для. поддерживать ограничение, ограниченное неравенством оценка и тестирование для таких ситуаций ».

Смежные вопросы