首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >手动更改sm.OLS系数

手动更改sm.OLS系数
EN

Stack Overflow用户
提问于 2020-04-10 20:32:53
回答 1查看 826关注 0票数 1

我正在对状态模型进行多元回归。但是,在预测之前,我想手动修改一个独立变量的系数。我该怎么做?

例如,假设我在4年前的2年时间内对我的数据进行培训。我返回风、雨和太阳的系数。

现在假设我用最近两年的数据训练我的数据,然后再一次得到回归输出中的系数。

如果我想使用第一次回归输出的wind系数和第二次回归的rainsun系数,如何在使用predict之前手动更改wind

编辑:

回归代码/参数:

代码语言:javascript
复制
model = sm.OLS(y[:train],X[:train]).fit()
predictions = model.predict(X[-test:])

其中X[['rain','sun','wind']]y['growth']

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-10 21:17:55

OLS中的预测只是解释变量x dot params的一个线性函数。

代码语言:javascript
复制
my_params = results.params.copy()
my_params[2] = -99999
my_predict = x.dot(my_params)

我建议不要直接更改模型中的任何数字,因为对于更改的模型,任何推断结果都是无效的。

如果您已经知道参数,那么您可以估计一个受限的模型,例如使用GLM.fit_constrained,或者将它们添加到GLM中的偏移量中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61148246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档