gpt4 book ai didi

python - 减少回归模型中一个变量对输出的影响

转载 作者:行者123 更新时间:2023-12-03 14:32:25 25 4
gpt4 key购买 nike

目前我正在实现一个高斯回归过程模型,并且在尝试将其应用于我的问题范围时遇到了一些问题。我的问题是,我将三个变量作为模型的输入,其中一个值 ( theta ) 比其他两个值 ( alpha1 ) 具有更显着的影响。和 alpha2 .输入和输出具有以下值(为了更好地理解,只有几个值):

# X (theta, alpha1, alpha2)
array([[ 9.07660169, 0.61485493, 1.70396493],
[ 9.51498486, -5.49212002, -0.68659511],
[10.45737558, -2.2739529 , -2.03918961],
[10.46857663, -0.4587848 , 0.54434441],
[ 9.10133699, 8.38066374, 0.66538822],
[ 9.17279647, 0.36327109, -0.30558115],
[10.36532505, 0.87099676, -7.73775872],
[10.13681026, -1.64084098, -0.09169159],
[10.38549264, 1.80633583, 1.3453195 ],
[ 9.72533357, 0.55861224, 0.74180309])

# y
array([4.93483686, 5.66226844, 7.51133372, 7.54435854, 4.92758927,
5.0955348 , 7.26606153, 6.86027353, 7.36488184, 6.06864003])

可以看出, theta显着改变 y 的值,而 alpha1 的变化和 alpha2比 y 更微妙。

我面临的情况是,我正在将模型应用于我的数据,并且在这个模型之外,我正在将 Scipy 的最小化应用于模型,将其中一个输入变量固定为这个最小化。下面的代码可能会更好地说明:
# model fitting
kernel = C(1.0, (1e-3, 1e3))*RBF(10,(1e-2,1e2))
model = GaussianProcessRegressor(kernel = kernel, n_restarts_optimizer = 9,optimizer='fmin_l_bfgs_b')
model.fit(X,y)

# minimization
bnds = np.array([(theta,theta),
(alpha1.min(),
alpha1.max()),
(alpha2.min(),
alpha2.max())])

x0 = [theta,alpha1.min(),alpha2.min()]

residual_plant = minimize(lambda x: -model.predict(np.array([x])),
x0, method='SLSQP',bounds=bnds,
options = {'eps': np.radians(5)})


我的目标是我想设置第一个变量 value作为一个固定值,我想研究其他两个变量的影响, alpha1alpha2 , 有超过输出 y对于那个特定的 theta值(value)。最小化背后的具体原因是我想找到 alpha t1的组合和 alpha2返回我最佳 y对于这个固定 theta .因此,我想知道我该怎么做,因为我相信 theta必须极大地影响我的其他两个变量对我的输出的影响,然后它可能会对我的模型对我手头的任务产生负面影响,因为它具有更重的权重并且会隐藏 alpha1 的影响。和 alpha2然而,在我的模型上,我不能真正忽略它或不将它输入到我的模型中,因为我想找到最佳 y此固定值 theta因此我仍然需要使用 theta作为输入。

我的问题是,如何处理这样的问题?是否有任何统计技巧可以消除或至少减少这种影响而不必消除 theta从我的模型?有没有更好的方法来处理我的问题?

最佳答案

首先,你在训练前对数据进行了标准化吗?

其次,听起来您想以常数 theta 来查看 x 和 y 之间的关系。

如果你拿你的数据集并按 theta 排序,你可以尝试找到一组 theta 相同或非常相似的记录,它们的方差很小,变化不大。您可以采用该组数据并形成一个新的数据框,然后删除 theta 列(因为我们选择了数据集的一部分,其中 theta 具有低方差,因此它不是很有用)。然后,您可以训练模型或仅对 alpha1 和 alpha2 数据进行一些数据可视化。

关于python - 减少回归模型中一个变量对输出的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60479765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com