matlab一元线性回归分析_(案例)线性/非线性回归分析Matlab算例

线性/非线性回归分析Matlab算例

39476e2f6cb3482ac691813be09b38df.png

01

一元线性回归分析

  • 代码:

% 一元回归x=[1097 1284 1502 1394 1303 1555 1917 2051 2111 2286 2311 2003 2435 2625 2948 3055 3372];%自变量时间序列数据y=[698 872 988 807 738 1025 1316 1539 1561 1765 1762 1960 1902 2013 2446 2736 2825];%因变量时间序列数据%生成一个17*2 矩阵,其中第1 列元素均为1,作为常数项的自变量X=[ones(size(x')),x'];%调用一元回归分析函数,自变量X 包含常数项和因变量,b 是回归参数估计值,%bint是置信区间,r 和rint 分别表示残差及残差对应的置信区间。[b,bint,r,rint,stats]=regress(y',X,0.05); fprintf('一元线性回归模型参数为:\n')bfprintf('回归模型拟合度系数R2为:\n')R2=stats(1)fprintf('回归模型显著性检验F统计量为:\n')F=stats(2)fprintf('回归模型显著性检验P值为:\n')PVAL=stats(3)fprintf('回归模型在置信度区间下残差分布图为:\n')rcoplot(r,rint)
  • 分析结果:

一元线性回归模型参数为:b = -479.8659    0.9961回归模型拟合度系数R2为:R2 =    0.9596回归模型显著性检验F统计量为:F =  355.9771回归模型显著性检验P值为:PVAL =   7.3305e-12回归模型在置信度区间下残差分布图为:

a79f045c1fdd38bc0dc9ed92880279ad.png

02

多元线性回归分析

  • 代码:

% 多元回归分析% 输入各种因变量数据x1=[5.5 2.5 8 3 3 2.9 8 9 4 6.5 5.5 5 6 5 3.5 8 6 4 7.5 7]';x2=[31 55 67 50 38 71 30 56 42 73 60 44 50 39 55 70 40 50 62 59]';x3=[10 8 12 7 8 12 12 5 8 5 11 12 6 10 10 6 11 11 9 9]';x4=[8 6 9 16 15 17 8 10 4 16 7 12 6 4 4 14 6 8 13 11]';%输入自变量数据y=[79.3 200.1 163.1 200.1 146.0 177.7 30.9 291.9 160 339.4 159.6 86.3 237.5 107.2 155 201.4 100.2 135.8 223.3 195]';X=[ones(size(x1)),x1,x2,x3,x4];[b,bint,r,rint,stats]=regress(y,X);fprintf('多元线性回归模型参数为:\n')bfprintf('回归模型拟合度系数R2为:\n')R2=stats(1)fprintf('回归模型显著性检验F统计量为:\n')F=stats(2)fprintf('回归模型显著性检验P值为:\n')PVAL=stats(3)fprintf('回归模型在置信度区间下残差分布图为:\n')rcoplot(r,rint)
  • 分析结果:

多元线性回归模型参数为:b =  191.9906   -0.7751    3.1718  -19.6849   -0.4494回归模型拟合度系数R2为:R2 =    0.9034回归模型显著性检验F统计量为:F =   35.0555回归模型显著性检验P值为:PVAL =   1.9022e-07回归模型在置信度区间下残差分布图为:

78483f2736296161f8f26a2782efcff8.png

03

非线性回归分析(编码计算方式)

  • 代码:

% 读入人口数据(1971-2000年)y = [33815      33981       34004       34165       34212       34327       34344       34458       34498       34476       34483       34488       34513       34497       34511      34520       34507       34509       34521       34513       34515       34517       34519       34519       34521       34521       34523       34525       34525       34527]';% 读入时间变量数据(t=年份-1970)T=[1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30]';% (Logisic曲线)线性化处理for t = 1:30,    x(t)=exp(-t); %x是行向量,后面使用时要转成列向量   y(t)=1/y(t,1);end% 计算,并输出回归系数Bc=zeros(30,1)+1; %常数项自变量X=[c,x']; fprintf('非线性回归模型参数为:\n')B=inv(X'*X)*X'*y %inv函数求解矩阵的逆矩阵for i=1:30    z(i)=B(1,1)+B(2,1)*x(i);% 计算回归拟合值      s(i)=y(i)-sum(y)/30;% 计算离差    w(i)=z(i)-y(i);% 计算误差    endS=s*s';% 计算离差平方和SQ=w*w';% 回归误差平方和QU=S-Q;% 计算回归平方和U% 计算,并输出F检验值fprintf('回归模型拟合度系数R2为:\n')R2=U/Sfprintf('回归模型显著性检验F统计量为:\n')F=(30-2)*U/Q% 计算非线性回归模型的拟合值for j=1:30,    Y(j)=1/(B(1,1)+B(2,1)*exp(-j));endfprintf('非线性回归模型的拟合曲线(Logisic曲线):\n')plot(T,Y)
  • 分析结果:

非线性回归模型参数为:B =   1.0e-04 *    0.2902    0.0182回归模型拟合度系数R2为:R2 =    0.6310回归模型显著性检验F统计量为:F =   47.8774非线性回归模型的拟合曲线(Logisic曲线):

226223ec7d96b51271a27aac6cf0a7d7.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值