回归分析MATLAB实现
例3.1.2 某种合金中的主要成分为A,B两种金属,经过 试验发现:这两种金属成分之和x与合金的膨胀系数y 有如下关系,建立描述这种关系的数学表达式.
MATLAB数据分析方法(机械工业出版社)
第3章 回归分析
表3.2 合金的膨胀系数表
x y 37 3.4 37.5 38 3 3 38.5 39 2.27 2.1 39.5 40 40.5 41 1.8 41.5 42 1.9
3.1一元回归模型
3.1.1一元线性回归模型
1.一元线性回归的基本概念
MATLAB数据分析方法(机械工业出版社)
第3章 回归分析
3/24
设Y是一个可观测的随机变量,它受到一个非随机变 量因素x和随机误差的影响。若Y与x有如下线性关系: (3.1.1) Y 0 1 x , 且E=0,D=2,则称(3.1.1)为一元线性回归模型.
试求:① 给出y与t的二次函数回归模型; ② 在同一坐标系内做出原始数据与拟合结果的散点图 ③ 预测t=16时残留的细菌数; ④ 根据问题实际意义选择多项式函数是否合适?
MATLAB数据分析方法(机械工业出版社)
第3章 回归分析 解:% 输入原始数据
t=1:15; y=[352,211,197,160,142,106,104,60,56,38,36,32,21,19,15]; p=polyfit(t,y,2); % 作二次多项式回归 y1= polyval(p,t); % 模型估计与作图 plot(t,y,'-*',t,y1,'-o'); legend('原始数据','二次函数') xlabel('t(照射次数)') ylabel('y(残留细菌数)') t0=16; yc1= polyconf(p,t0) % 预测t0=16时残留的细菌数
如果输入数据的误差相互独立,且方差为常数,则 Y±Delta至少包含95%的预测值;alpha缺省时为0.05。 (Y-Delta, Y+Delta)即95%的置信区间
MATLAB数据分析方法(机械工业出版社)
第3章 回归分析
13/24
(3) 多项式回归的GUI界面命令 多项式回归的GUI界面命令polytool,其典型调用格式 polytool(x,y,n,alpha) 其中,输入x,y分别为自变量与因变量的样本观测数据 向量;n是多项式的阶数;置信度为(1-alpha)%, alpha缺省时为0.05。 该命令可以绘出总体拟合图形以及(1-alpha) 上、下置信区间的直线(屏幕上显示为红色).此 外,用鼠标拖动图中纵向虚线,就可以显示出对于 不同的自变量数值所对应的预测状况,与此同时图 形左端数值框中会随着自变量的变化而得到的预报 数值以及(1-alpha) 置信区间长度一半的数值。
建立社会商品零售总额与职工工资总额数据的回归模型 解:% 首先输入数据
x=[23.80,27.60,31.60,32.40,33.70,34.90,43.20,52.80,63.80,73.40]; y=[41.4,51.8,61.70,67.90,68.70,77.50,95.90,137.40,155.0,175.0];
表3.3 X射线照射次数与残留细菌数
t y 1 352 2 211 3 197 4 160 5 142 6 106 7 104 8 60 9 56 10 38 11 36 12 32 13 21 14 19 15 15
数据来源:http///~hadi/RABE
MATLAB数据分析方法(机械工业出版社)
第3章 回归分析
5/24
例3.1.1 近10年来,某市社会商品零售总额与职工工 资总额(单位:亿元)数据如下表3.1。 表3.1 商品零售总额与职工工资表 (单位:亿元)
工资总额 零售总额 23.8 41.4 27.6 51.8 31.6 61.7 32.4 67.9 33.7 68.7 34.9 77.5 43.2 95.9 52.8 137.4 63.8 155.0 73.4 175.0
第3章 回归分析
ˆ y x ˆ, 0 1 ˆ 1 Lxy Lxx .
4/24
(3.1.2)
Lxx ( xi x ) , Lxy ( xi x )( yi y )
2 i 1 n
其中
1 1 n x xi, y n i 1 n
MATLAB数据分析方法(机械工业出版社)
第3章 回归分析
23/24
2.非线性回归的MATLAB命令 MATLAB统计工具箱中实现非线性回归的命令有 nlinfit、nlparci、lpredci和nlintool。下面逐一介绍 调用格式。 非线性拟合命令nlinfit,调用格式: [beta,r,J] = nlinfit(x,y,'model',beta0) 其中,输人数据x,y分别为n×m矩阵和n维列向量, 对一元非线性回归,x为n维列向量,model是事先用 M文件定义的非线性函数,beta0是回归系数的初值( 需要通过解方程组得到),beta是估计出的最佳回归系 数,r是残差,J是Jacobian矩阵,它们是估计预测误 差需要的数据。
根据实际问题的意义可知:尽管二次多项式拟合效 果较好,但是用于预测并不理想。因此如何根据原 始数据散点图的规律,选择适当的回归曲线是非常 重要的,因此有必要研究非线性回归分析.
MATLAB数据分析方法(机械工业出版社)
第3章 回归分析 3.1.2一元非线性回归模型 1. 非线性曲线选择
19/24
为了便于正确地选择合适的函数进行回归分析 建模,我们给出通常选择的六类曲线如下所示: (1)双曲线1/y=a+b/x(见图3.5)。
图3.5双曲线
MATLAB数据分析方法(机械工业出版社)
第3章 回归分析 (2) 幂函数曲线y=axb, 其中x>0,a>0(图3.6)。
20/24
图3.6 幂函数曲线
(3)指数曲线y=aebx,其中参数a>0(见图3.7)。
图3.7 指数曲线
MATLAB数据分析方法(机械工业出版社)
第3章 回归分析 (4)倒指数曲线
y aeb / x
21/24
,其中a>0(图3.8)。
图3.8 倒指数曲线
(5)y=a+blnx (见图3.9)。
图3.9 对数曲线
MATLAB数据分析方法(机械工业出版社)
第3章 回归分析 (6)S型曲线
1 y x (见图3.10)。 a be
22/24
图3.10 S型曲线
对于非线性回归建模通常有两种方法:一是通过适 当的变换转化为线性回归模型,例如双曲线模型(图3.5) 。如果无法实现线性化,可以利用最小二乘法直接建立 非线性回归模型,求解最佳参数。
2. 一元多项式回归模型
在一元回归模型中,如果变量y与x的关系是n次多 项式,即
y an x an1x
n
n1
... a1x a0
(3.1.4)
其中是随机误差,服从正态分布N(0,2) a0,a1,…,an为回归系数,则称(3.1.4)为多项式回归模型. (1)多项式曲线拟合 在MATLAB7的统计工具箱中,有多项式曲线拟合的 命令polyfit,其调用格式有以下三种:
MATLAB数据分析方法(机械工业出版社)
第3章 回归分析
14/24
MATLAB数据分析方法(机械工业出版社)
第3章 回归分析
15/24
例3.1.3为了分析X射线的杀菌作用,用200千伏的X 射线来照射细菌,每次照射6分钟用平板计数法估 计尚存活的细菌数,照射次数记为t,照射后的细 菌数y如表3.3所示。
2
MATLAB数据分析方法(机械工业出版社)
第3章 回归分析 (2) 多项式回归的预测与置信区间
12/24
多项式曲线拟合预测的命令polyval,其调用格 式有以下两种: Y=polyval(p,x0) [Y,Delta]=polyconf(p,x0,S,alpha) 其中,输入p,S是由多项式拟合命[p,S]=polyfit(x,y,n) 的输出,x0是要预测的自变量的值.输出Y是polyfit所 得的回归多项式在x处的预测值。
16/24
运行结果为
p =1.9897 -51.1394 347.8967,yc1 =39.0396
即二次回归模型为
y1 1.9897t 2 -51.1394t+347.8967
MATLAB数据分析方法(机械工业出版社)
第3章 回归分析
17/24
原始数据与拟合结果的散点图如图3.3所示,从 图形可知拟合效果较好.
7/24
运行后得到: b1 = 2.7991,b0 = -23.5493 所以,回归模型为
ˆ 2.7991 y x 23.5493
问题1:当x=0,得到y=-23.5493亿元如何理解? 问题2:如何检验E=0? D=2?
MATLAB数据分析方法(机械工业出版社)
第3章 回归分析
8/24
第3章 回归分析
1/24
普通高等院校计算机课程规划教材
MATLAB数据分析方法
李柏年
张孔生Biblioteka 吴礼斌 主编丁 华 参编MATLAB数据分析方法(机械工业出版社)
第3章 回归分析
2/24
回归分析是最常用的数据分析方法之一。它 是根据已得的试验结果以及以往的经验来建立统 计模型,并研究变量间的相关关系,建立起变量 之间关系的近似表达式即经验公式,并由此对相 应的变量进行预测和控制等.
10/24
42.5 43
1.83 1.53 1.7
2.35 2.54 2.9
解:%首先输入数据 x=37:0.5:43; y=[3.4,3,3,2.27,2.1,1.83,1.53,1.7,1.8,1.9,2.35,2.54,2.9]; %其次做散点图 plot(x,y,‘*’) (2.1.7) xlabel('x(两种合金之和)') %横坐标名 ylabel(‘y(合金膨胀系数)’) %纵坐标名 %然后根据散点图猜测曲线类别