matlab程序运行regress函数出现的问题

我在matlab中运行regress函数中,求出某一rint区间范围为[-8.5117,-8.3987],这正常吗?说明了什么?以下是残差图和置信区间的图

img

在使用regress函数进行线性回归时,得到某个回归系数的区间范围为[-8.5117,-8.3987]是正常的,这说明您得到的回归系数比较精确,并且具有一定的置信水平。一般情况下,置信区间越窄,表示得到的回归系数越准确。残差图可以用来评估回归模型的拟合程度和误差分布情况。如果残差图中的点均匀地分布在零线附近,并且没有明显的模式或趋势,说明模型拟合得比较好,残差的分布也比较均匀。如果残差图中的点呈现出明显的模式或趋势,说明模型存在一些问题,需要进一步检查和修正。置信区间的图可以用来显示回归系数的置信区间和置信水平。如果置信区间比较窄,说明得到的回归系数比较精确,并且有一定的置信水平。如果置信区间比较宽,说明得到的回归系数不够精确,置信水平也比较低。需要注意的是,regress函数使用的是最小二乘法进行线性回归,这种方法对于存在异常值或离群点的数据可能不够鲁棒。如果数据存在这些问题,建议使用其他鲁棒性更好的回归方法,如岭回归、lasso回归等。

  • 这篇文章:[matlab]多元线性回归regress 也许有你想要的答案,你可以看看
  • 除此之外, 这篇博客: matlab回归法建模详解 | 《matlab数学建模方法与实践(第三版)》学习笔记中的 三、采用regress函数进行回归 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 代码如下:

    %% 采用regress函数进行回归
    Y=y';
    X=[ones(size(x,2),1),x']; 
    % size(x,2)获取x中第二维度的长度
    % ones生成全部为1的数组
    
    [b, bint, r, rint, s] = regress(Y, X)
    % regress(Y, X,alpha)alpha为显著水平,默认0.05
    % 多元线性回归
    % [输出 置信区间 残差 残差的置信区间 stats]
    % stats其中包含R^2统计量、F统计量及其p值(F(1,n-2)分布大于F的概率)以及剩余方差s^2。
    % 矩阵X必须包含一个由 1 组成的列,以便软件正确计算模型统计量。
    % 残差:实际观察值与估计值(拟合值)之间的差
    % 置信区间:误差范围

    运行结果:

     

     意义及用法:

    • R^2的值越接近1,变量的线性相关性越强,说明模型有效。
    • 如果满足F_{1-\alpha }(1,n-2)<F,则认为变量y与x显著的有线性关系,其中F_{1-\alpha }(1,n-2)的值可查F分布表,MATLAB命令为finv(1-alpha,1,n-2)
    • p<alpha(alpha为显著水平)表示模型可用,三个值可以相互印证。
    • s^2的值用来比较模型是否有改进,其值越小说明模型精度越高