Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
面向n变量预测方程的Python模型_Python_Pandas_Scikit Learn_Non Linear Regression - Fatal编程技术网

面向n变量预测方程的Python模型

面向n变量预测方程的Python模型,python,pandas,scikit-learn,non-linear-regression,Python,Pandas,Scikit Learn,Non Linear Regression,我希望建立一个预测模型,并与我们目前的JMP模型一起工作。我们目前的方法是猜测一个n次多项式,然后看看哪些项不是显著的模型效应。多项式并不总是最好的,这会导致很多混乱和糟糕的模型。我们的数据可能有2到7个效应,并且总是有一个响应 我想使用python来实现这一点,但类似的软件包文档或在线指南很难找到。我知道如何拟合特定的n次多项式或使用python进行线性回归,但不知道如何“猜测”数据集的最佳函数类型 我是否遗漏了一些明显的东西,或者我应该编写一些通过各种函数类型进行探测的东西?精度是最重要的。

我希望建立一个预测模型,并与我们目前的JMP模型一起工作。我们目前的方法是猜测一个n次多项式,然后看看哪些项不是显著的模型效应。多项式并不总是最好的,这会导致很多混乱和糟糕的模型。我们的数据可能有2到7个效应,并且总是有一个响应

我想使用python来实现这一点,但类似的软件包文档或在线指南很难找到。我知道如何拟合特定的n次多项式或使用python进行线性回归,但不知道如何“猜测”数据集的最佳函数类型

我是否遗漏了一些明显的东西,或者我应该编写一些通过各种函数类型进行探测的东西?精度是最重要的。我正在使用一个小型(~2000x100)数据集

我可能会在较小的训练集上进行回归,根据验证集对它们进行测试,然后对模型进行排序并选择最好的。有更好的吗?

使用协方差来确定哪些影响在统计上是显著的。。。你不应该随意选择术语


然而,如果你说你的数据是不均匀的(即,你不应该将一个模型适合于所有的数据),那么你可以考虑使用工具箱来构建一个分类器,它可以选择适合的数据子集。

< P>尝试使用其他回归模型代替香草线性模型。 对于多项式回归,您可以使用类似的方法:

poly = PolynomialFeatures(degree=2)
X_ = poly.fit_transform(input_data)
你可以通过套索回归来约束权重

clf = linear_model.Lasso(alpha = 0.5, positive = True)
clf.fit(X_,Y_)
其中,Y_u是您要针对其进行训练的输出

将alpha设置为0将其转换为简单的线性回归。alpha基本上是对较小重量施加的惩罚。也可以使权重严格为正。看看这个

以较小的程度运行它,并执行交叉验证,以检查它是否适合

增加多项式的次数通常会导致过度拟合。因此,如果你被迫使用4级或5级,这意味着你应该寻找其他模式

您还应该看看这个,这解释了如何进行曲线拟合