当前位置: 首页 > article >正文

【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']]) 

http://www.kler.cn/a/145140.html

相关文章:

  • 0 基础学运维:解锁 K8s 云计算运维工程师成长密码
  • vue框架技术相关概述以及前端框架整合
  • PythonFlask框架
  • Deepseek技术浅析(二):大语言模型
  • 大模型知识蒸馏技术(2)——蒸馏技术发展简史
  • VS2008 - debug版 - 由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。
  • 【代码随想录】算法训练计划31
  • Docker ps命令
  • 浏览器没收到返回,后端也没报错,php的json_encode问题bug
  • 【开源】基于Vue+SpringBoot的农家乐订餐系统
  • ERROR: Could not find a version that satisfies the requirement torch
  • CAN通信协议
  • HOOPS Web平台助力开发3D应用,实现超大规模3D web轻量化渲染与数据格式转换!
  • 在 VSCode 中使用 GDB 进行 C/C++ 程序调试(图文版)
  • Android:Google三方库之Firebase集成详细步骤(二)
  • 字符串:leetcode1410. HTML 实体解析器
  • 均匀球形分布的随机三维单位向量
  • 【nlp】2.8 注意力机制拓展
  • TCP/IP协议、三次握手、四次挥手
  • 【开源项目】C#.NET 扩展库 -- Com.Gitusme.Net.Extensiones.Core
  • 为什么程序员最应该学习的是运营与销售,而不是技术?
  • AMESim与MATLAB联合仿真demo
  • 数据结构与算法之二叉树: LeetCode 226. 翻转二叉树 (Typescript版)
  • 24. 深度学习进阶 - 矩阵运算的维度和激活函数
  • C#,《小白学程序》第十一课:双向链表(Linked-List)其二,链表的插入与删除的方法(函数)与代码
  • CocosCreator 面试题(十五)Cocos Creator如何内置protobuf JS版本?