如何在Matlab中找到简单线性回归系数Alpha和Beta的标准差?

时间:2011-11-24 16:11:43

标签: matlab statistics linear-regression

我有数据,我需要对数据进行线性回归才能获得

Y =阿尔法* X +贝塔

Alpha和Beta是回归给出的估计量,polyfit可以给我那些没有问题但是这是一份物理科学报告,我需要给出这些值的误差估计

我从统计数据中知道简单线性回归系数存在标准差。

如何在Matlab中计算

谢谢

3 个答案:

答案 0 :(得分:0)

最简单的解决方案是使用LSCOV

%# create some data
x = 1:10;
y = 3*x+randn(size(x))*0.1;

%# create the design matrix
A = [x(:),ones(length(x),1)];


[u,std_u] = lscov(A,y(:));

u =
       3.0241
    -0.070209
std_u =
     0.018827
      0.11682

答案 1 :(得分:0)

regress命令的第二个输出将为回归系数提供95%的置信区间。这是一个例子:

>> x = [ones(100,1), (1:100)'];
>> alpha = 3; beta = 2;
>> y = x*[alpha; beta]+randn(100,1);
>> [coeffs, coeffints] = regress(y,x);
>> coeffs
coeffs =
       2.9712
       1.9998
>> coeffints
coeffints =
       2.5851       3.3573
       1.9932       2.0064

此处alpha估计为2.9712,95%置信区间介于2.5851和3.3573之间,beta估计为1.9998,95%置信区间介于1.9932和2.0064之间。

答案 2 :(得分:0)

或者只是使用95%置信区间长度为2 * 1.9654标准误差的关系,因此上述回归示例中的标准误差由下式给出:

  

st errors =(coeffints(:,2)-coeffints(:,1))/(2 * 1.9654)。

由于回归函数中的正态性假设,出现了数字1.9654