《Python数学建模算法与应用课件》10第10章 回归分析.pptx

《Python数学建模算法与应用课件》10第10章 回归分析.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

;;曲线拟合问题的特点是,根据得到的若干有关变量的一组数据,寻求因变量与自变量之间的函数关系,使这个函数对该组数据拟合得最好。通常函数的形式可以由经验、先验知识或对数据的直观观察决定,要作的工作就是由数据用最小二乘法计算函数中的待定系数。

从数理统计的观点看,最小二乘曲线或函数拟合方法,是根据一个样本的观测值建立拟合函数,并估计拟合函数中的参数。参数估计的结果可以视为一个统计意义上的点估计。如果考虑到观测结果受随机因素的影响,实际进行参数估计时应该给出相应的区间估计。如果置信区间太大,甚至包含了零点,那么参数的估计值就没有多大意义了。在统计学中,研究随机变量之间的关联关系的方法就是回归分析方法。简单地说,回归分析就是对拟合问题作的统计分析。

;;10.1.1一元线性回归分析

;2.参数β0和β1的最小二乘估计;3.相关性检验,判定系数(拟合优度)和剩余标准差

;4.回归方程的显著性检验;10.1.2一元线性回归应用举例;#程序文件ex10_1.py

importnumpyasnp

importstatsmodels.apiassm

importpylabasplt

?

defcheck(d):

x0=d[0];y0=d[1];d={x:x0,y:y0}

re=sm.formula.ols(y~x,d).fit()#拟合线性回归模型

print(re.summary())

print(re.outlier_test())#输出已知数据的野值检验

print(残差的方差,re.mse_resid)

pre=re.get_prediction(d)

df=pre.summary_frame(alpha=0.05)

dfv=df.values;low,upp=dfv[:,4:].T#置信下限上限

r=(upp-low)/2#置信半径

num=np.arange(1,len(x0)+1)

plt.errorbar(num,re.resid,r,fmt=o)

plt.show()

;a=np.loadtxt(data10_1.txt)

plt.rc(font,size=15);plt.plot(a[0],a[1],o)

plt.figure();check(a)

a2=a;a2=np.delete(a2,8,axis=1)#删除第9列

check(a2);a3=a2

a3=np.delete(a3,4,axis=1);check(a3)

;;10.2.1多元线性回归理论;1.回归系数的最小二乘估计;2.回归方程和回归系数的检验;3.回归方程的预测;10.2.2多元线性回归应用;#程序文件ex10_2_1.py

importnumpyasnp

importstatsmodels.apiassm

importpylabasplt

?

a=np.loadtxt(data10_2.txt)

plt.rc(text,usetex=True);plt.rc(font,size=16)

plt.plot(a[0],a[2],*,label=$x_1$)

plt.plot(a[1],a[2],o,label=$x_2$)

plt.legend(loc=upperleft)

d={x1:a[0],x2:a[1],y:a[2]}

re=sm.formula.ols(y~x1+x2,d).fit()

print(re.summary())

yh=re.predict({x1:[9,10],x2:[10,9]})

print(残差的方差:,re.mse_resid)

print(预测值:,yh);plt.show()

?

;基于数组求解的Python程序如下:

#程序文件ex10_2_2.py

importnumpyasnp

importstatsmodels.apiassm

importpylabasplt

?

a=np.loadtxt(data10_2.txt)

plt.rc(text,usetex=True);plt.rc(font,size=16)

plt.plot(a[0],a[2],*,label=$x_1$)

plt.plot(a[1],a[2],o,label=$x_2$)

plt.legend(loc=upperleft)

X=sm.add_c

您可能关注的文档

文档评论(0)

地矿高级工程师 + 关注
实名认证
服务提供商

高级工程师持证人

矿产勘查,地质勘查,地质灾害,石油天然气,课件制作

领域认证该用户于2025年07月19日上传了高级工程师

1亿VIP精品文档

相关文档