使用机器学习进行逻辑类曲线拟合

数据挖掘 Python scikit-学习 逻辑回归
2022-03-01 21:28:00

我有一组函数 k(x) 的点。我正在尝试进行一些曲线拟合以找到确切的 k(x) 函数。数据点似乎符合逻辑曲线,只有一点点偏移和压力。

到目前为止,我已经尝试过多项式回归,但我觉得拟合不正确。我在这里附上了拟合曲线的快照。

所以我的问题是,逻辑回归仅用于分类任务吗?或者它可以用于曲线拟合吗?

如果不是,还有哪些其他可用技术可以将类似逻辑的曲线拟合到一组数据点?

多项式回归

3个回答

所以我的问题是,逻辑回归仅用于分类任务吗?

名称 Logistic回归表明我们可以将此算法用于回归问题。

或者它可以用于曲线拟合吗?

它可以用于曲线拟合。

如果不是,还有哪些其他可用技术可以将类似逻辑的曲线拟合到一组数据点?

尝试 numpy 或 scipy:

https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.curve_fit.html

https://lmfit.github.io/lmfit-py/model.html

我想您需要寻找一种非参数方法,例如广义加法模型(GAM),例如回归样条。这些方法在拟合非线性数据方面非常灵活。使用多项式,您仍然可以在参数世界中工作。使用回归样条曲线,您会更加灵活,无需担心模型的参数化。

我没有在 Python 中使用回归样条曲线,但是有库您可以在“统计学习简介”的第 7 章中对这些方法有一个很好的概述ISL 书中还有用于实验室的Python 代码。所以你可以直接调整这些方法。

这是一个小 R 示例:

# Lead packages
library(ISLR)
library(gam)
library(Metrics)

# OLS
reg1 = lm(mpg~qsec,data=mtcars)

# Generalised additive models (regression splines, 5 DF)
reg2 = gam(mpg~s(qsec,5),data=mtcars)
par(mfrow=c(1,1))
plot(reg2)

mae(mtcars$mpg, predict(reg1, newdata=mtcars))
mae(mtcars$mpg, predict(reg2, newdata=mtcars))

简单 GAM 的 MAE 为 3.4,而线性 (OLS) 模型的 MAE 为 4.2。所以进步很大。

这将是上述简单模型的 GAM 图,包括 CI 波段。相当灵活的合身,毫不费力。

在此处输入图像描述

我想你想为你的数据拟合一个逻辑函数。逻辑函数的一般形式是:

y(x)=a+b1+cepx
所以它们是四个参数a,c,b,p进行优化。

通常的方法是非线性回归演算。这是一个迭代过程,需要“猜测”参数的初始值来开始迭代。

他们是一些专门的软件来做到这一点。例如,在下图中,给出了与黑色曲线相对应的 LMSE 拟合标准的结果。

如果在问题的措辞中不需要特定的拟合标准,则下面显示了一种更简单的方法(不是迭代,没有初始猜测):

在此处输入图像描述

下面给出了微积分的细节以及结果和相应的蓝色曲线。

在此处输入图像描述

有关信息:该方法的一般原理在
https://fr.scribd.com/doc/14674814/Regressions-et-equations-integrales中进行了说明