数据集中参数数量可变的回归模型?

数据挖掘 机器学习 回归 线性回归 范围 超参数
2021-09-20 15:58:49

我从事物理学工作。我们有很多实验运行,每次运行都会产生一个结果,y以及一些应该预测结果的参数,x. 随着时间的推移,我们发现越来越多的参数需要记录。所以我们的数据如下所示:

Year 1 data: (2000 runs)
    parameters: x1,x2,x3                target: y
Year 2 data: (2000 runs)
    parameters: x1,x2,x3,x4,x5          target: y
Year 3 data: (2000 runs)
    parameters: x1,x2,x3,x4,x5,x6,x7    target: y

如何建立一个回归模型,将我们记录的额外信息纳入其中,而不丢弃它“学到”的关于旧参数的信息?

我是不是该:

  • 只是将x4,x5等设置为0-1当我不使用它们时?
  • 完全忽略x4,x5,x6,x7,只使用x1,x2,x3?
  • 添加另一个参数,即参数个数?
  • 每年训练单独的模型,然后以某种方式组合它们?
  • “权重”参数,以便在我将权重设置为 0 时忽略它们?
  • 使用 、 和 参数制作三个不同的模型,x1,x2,x3然后x4,x5x6,x7某种方式进行插值?
  • 制作一个自定义的“imputer”来猜测丢失的参数(使用可用参数)

我尝试过使用均值和中位数进行插补,但效果都不是很好,因为参数不是独立的,而是相当相关的。

3个回答

一个简单的想法,不需要插补:使用一直存在的参数构建模型,然后每次添加一组新参数时,使用它们对先前模型的残差进行建模。然后,您可以总结适用于您碰巧拥有的数据的所有模型的贡献。(如果效果倾向于相乘而不是相加,您可以在日志空间中执行此操作。)

如果旧变量和新变量高度相关,那么您可以进行更高级的插补形式,并为每个新输入建立一个模型,在给定旧输入的情况下预测新输入。该模型在预测新输入方面可能非常有效,因为正如您所说,输入之间存在很强的相关性。然后,您将跨年份拆分所有数据,以便在训练、验证和测试集中拥有相同比例的旧记录和新记录。

我将对 x4、x5、x6 和 x7 的值进行乘法估算。对于插补的数量,查看整个数据集并计算缺失字段的百分比并向上舍入到最接近的整数。不要使用均值或中值插补,在 SAS 或等效中使用 PROC MI。我猜是因为您的数据缺少单调,您可以使用 MONOTONE 语句。这可能是最保守的方法,因为您在排除信息时会产生偏见——无论是变量还是观察。