MATLAB多元线性回归中的问题

2024-05-10 00:01

1. MATLAB多元线性回归中的问题

这与数学模型设定有关,根据你的数据,其模型为
y=a1x1x2+a2x1x3+a3x2x3
该模型可以用regress( )函数命令求得其拟合系数a1、a2、a3。拟合结果
y=89.6955x1x2-3255.7548x1x3+196.2741x2x3
决定系数:R^2=0.96606 F统计量:F=31.8691 概率值:p=0.030424

MATLAB多元线性回归中的问题

2. 一元线性回归预测法的介绍

一元线性回归预测是指成对的两个变量数据的散点图呈现出直线趋势时,采用最小二乘法,找到两者之间的经验公式,即一元线性回归预测模型。根据自变量的变化,来估计因变量变化的预测方法。一元线性回归预测法是分析一个因变量与一个自变量之间的线性关系的预测方法。 常用统计指标:平均数、增减量、平均增减量。

3. matlab多元线性回归

y=[320 320 160 710 320 320 320 160 710 320];
x1=[2.3 1.7 1.3 1.7 1.7 1.6 1 1.7 1.7 1.7];
x2=[2.3 1.7 1.7 1.6 1.7 1.7 1 1.7 1.7 1.7];
x3=[2.3 1.7 1.3 1.7 1.7 1.7 2 1.7 1.7 1.7];
x4=[2.3 1.7 1.7 1.7 1.7 1.7 1 1.7 1.8 2.7];
x5=[2.3 1.7 1.7 1.3 1.7 1.4 1 1.7 1.7 1.7];
x6=[2.3 1.7 1.7 1.7 1.5 1.7 1 1.7 1.7 1.7];
x7=[2.3 1.7 1.7 1.7 1.7 1.4 1 1.7 1.7 1.7];
x8=[2.3 1.7 1.7 1.7 1.7 1.7 1 1.7 1.7 1.7];
x9=[2.3 1.7 1.7 1.4 1.7 1.7 1 1.7 1.7 1.7];
x10=[2.3 1.7 1.7 1.7 1.5 1.7 1 1.7 1.7 1.7];
X=[ones(length(y),1) x1' x2' x3' x4' x5' x6' x7' x8' x9' x10'];
A=X\y';
a0=A(1);
a1=A(1);
a2=A(2);
a3=A(3);
a4=A(4);
a5=A(5);
a6=A(6);
a7=A(7);
a8=A(8);
a9=A(9);
a10=A(10);

matlab多元线性回归

4. matlab 画图 多元线性回归分析

Matlab中统计工具箱用命令regress实现多元线性回归,用的方法是最小二乘法,基本用法是:
b=regress(Y,X)
Y,X是因变量和自变量,b为回归系数的估计值。
当然,也可以让结果更详细,这个你可以自己查看帮助文档  doc  regress
这里使用:
[b,bint,r,rint,stats]=regress(Y,X)
其中,bint为回归系数的置信区间,r,rint为残差及其置信区间,stats为计算回归模型的统计量。

所以,设房屋销售均价为Y,其余四个变量分别为X1,X2,X3,X4
则代码如下:
 clc clear x=[]; Y=[]; X=[ones(length(x),1),x]; [b,bint,r,rint,stats]=regress(Y,X,0.05)X,Y的数据你填进去就可以了。

5. 一元线性回归预测法的概念

实质上,虽然一个变量(称为因变量)受许多因素(称为自变量)的影响,但只有一个起重要的、关键性作用。这时若因变量于自变量在平面坐标系上标出,就可得出一系列点,若点的分布呈现出直线型模式,就可采用一元线性回归预测。两个变量在平面坐标系上所构成点的分布统称为散点图。 1、选取一元线性回归模型的变量 ;2、绘制计算表和拟合散点图;3、计算变量间的回归系数及其相关的显著性 ;4、回归分析结果的应用 。

一元线性回归预测法的概念

6. matlab多元线性回归

有两处错误:
1、ones应该生成列向量:X=[ones(8,1) x1' x2' x3' x4'];
2、x3的第二个数据小数点误为逗号:x3=[2.170 2.554 2.676 2.713 2.823 3.088 3.122 3.262];
 
参考代码:
x1=[1.376 1.375 1.387 1.401 1.412 1.428 1.445 1.477];x2=[0.450 0.475 0.485 0.500 0.535 0.545 0.550 0.575];x3=[2.170 2.554 2.676 2.713 2.823 3.088 3.122 3.262];x4=[0.8922 1.161 0.535 0.959 1.024 1.05 1.107 1.139];y=[5.19 5.3 5.6 5.82 6 6.06 6.45 6.95];X=[ones(8,1) x1' x2' x3' x4'];c=X\y'plot([y' X*c],'-o')

7. 如何用matlab线性回归分析

在matlab中regress()函数和polyfit()函数都可以进行回归分析。

(1)regress()函数主要用于线性回归,一元以及多元的。它可以提供更多的信息,残差之类的。

(2)polyfit()函数是利用多项式拟合。可以是线性也可以是非线性的。

regress()函数详解

[b,bint,r,rint,stats]=regress(y,X,alpha)

说明:b是线性方程的系数估计值,并且第一值表示常数,第二个值表示回归系数。bint是系数估计值的置信度为95%的置信区间,r表示残差,rint表示各残差的置信区间,stats是用于检验回归模型的统计量,有三个数值其中有表示回归的R2统计量和F以及显著性概率P值,alpha为置信度。

相关系数r^2越大,说明回归方程越显著;与F对应的概率P<alpha时候拒绝H0,回归模型成立。

y表示一个n-1的矩阵,是因变量的值,X是n-p矩阵,自变量x和一列具有相同行数,值是1的矩阵的组合。如:对含常数项的一元回归模型,可将X变为n-2矩阵,其中第一列全为1。

ONES(SIZE(A)) is the same size as A and all ones。

利用它实现X=[ones(size(x))x]

(2)polyfit()函数详解-------------摘自sina小雪儿博客

p=polyfit(x,y,n)

[p,s]= polyfit(x,y,n)

说明:x,y为数据点,n为多项式阶数,返回p为幂次从高到低的多项式系数向量p。x必须是单调的。矩阵s用于生成预测值的误差估计。(见下一函数polyval)

多项式曲线求值函数:polyval( )

调用格式: y=polyval(p,x)

[y,DELTA]=polyval(p,x,s)

说明:y=polyval(p,x)为返回对应自变量x在给定系数P的多项式的值。

[y,DELTA]=polyval(p,x,s) 使用polyfit函数的选项输出s得出误差估计Y
DELTA。它假设polyfit函数数据输入的误差是独立正态的,并且方差为常数。则Y DELTA将至少包含50%的预测值。

如何用matlab线性回归分析

8. 用Matlab作线性回归

x=[
1.99 2.00 1.00;
11.43 14.76 12.86;
44.29 50.00 50.00;
72.86 81.43 75.71;
87.61 89.51 87.61;
93.33 92.86 94.29];

day=[1:6]'; %天数

%这里我想,应当是想得到发芽率与天数的关系,而跟组无关
%所以这里我将它们横向求平均。求出每天的平均出芽率

xx=sum(x,2)/size(x,2);

A=[day,ones(size(day))];
c=A\xx;

k=c(1);
b=c(2);
yy=k*day+b;

plot(day,xx,'r*',day,yy)
%红色的*点,是平均出芽率与天数的关系
%线是拟合出来的


%=====================================
%那我就拿第一组做试验
%实际上就是将xx=sum(x,2)/size(x,2)
%这句改成xx=x(:,1);  
%第二组,你就改成xx=x(:,2);


x=[
1.99 2.00 1.00;
11.43 14.76 12.86;
44.29 50.00 50.00;
72.86 81.43 75.71;
87.61 89.51 87.61;
93.33 92.86 94.29];

day=[1:6]'; %天数
xx=x(:,1);
A=[day,ones(size(day))];
c=A\xx;

k=c(1);
b=c(2);
yy=k*day+b;

plot(day,xx,'r*',day,yy)
最新文章
热门文章
推荐阅读