数学建模:回归分析

文章首发于我的个人博客:欢迎大佬们来逛逛

数学建模:回归分析

文章目录

  • 数学建模:回归分析
  • 回归分析
    • 多元线性回归
      • 案例
    • 多项式回归
      • 一元多项式回归
      • 多元二项式回归
    • 非线性回归
    • 逐步回归

回归分析

数学建模:回归分析_第1张图片

多元线性回归

数学建模:回归分析_第2张图片

数学建模:回归分析_第3张图片


案例

  1. 首先进行回归分析
clc;clear;
x=[143 145 146 147 149 150 153 154 155 156 157 158 159 160 162 164]';
X=[ones(16,1) x];
Y=[88 85 88 91 92 93 93 95 96 98 97 96 98 99 100 102]';

%% 回归分析
[b,bint,r,rint,states] = regress(Y,X);
  1. p < 0.05 p<0.05 p<0.05 回归模型成立
  2. 建立残差图
rcoplot(r,rint);

数学建模:回归分析_第4张图片


多项式回归

一元多项式回归

数学建模:回归分析_第5张图片


案例

  1. 直接做二次多项式回归
%% 一元多项式回归
clc;clear;

x=1/30:1/30:14/30;
y=[11.86 15.67 20.60 26.69 33.71 41.93 51.13 61.49 72.90 85.44 99.08 113.77 129.54 146.48];
m=2;
%% 回归分析
[p,S] = polyfit(x,y,m);
% p(1)*x^2 + p(2)*x^1 + p(3)

%% 绘图
polytool(x,y,m);

%% 预测在某位置的值
polyval(p,0.1);

%% 预测某位置的值并且返回置信区间
[Y,Delta] = polyconf(p,x,S,0.5);
  1. 化为多元线性回归

x=1/30:1/30:14/30;
y=[11.86 15.67 20.60 26.69 33.71 41.93 51.13 61.49 72.90 85.44 99.08 113.77 129.54 146.48];
T=[ones(14,1) x' (x.^2)'];
[b,bint,r,rint,stats]=regress(y',T);
b,stats

多元二项式回归

数学建模:回归分析_第6张图片


案例

  1. 直接多元二项式回归
	x1=[1000 600 1200 500 300 400 1300 1100 1300 300];
x2=[5 7 6 6 8 7 5 4 3 9];
y=[100 75 80 70 50 65 90 100 110 60]';
x=[x1' x2'];
rstool(x,y,'purequadratic')
  1. 化为多元线性回归

非线性回归

数学建模:回归分析_第7张图片

数学建模:回归分析_第8张图片

数学建模:回归分析_第9张图片

clc;clear;

x = 2:16;
y = [2,3,4,5,7,4,3,6,8,9,4,1,0,5,4];
beta0 = [8 2]';
%% 非线性回归分析
[beta,r,J] = nlinfit(x',y','Volum',beta0);

%% 预测与绘图
[YY,delta] = nlpredci('Volum',x',beta,r,J);
plot(x,y,'k+',x,YY,'r');

------
%% 拟合模型: y = a*e^(b/x)
function y = Volum(beta,x)
    y = beta(1)*exp(beta(2)./x);
end

逐步回归

数学建模:回归分析_第10张图片


25 回归分析算法基本原理及编程实现.pdf

你可能感兴趣的:(数学建模,MATLAB,数学建模,回归,数据挖掘)