⑴ 用matlab对一组数据的最小二乘法的多元线性回归分析~
可以用函数 regress( )来解决。
[b,bint,r,rint,stats] = regress(y,X)
b——拟合线性函数的系数
bint——系数b的置信区间
r——残值向量
rint——残值的置信区间
stats——检验统计量,第一值是回归方程的置信度,第二值是F统计量,第三值是与F统计量相应的p值,当p值很小,说明回归模型成立
X——自变量向量,X=[ones(3,1) x1 x2 x3]
y——应变量向量
⑵ 怎么用MATLAB进行多元回归计算
这是数据拟合吧
多项式拟合才用POLYFIT这个命令.
非线性拟合可以用以下命令:
不过这两个一般应用于二维的情况,不知道三维的能不能行得通.没试过
1.beta = nlinfit(X,y,fun,beta0)
X给定的自变量数据,Y给定的因变量数据,fun要拟合的函数模型(句柄函数或者内联函数形式),
beta0函数模型中系数估计初值,beta返回拟合后的系数
2.x = lsqcurvefit(fun,x0,xdata,ydata)
fun要拟合的目标函数,x0目标函数中的系数估计初值,xdata自变量数据,ydata函数值数据
X拟合返回的系数(拟合结果)
因为你没给出T,t及其相对应y的数据,所以只能自己完成了
⑶ MATLAB怎么做多元线性回归,并对偏回归
进行多元线性回归统计数F, t 测验的小程序:
clear,clc
x=rand(50,10);y=rand(50,1); % example
[n,k]=size(x);
X=[ones(n,1),x];%构建结构阵X,
A=X'*X; %求算信息阵A,
C=inv(A); %求算信息阵的逆阵,
b=X\y, % 求算回归统计数向量,其中第一行为回归截距a,
RSS=y'*y-b'*X'*y, %求算离回归平方和,
MSe=RSS/(n-k-1),%求算离回归方差,
Up=b.*b./diag(C);%求算偏回归平方和,其中第一行是a与0差异的偏平方和,
F=Up/MSe,%F测验,其中第一行为a与0差异的F值,
sb=sqrt(MSe*diag(C)); %求算回归统计数标准误,
t=b./sb, % 回归统计数的 t 测验,其中第一行为a与0差异的t测验值。
[t, t.^2, F],%验证t^2=F
SSy=var(y)*(n-1)
R2=(SSy-RSS)/SSy
顺便说一下,你的ttest(x,m)的 t 测验指的是单个样本(平均数)与 m 之间差异显着性的 t 测验,而非多元线性回归系数的 t 测验。
⑷ matlab做多元回归分析时怎么处理哑变量有例子最好,请指导
用mmyvar()函数
比如你有一列是哑变量列,设它为x_i = [1;3;2;1;1],一共有3个可能的离散取值
哑变量分离就是将这个变量分离为3个变量,每个变量取0或1:
xi_mmy = mmyvar(xi);
结果就是:
xi_mmy =
[1 0 0;0 0 1;0 1 0;1 0 0;1 0 0]
⑸ 利用怎么matlab软件建立多元回归数学模型
如何利用matlab软件建立多元回归数学模型的方法有:
1、多元回归数学模型是线性的,可以用regress()函数求得。例如
f(x1,x2,x3)=a1+a2*x1+a3*x2+a4*x3 %多元线性回归函数
求解方法:
x1=[。。。];x2=[。。。];x3=[。。。];
X=[ones(n,1)x1 x2 x3];
y=[。。。];
a = regress(y,X); %ai为多元线性回归函数的拟合系数
2、多元回归数学模型是非线性的,可以用lsqcurvefit()或nlinfit()函数求得。例如
f(x1,x2,x3)=a1+a2*exp(x1)+a3*exp(x2)+a4*exp(x3) %多元非线性回归函数
求解方法:
x1=[。。。];x2=[。。。];x3=[。。。];y=[。。。];
x=[x1 x2 x3];
func=@(a,x)a(1)+a(2)*exp(x:1)+a(3)*exp(x:2)+a(4)*exp(x:3);%自定义函数
x0=[1 1 1]; %初值(根据问题来定)
a=lsqcurvefit(func,x0,x,y) %ai为多元非线性回归函数的拟合系数
或 a= nlinfit(x,y,func,x0)
⑹ 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];
Y=y';
X=[ones(length(y),1),x1',x2',x3',x4',x5',x6',x7',x8',x9',x10'];
[b,bint,r,rint,stats]=regress(Y,X)
⑺ 如何用matlab线性回归分析
回归分析是处理两个及两个以上变量间线性依存关系的统计方法。可以通过软件Matlab实现。
在Matlab中,可以直接调用命令实现回归分析,
(1)[b,bint,r,rint,stats]=regress(y,x),其中b是回归方程中的参数估计值,bint是b的置信区间,r和rint分别表示残差及残差对应的置信区间。stats包含三个数字,分别是相关系数,F统计量及对应的概率p值。
(2)recplot(r,rint)作残差分析图。
(3)rstool(x,y)一种交互式方式的句柄命令。