数模必备插值拟合

插值与拟合
两者都可用于对较少数据量的补充,但是一般插值用于数据量较少的情况n<=30 拟合用于数据量较多的情况 n>30。

(1)插值与拟合采用的方法

1.插值

  • 拉格朗日插值
  • 牛顿插值
  • 分段埃尔米特插值
  • 分段三次样条插值
    其中牛顿插值与拉格朗日插值的龙格现象比较严重,因此一般采用分段埃尔米特插值和分段三次样条插值。

⭐️注意插值的方法可以用于短期的预测,但不推荐这样做。

2.拟合

  • 使用matlab的拟合工具箱

⭐️一般情况下,拟合在保证优度相差不大的情况下,使用越简单的拟合函数越好。

(2)具体的代码操作方法

1.插值的matlab

  • 使用分段三次埃尔米特插值pchip(x,y,new_x)其中x,y代表已知点的横纵坐标,new_x代表要插入的点的横坐标。
  • 使用分段三次样条插值spline(x,y,new_x)其中x,y代表已知点的横纵坐标,new_x代表要插入的点的横坐标。
  • n维数据的插值interpn(x1,x2,...,xn,y,new_x1,new_x2,...,new_xn,method)其中x1,x2…,xn是已知点的横坐标,y是已知样本点的纵坐标,new_x1,new_x2,…,new_xn代表要插入的点的横坐标,method代表使用的插值方法,选项’linear’(线性插值),‘cubic’(三次插值),‘spline’(三次样条插值),‘nearest’(最邻近插值算法)。

2.拟合的matlab

  • cftool调用拟合工具箱。
    在这里插入图片描述
  • 拟合优度评价
    • 拟合优度: R 2 R^2 R2
    • 总体平方和 S S T SST SST S S T = ∑ i = 1 n ( y i − y ‾ ) 2 SST=\displaystyle \sum_{i=1}^{n}(y_i-\overline{y})^2 SST=i=1n(yiy)2
    • 误差平方和 S S E SSE SSE S S E = ∑ i = 1 n ( y i − y ^ ) 2 SSE=\displaystyle \sum_{i=1}^{n}(y_i-\hat{y})^2 SSE=i=1n(yiy^)2这里的 y ^ \hat{y} y^是将 x x x代入拟合完成的函数后得到的值。
    • 回归平方和 S S R SSR SSR S S R = ∑ i = 1 n ( y ‾ − y ^ ) 2 SSR=\displaystyle \sum_{i=1}^{n}(\overline{y}-\hat{y})^2 SSR=i=1n(yy^)2
      ① ① 对于线性的拟合评价可以使用 R 2 R^2 R2,对于线性拟合有 S S T = S S E + S S R SST=SSE+SSR SST=SSE+SSR
       
      R 2 = S S R S S T = S S T − S S E S S T = 1 − S S E S S T ≤ 1 R^2=\dfrac{SSR}{SST}=\dfrac{SST-SSE}{SST}=1-\dfrac{SSE}{SST}\le 1 R2=SSTSSR=SSTSSTSSE=1SSTSSE1
       
      R 2 R^2 R2越接近1则拟合效果越好。
      ② ② 对于非线性的拟合不能 R 2 R^2 R2,通过 S S E SSE SSE进行判断就可以了。

猜你喜欢

转载自blog.csdn.net/weixin_44618906/article/details/104025512
今日推荐