【statsmodels】快速实现回归预测

python 做线性回归分析有好几种方式,常要的是 scipy 包,statsmodels 包,以及 sklearn包。
但是个人比较喜欢使用statsmodel进行线性回归,一是其可以更好的呈现回归效果,二是其能够自动跳过缺失值。

  1. sklearn则不能方便地显示回归系数的显著性,而statsmodels使用summary方法就可以很直观的显示相关参数。
  2. statsmodels对缺失值预测能够直接返回None,而不报错。而如果被预测数据有缺失值,sklearnLinearRegression缺会报错,这对高效进行回归预测是一个问题
  3. smf进行预测的方式更加灵活,支持用字符串构造线性回归公式
  4. 需要注意的一个点是,使用smf进行回归预测,如果将数据传回到df中,最好使用df.loc[:,'column_name']的形式,否则会有数据缺失的问题
import statsmodels.formula.api as smf  
import pandas as pd

df = pd.read_csv('train.csv')
df['shift_wap'] = df.groupby(['stock_id','date_id'],as_index=False)['wap'].shift(-1).sort_index()

lr = smf.ols('shift_wap ~ ask_price + ask_size + wap + bid_price + bid_size+ reference_price + matched_size', data=df).fit() 
print(lr.summary())

df.loc[:,'unexpected_wap'] = lr.predict(df[['ask_price','ask_size','wap','bid_price','bid_size','reference_price','matched_size']]) 

https://blog.csdn.net/weixin_43230383/article/details/121607538

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值