Установите один или несколько коэффициентов для определенного целого числа

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

Например, я бы хотел, чтобы коэффициент моих переменных погоды и цены составлял 647 и 15 соответственно.

Я использую lm-функцию со стандартной формулой.

Ближайшие вещи, которые я нашел до сих пор, - это функция смещения в glm или ограничить .rhs внутри systemfit.

Я также рассмотрел вычитание суммарного вклада этих переменных с их набором коэффициентов, но это не очень масштабируемо.

Я знаю все проблемы, задающие коэффициент, но хотел бы сделать это только с исследовательской точки зрения.

Ответ 1

Вы можете использовать термин смещения в формуле и включить в него требуемый коэффициент и переменную:

df<-data.frame(aa=1:6,bb=2:7,cc=c(4,2,7,5,8,3))

lm(cc ~ aa + offset(647*bb), data = df)

Итак, это регрессирование cc на aa плюс фиксированный термин bb * 647. Для более чем одного заданного коэффициента добавьте соответствующие дополнительные термины offset().