Есть ли возможность указать линейную регрессию с помощью OLS из statsmodels таким образом, чтобы некоторые коэффициенты объявлялись вручную?

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

Есть ли возможность параметризовать модель таким образом, чтобы для 4 из 10 переменных я ставил вручную коэффициенты, а для остальных метод подгонки подсчитывал их значения?

Или, может быть, вы знаете другой способ сделать это?

Большое спасибо за все ответы!

MP


person Neofita07    schedule 01.03.2021    source источник


Ответы (1)


Да, в два этапа. Сначала вы берете эти ручные коэффициенты, умножаете их на соответствующие («ручные») переменные, чтобы получить векторы, и вычитаете их из целевого значения. Затем вы можете взять обычный OLS и получить коэффициенты оставшихся переменных.

Допустим, у вас есть две переменные, x1 и x2, и вы хотите установить вес для w1. Вы можете просто сделать вывод

w2 =(x2**T * x2) ** (-1) * x2 ** T * (y - w1 * x1)
person Niels Uitterdijk    schedule 01.03.2021
comment
Благодарю за ответ. Хорошая идея, но после подбора модели мне нужно исследовать все переменные отдельно. Так что я думаю, что это решение не совсем то, что мне нужно. - person Neofita07; 01.03.2021
comment
Что вы имеете в виду, вам нужно исследовать все переменные отдельно? На данный момент вы знаете w1 и w2, поэтому можете воссоздать w вектор. Этот подход остается в силе, когда w1 и w2 являются векторами. - person Niels Uitterdijk; 02.03.2021
comment
Ok. Проанализировав более подробно ваш пример, я понял, что вы имеете в виду. Спасибо за помощь. - person Neofita07; 02.03.2021