24小时热门版块排行榜    

查看: 2298  |  回复: 0

ylmaterial

新虫 (初入文坛)

[求助] Matlab中polyfit函数输出变量‘delta’,即‘误差标准差',如何解释?

请教各位,问题如下:

根据定义,[y,delta] = polyval(p,x,S)中的delta 是指使用 p(x) 预测 x 处的未来观测值时的误差标准差估计值,其中p是根据polyfit函数拟合所得。本人对‘误差标准差估计值’不理解,望各位指教。
根据定义,标准差是指总体各单位标准值与其平均数离差平方的算术平均数的平方根,可反映一个数据集的离散程度。那么此处的“误差标准差”则表示存在多个误差,且针对这些误差可计算对应的标准差,也就是说“误差标准差”可理解成“多个误差的标准差”。按此理解,对单个未来观测值(即单个拟合所得y值)而言,其对应存在多个误差。我的疑问是,拟合所得单个y值怎么会对应有多个误差?

为更清楚表明我的疑问,请见以下简例:
[
X_0 = [2.2 4.7 7.2 8.0 9.8 11.4 12.2 14.7 17.2 19.4]; Y_0 = [244.1 363 424.4 444 471.8 481 499.3 472.7 455.8 416.2];
[fit_p fit_s] = polyfit(X_0,Y_0,4);  
fit_x = linspace(2,20,20);
[fit_y,fit_delta] = polyval(fit_p,fit_x, fit_s);
]
运行结束后,可得
fit_y =
  Columns 1 through 9
  234.9014  283.4593  325.6847  362.0406  392.9591  418.8413  440.0573  456.9461  469.8158
  Columns 10 through 18
  478.9436  484.5755  486.9266  486.1811  482.4921  475.9816  466.7409  454.8299  440.2780
  Columns 19 through 20
  423.0831  403.2125

fit_delta =
  Columns 1 through 9
   11.5998    9.6976    9.6971    9.7646    9.5076    9.1039    8.7987    8.7016    8.7555
  Columns 10 through 18
    8.8337    8.8567    8.8466    8.9069    9.1341    9.5028    9.8237    9.8477    9.5769
  Columns 19 through 20
   10.0317   13.7898

以fit_x(1)=2,fit_y(1)=234.9014,fit_delta(1)=11.5998为例。根据定义,11.5998应该表示在fit_x(1) = 2时拟合所得234.9014的误差标准差。也就是说,234.9014对应存在多个拟合误差,且这些误差的标准差为11.5998。
不知以上理解是否正确?如果正确,那单个拟合结果234.9014为何会有多个拟合误差?如果不正确,那又该如何理解?烦请各位指教。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ylmaterial 的主题更新
信息提示
请填处理意见