вручную изменить коэффициент sm.OLS - PullRequest
0 голосов
/ 10 апреля 2020

Я использую многомерную регрессию в statsmodels. Однако я хотел бы вручную изменить один из коэффициентов для независимой переменной перед прогнозированием. Как мне go сделать это?

Например, скажем, я тренирую свои данные за 2 года, начиная с 4 лет назад. Я возвращаю коэффициенты для ветра, дождя и солнца.

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

Если я хочу использовать коэффициент wind из первого вывод регрессии с коэффициентами rain и sun из второй регрессии, как мне вручную изменить wind перед использованием predict?

РЕДАКТИРОВАТЬ:

Код / параметры регрессии :

model = sm.OLS(y[:train],X[:train]).fit()
predictions = model.predict(X[-test:])

Где X равно [['rain','sun','wind']] и y равно ['growth']

1 Ответ

1 голос
/ 11 апреля 2020

Прогноз в OLS - это просто линейная функция объясняющих переменных, x dot params.

my_params = results.params.copy()
my_params[2] = -99999
my_predict = x.dot(my_params)

Я рекомендую не изменять какие-либо числа непосредственно в модели, потому что тогда любые косвенные результаты недопустимы для измененная модель.

Если у вас есть известные параметры, вы можете оценить ограниченную модель, например, с помощью GLM.fit_constrained или добавить их к смещению в GLM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...