【发布时间】:2021-04-06 02:55:24
【问题描述】:
我的问题是,我有大约 50.000 个非线性数据点 (x,y,z),z 取决于自变量 x 和 y。从一方面来看,从二维的角度来看,数据点看起来像 7 次多项式。不幸的是,我无法显示这些数据。
我的目标是在事先不知道多项式的次数的情况下,找到一个可以拟合此数据的 3D 多项式。所以我想要一个函数,比如 f(x,y) = ax^3 + bx^2 + cx^2y + dy^3 + ...
不幸的是,在 python 中,我只找到了类似表面拟合的东西,你需要事先获得学位。或者类似于使用 scikit-learn 将多项式问题转换为多变量线性问题。后者对我的数据集的结果很差。
有人知道解决这个问题的更好方法吗?非常感谢。
【问题讨论】:
-
在尝试了更多方法后,我想我找到了最适合我的数据集的方法。通过预先手动指定多项式的次数,可以将 statsmodels-functions 用于线性回归(特别是 statsmodels.api.OLS() )并在将 X 和 Y 数据转换为线性后使用它sklearn PolynomialFeatures 的问题。至于找到最佳多项式次数,我正在按照建议使用均方根误差,尽管这还不是最佳...
标签: python pandas scikit-learn regression polynomials