MATLAB怎么做多元线性回归,并对偏回归

MATLAB怎么做多元线性回归,并对偏回归,第1张

进行多元线性回归统计数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 测验。

解方程用solve()函数,然后注意自己定义的变量即可,下面我们举一个例子来讲

x+2*y=5,3*x-y=7 这是一个二元一次线性方程组

所以租颂在matlab中按照下面输入:

>>[x y]=solve('x+2*y=5','3*x-y=7') %表示求x和y 在solve命令里输入两弊闷郑个方程即可

x =

19/7

y =

8/7

三元线性,四元线性 都可以求,只需要输入四个方程就是,求解的变量是x y u v 四罩罩个变量

s=solve('c1=0', 'c2=0', 'c3=0', 'a1', 'a2', 'a3')

改为

s=solve(c1, c2, c3, 'a1', 'a2', 'a3')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12319923.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存