我有数据,我需要对数据进行线性回归才能获得
Y =阿尔法* X +贝塔
Alpha和Beta是回归给出的估计量,polyfit可以给我那些没有问题但是这是一份物理科学报告,我需要给出这些值的误差估计
我从统计数据中知道简单线性回归系数存在标准差。
如何在Matlab中计算
谢谢
答案 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