Matlab回归分析获取预测变量的系数和p值和R2(仅一行代码)

先前看到帖子 MATLAB怎么得到多元线性回归系数t检验的p值,借鉴了一下该贴中的代码,在他们的基础上求解了每个变量的p值。

% X
% Y 
[b, bint, r, rint, stats] = regress(Y, X);
Y_pre = X * b;
% stats(1)
% stats(3)

A = X' * X; %求算信息阵A,
C = inv(A); %求算信息阵的逆阵
SSy = var(Y) * (size(Y, 1) - 1);
% Y_pre1 = mymodel(b1, X1);
yhat = Y_pre;
RSS = (Y - yhat)' * (Y - yhat); % residual sum of squares
MSe = RSS / (size(Y, 1) - size(b, 1) - 1); %mean squares of residuals
rsquare = (SSy - RSS) / SSy; %determinant coefficeient
sp = sqrt(MSe * diag(C)); % standard error of para (b1)
t = b ./ sp; % t value
% t = [t(1, 1), t(2, 2)]
n = size(X, 1);
v = size(X, 2);
pval = 2 * (1 - tcdf(abs(t), n - v));

但是这里计算出来的p值好像有一些问题。但在Matlab中,提供了多元线性回归的函数,里面提供了每个变量的p值和整体的R2。使用LinearModel.fit进行回归分析,仅用一行代码就获取预测变量的系数和p值和R2

% XN3列的数组,即三个变量
LinearModel.fit(X, Y)

在这里插入图片描述

欢迎大家进行补充!

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A-Chin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值