You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

股票预测中:如何用树提升模型处理3D输入实现多输出回归?

股票预测任务中训练数据构建方案及模型优化建议

当前展平方式的核心问题

你直接把32种商品×27个特征展平为单一行向量的做法,确实会丢失商品间的关联性与特征归属信息——原本每个商品的特征是独立的逻辑分组,展平后模型无法识别哪些特征属于同一商品,相当于把所有商品的特征混在一起,既难学习到单个商品特征与自身收益率的对应关系,也捕捉不到商品间的联动规律,这大概率是MSE偏高的主要原因。

更合理的训练数据构建方案

方案1:单商品独立建模(优先尝试)

把每个商品拆成独立的回归任务处理:

  • 对每个商品,提取它的27个特征在连续n个时间步的序列,构建成(样本数, n*27)的特征矩阵,目标变量是该商品在t+2时刻的收益率。
  • 每个模型只专注学习单个商品的历史特征与未来收益率的映射,避免不同商品特征的干扰。
  • 直接用LightGBM/XGBoost做单输出回归即可,无需MultiOutputRegressor。最后可通过32个模型的平均性能或加权结果完成对比。

方案2:保留商品维度的多输出建模

如果需要捕捉商品间的联动关系,可调整数据结构让模型识别商品维度:

  • 重构特征时给每个特征添加商品标识,比如命名为商品1_特征1_t-1、商品2_特征3_t-2,将数据整理为(样本数, 32*(n*27))的矩阵,让模型通过特征命名规律间接学习商品分组。
  • 或者采用长格式数据:把每个商品-时间步的组合作为一条样本,特征包含该商品的n步历史特征+其他商品的同期/历史特征,同时加入商品ID作为标签编码特征,让模型区分不同商品,目标变量为该商品t+2的收益率。

额外优化方向

  • 归一化规范:用训练集的均值/标准差拟合归一化规则,再应用到测试集,避免数据泄露;针对大量0值,可单独标记或对非0特征做独立归一化。
  • 时间窗口优化:通过网格搜索尝试不同的n值(如20、50、100步),找到适配数据的最优窗口,过长易引入噪声,过短会丢失趋势信息。
  • 模型调参:当前MSE高可能并非数据结构问题,可重点优化核心参数——比如LightGBM的learning_rate、num_leaves,XGBoost的gamma、subsample,用交叉验证找到最优组合。
  • Adaboost适配性:Adaboost对噪声数据敏感,你的数据含大量0值,其性能大概率弱于LightGBM/XGBoost,对比时需注意这一特性。

内容的提问来源于stack exchange,提问作者nlurker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 01:52:43