京公网安备 11010802034615号
经营许可证编号:京B2-20210330
机器学习:形如抛物线的散点图在python和R中的非线性回归拟合方法
对于样本数据的散点图形如函数y=ax2+bx+c的图像的数据, 在python中的拟合过程为:
##最小二乘法
import numpy as np
import scipy as sp
import matplotlib.pyplot as plt
from scipy.optimize import leastsq
'''
设置样本数据,真实数据需要在这里处理
'''
##样本数据(Xi,Yi),需要转换成数组(列表)形式
Xi=np.array([1,2,3,4,5,6])
#Yi=np.array([9,18,31,48,69,94])
Yi=np.array([9.1,18.3,32,47,69.5,94.8])
'''
设定拟合函数和偏差函数
函数的形状确定过程:
1.先画样本图像
2.根据样本图像大致形状确定函数形式(直线、抛物线、正弦余弦等)
'''
##需要拟合的函数func :指定函数的形状
def func(p,x):
a,b,c=p
return a*x*x+b*x+c
##偏差函数:x,y都是列表:这里的x,y更上面的Xi,Yi中是一一对应的
def error(p,x,y):
return func(p,x)-y
'''
主要部分:附带部分说明
1.leastsq函数的返回值tuple,第一个元素是求解结果,第二个是求解的代价值(个人理解)
2.官网的原话(第二个值):Value of the cost function at the solution
3.实例:Para=>(array([ 0.61349535, 1.79409255]), 3)
4.返回值元组中第一个值的数量跟需要求解的参数的数量一致
'''
#k,b的初始值,可以任意设定,经过几次试验,发现p0的值会影响cost的值:Para[1]
p0=[10,10,10]
#把error函数中除了p0以外的参数打包到args中(使用要求)
Para=leastsq(error,p0,args=(Xi,Yi))
#读取结果
a,b,c=Para[0]
print("a=",a,"b=",b,"c=",c)
print("cost:"+str(Para[1]))
print("求解的拟合直线为:")
print("y="+str(round(a,2))+"x*x+"+str(round(b,2))+"x+"+str(c))
'''
绘图,看拟合效果.
matplotlib默认不支持中文,label设置中文的话需要另行设置
如果报错,改成英文就可以
'''
#画样本点
plt.figure(figsize=(8,6)) ##指定图像比例: 8:6
plt.scatter(Xi,Yi,color="green",label="样本数据",linewidth=2)
#画拟合直线
x=np.linspace(0,12,100) ##在0-15直接画100个连续点
y=a*x*x+b*x+c ##函数式
plt.plot(x,y,color="red",label="拟合直线",linewidth=2)
plt.legend() #绘制图例
plt.show()
运行结果:
a= 2.06607141425 b= 2.5975001036 c= 4.68999985496
cost:1
求解的拟合直线为:
y=2.07x*x+2.6x+4.68999985496

在R中的拟合过程:(在控制台直接敲入或者放入脚本都可以)
###设置函数形式
func<-function(a,b,c){
a*x*x+b*x+c
}
###设置样本数据
x<-c(1,2,3,4,5,6)
y<-c(9.1,18.3,32,47,69.5,94.8)
###把样本数据转换为符合nls函数需要的格式
d<-data.frame(y,x)
###执行求解过程:如果x,y值完全一一对应,汇报错误(循环次数超过了50这个最大值)
nlmod<-nls(y ~ func(a1,b1,c1),data=d,start=list(a1=1,b1=1,c1=1),trace=F)
###分析结果
summary(nlmod)
运行结果:
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
“2026年考什么证书有用”这个问题,不能用一个榜单回答。同一张证书,对想进门槛岗位的人、想补岗位技能的人、想评职称的人,价 ...
2026-10-21经济学专业考什么证书,没有唯一答案。这个专业的出口本来就分散:有人去银行券商,有人做财会审计,有人转向数据分析,也有人走 ...
2026-10-21大学生考证最常见的误区,是把“证书清单”当成答案。真正有用的做法是先确定专业方向和目标岗位,再按“通用基础→岗位技能→行 ...
2026-10-21“中国证书含金量排行”没有跨行业、跨证书类型的统一权威榜单。准入类证书的价值在于“没有它不能干”,职称类证书的价值在于聘 ...
2026-10-21“现在什么证书含金量高”这个问题,很难用一个榜单回答。同一张证书,对想进教师岗的在校生、想评职称的在职工程师、想补数据分 ...
2026-10-21“大学里什么证书比较有含金量”这个问题,很难用一张榜单回答。同一张证书,对想进银行风控岗的学生可能是加分项,对准备考教师 ...
2026-10-21大学生问“拿什么证书”,真正要解决的不是收集一张榜单,而是判断三件事:这个证书在校期间能不能报,它对应什么岗位的什么工作 ...
2026-10-21“考哪些证书有用”很难用一张榜单回答。同一本证书,对想进会计事务所的人是门槛,对想做运营的人可能只是加分,对工作十年的人 ...
2026-10-21大学生现在能考的证书,主要是三类:不限专业、无工作年限要求的通用基础证书,对应具体岗位技能的证书,以及部分行业入门级认证 ...
2026-10-21先说结论:产品经理升职快,通常不是靠多考几个证,而是把四类能力补到“能拿出可衡量成果”的程度——业务理解与指标定义、数据 ...
2026-10-21产品岗的晋升加薪,通常不是“熬年限”熬出来的,而是三条线同时成立:业务结果能说清、能力结构对得上目标职级、成果拿得出手。 ...
2026-10-21产品策划的“必备技能”没有全行业统一大纲。互联网产品岗要写需求文档、画原型、跟进上线;活动或营销策划岗更侧重活动机制、传 ...
2026-10-21产品策划想快速成长,关键不是把工具学一遍,而是围绕真实工作流补齐判断力。需求调研、方案设计、项目推进、上线复盘这四段,决 ...
2026-10-21产品策划岗的知识体系可以拆成四层:业务与用户理解、需求与方案设计、项目推进协作、数据验证与复盘。这四层不是四门课,而是从 ...
2026-10-21财务人员提升业务技能,核心不是多考几个证,而是按“财务专业实操→业务理解与业财融合→数据分析与工具”三层补齐,再按自己当 ...
2026-10-21财务经理问“怎么快速提升”,最容易走的一条弯路是先报一堆课、考一堆证,回头发现月度工作还是编报表、对差异、催报销。真正拉 ...
2026-10-21数据敏感度常被误解成“对数字反应快”或“会写公式”。对财务经理而言,它更接近一套可重复的动作:看到关键指标变化,能判断是 ...
2026-10-21财务经理这个岗位,最容易出现的认知偏差是把“会计做得好”等同于“能当财务经理”。核算岗位的核心是把账做准、按时出表;财务 ...
2026-10-21财务顾问选课,先别急着看“热门榜单”。同样一门数据分析课,对有财务基础、正卡在方案测算的人有用,对刚转岗、连产品分类和客 ...
2026-10-21财务顾问这个岗位名称,在不同机构里指向的工作并不相同。在银行、券商、保险和第三方财富机构中,理财顾问方向的核心任务是理解 ...
2026-10-21