全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 悬赏大厅 求助成功区
21250 20
2018-12-19
悬赏 1000 个论坛币 已解决



MATLAB怎么得到多元线性回归系数t检验的p值

最佳答案

ievans 查看完整内容

如果可以,请支付一下论坛币,我收问卷急需论坛币,谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-12-19 22:22:41
这个杀手还算冷 发表于 2018-12-20 22:38
谢谢
如果可以,请支付一下论坛币,我收问卷急需论坛币,谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-12-20 00:12:52
MATLAB不自带 ,要自己弄个函数来得到这个是教程
https://blog.csdn.net/fobdddf/article/details/9834849

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-12-20 00:41:03
1.多元线性回归
    在Matlab统计工具箱中使用命令regress()实现多元线性回归,调用格式为
    b=regress(y,x)
    或
    [b,bint,r,rint,statsl = regess(y,x,alpha)
    其中因变量数据向量y和自变量数据矩阵x按以下排列方式输入
    对一元线性回归,取k=1即可。alpha为显著性水平(缺省时设定为0.05),输出向量b,bint为回归系数估计值和它们的置信区间,r,rint为残差及其置信区间,stats是用于检验回归模型的统计量,有四个数值,第一个是R2,其中R是相关系数,第二个是F统计量值,第三个是与统计量F对应的概率P,第四个是 an estimate of the error variance(一个错误的方差估计)。


stats参数解释如下:

R2表示方差解释率,R2越接近1说明数据拟合程度越好。
F统计量用于检验模型是否通过检验。通过查F分布表,如果F>F分布表中对应的值,则通过检验。

P为F 统计量对应的概率,越接近0越好,当P<α时拒绝H0,回归模型成立!!!

第4个参数不知何用




    画出残差及其置信区间,用命令rcoplot(r,rint)


2.非线性回归

    非线性回归可由命令nlinfit来实现,调用格式为

    [beta,r,j] = nlinfit(x,y,'model’,beta0)

    其中,输人数据x,y分别为n×m矩阵和n维列向量,对一元非线性回归,x为n维列向量model是事先用 m-文件定义的非线性函数,beta0是回归系数的初值, beta是估计出的回归系数,r是残差,j是Jacobian矩阵,它们是估计预测误差需要的数据。

预测和预测误差估计用命令

[y,delta] = nlpredci(’model’,x,beta,r,j)

3.逐步回归

    逐步回归的命令是stepwise,它提供了一个交互式画面,通过此工具可以自由地选择变量,进行统计分析。调用格式为:

    stepwise(x,y,inmodel,alpha)

    其中x是自变量数据,y是因变量数据,分别为n×m和n×l矩阵,inmodel是矩阵的列数指标(缺省时为全部自变量),alpha,为显著性水平(缺省时为0.5)

    结果产生三个图形窗口,在stepwise plot窗口,虚线表示该变量的拟合系数与0无显著差异,实线表示有显著差异,红色线表示从模型中移去的变量;绿色线表明存在模型中的变量,点击一条会改变其状态。在stepwise Table窗口中列出一个统计表,包括回归系数及其置信区间,以及模型的统计量剩余标准差(RMSE),相关系数 (R-square),F值和P值。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-12-20 00:42:09
进行多元线性回归统计数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 测验。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-12-20 18:25:22
经管之家APP1998 发表于 2018-12-20 00:12
MATLAB不自带 ,要自己弄个函数来得到这个是教程
https://blog.csdn.net/fobdddf/article/details/9834849 ...
为什么得到的t统计量跟spss结果不一样呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群