我有数据,我需要对数据进行线性回归以获得
y=阿尔法*x+贝塔
Alpha 和 Beta 是回归给出的估计量,polyfit 可以给我没有问题的估计,但这是一份物理科学报告,我需要对这些值给出错误估计
我从统计数据中知道简单线性回归系数存在标准偏差。
我如何在Matlab中计算
谢谢
我有数据,我需要对数据进行线性回归以获得
y=阿尔法*x+贝塔
Alpha 和 Beta 是回归给出的估计量,polyfit 可以给我没有问题的估计,但这是一份物理科学报告,我需要对这些值给出错误估计
我从统计数据中知道简单线性回归系数存在标准偏差。
我如何在Matlab中计算
谢谢
或者仅使用 95% 置信区间的长度为 2*1.9654 标准误的关系,因此上述回归示例中的标准误由下式给出:
st 错误 = (coeffints(:,2)-coeffints(:,1))/(2*1.9654)。
数字 1.9654 出现是因为回归函数中的正态假设
最简单的解决方案是使用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
该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 之间。