我有以下向量:
x = [0.0069 0.0052 0.0034 0.0024 0.0001 -0.0013 -0.0003 ...
-0.0026 -0.0040 -0.0031 -0.0034 -0.0017 -0.0013 -0.0017 ...
-0.0010 -0.0019 -0.0015 -0.0018 -0.0031 -0.0020 -0.0008 ...
0.0007 0.0031 0.0036 0.0060]
y = [0.0069 0.0061 0.0044 0.0031 0.0012 -0.0016 -0.0027 ...
-0.0032 -0.0033 -0.0042 -0.0031 -0.0019 -0.0021 -0.0013 ...
-0.0007 -0.0021 -0.0020 -0.0011 -0.0028 -0.0033 -0.0011 ...
0.0018 0.0027 0.0038 0.0051]
我正在使用一个健壮的拟合,以获得最适合y vs x而忽略可能的异常值的线性函数y=f(x)=m*x+p
:
[b,stats] = robustfit(x,y)
我得到一个斜率m = b(2) = 1.0402 +/- 0.0559
和y-intercept p = b(1) = 5.1496e-06 +/- 1.6907e-04
不确定性是我从stats.se
获得的值,根据手册的标准"标准"系数估计误差。但正如你可以看到y截距的不确定性太大,这似乎没有任何意义(如果我们得到的不确定性不可靠,那么使用稳健拟合的重点是什么?) 。任何改善这方面的帮助都将非常感激!
非常感谢您提前!
答案 0 :(得分:1)
y轴截距的标准误差相对于y轴截距本身较大,但相对于此拟合中的y数据仍然非常小。从统计学上可以推断出,robustfit
给出的值优于零的可能性非常小。这不是强大回归的弱点 - 它是您数据的一个事实,它似乎大致通过原点。您可以通过绘制它们来查看标准误差有多小:
scatter(x,y)
hold on
axis equal
grid on
plot(x, m *x + p )
plot(x, m *x + p+stats.se(1),'m--')
plot(x,(m+stats.se(2))*x + p ,'c--')
plot(x, m *x + p-stats.se(1),'m--')
plot(x,(m-stats.se(2))*x + p ,'c--')
legend('Raw data','y=m*x+p','y=m*x+p±stats.se(1)','y=(m±stats.se(2))*x+p','Location','best')
请注意,这些标准误差不是置信区间 - 此图只是说明了它们的大小。
对于您提供的数据,我认为在没有改进数据的情况下,没有空间有意义地改善这种适应性。事实上,如果没有对基础数据来源的具体了解,我会假设使用OLS回归的拟合与稳健回归一样可能是线性关系的最佳估计。