1

我正在构建一个线性回归模型,其中一个输入变量是销售数量。我不想使用每天的销售数量作为线性输入,而是想使用某种形式的三次样条变换(因为它在设定点之后趋于尾随,并且在此之前的关系不是线性的)。我的问题是:

我相信我可以在我的训练数据集上为这个变量创建三次样条曲线(然后使用这些建立线性模型),如下所示:

transformed_x = dmatrix("bs(data, knots=(2000, 3000, 4000), degree=3, include_intercept=False)", {"data": df['Sales_Volume']},return_type='dataframe')

但是为了对单个新数据点进行预测,比如 5000 次销售,我如何使用这些相同的样条对我的拟合模型进行预测?

如果我尝试为 5000 个销售额的单个数据点创建另一个转换版本的 transform_x,我会收到一条错误消息:

ValueError:一些结值([2000 3000 4000])低于下限(5000)

如果我有一个大型新数据集来预测覆盖所有这些结的范围,它会起作用,但现在我不确定我是否可以确信在新数据集上进行相同的转换会产生正确的结果?

4

0 回答 0