Matlab 读取txt数据 画图&拟合&解释

一. 背景

       实际工作中,在得到一堆数据点后,常要寻求数据点之间的关系。一般做法是先画出图来,然后用多项式或其他函数来拟合,最后分析下拟合的误差,看拟合结果是否可靠。

二. 实例

     数据: data2.txt

     步骤:

             1. 点击matlab主页上的 “导入数据”选项,将txt导入matlab。

                

           2. 这里选择“数值矩阵”,点击“导入所选内容

               

        此时工作空间里就有了data2这个矩阵,是2000x2double型。

         3. 对导入的数据进行画图。

         >> plot(data2(:,1), data2(:,2))

          >> xlabel('data size(M)')
          >> ylabel('average time(s)')

         

      4. 对数据进行拟合

        >>x=data2(:,1)

        >>y=data2(:,2)

     5. 点击“应用程序” 下的“curve fitting”     

               

      6. 加载数据x 和 y,然后选择拟合类型

                 

      7. 对拟合结果的分析

       左下角的Results是拟合的结果。

      Godness of fit:(拟合的好坏)

       SSE(sum of square error):所有误差平方和,其实就是残差,即不能被拟合回归所解释的部分。假定y_i是真实值,\widehat{y}_i是预测值。

             SSE=\sum_{i=1}^n(y_i-\widehat{y}_i)^2

       SSE越小,预测值越准,说明拟合的越好。

       RMSE(root of mean square error):对均方误差开根号。

        RMSE=\sqrt{\frac{1}{n} \sum_{i=1}^n(y_i-\widehat{y}_i)^2}

       RMSE和SSE是一回事,值越小,拟合越好。

        R-square(relation of square): 称可决系数,其实是相关系数的平方,衡量拟合度的量,取值在[0,1].

       R-square=\frac{SSR}{SST},

其中

     SSR=\sum_{i=1}^n(\widehat{y}_i-\bar{y})^2

      SST=\sum_{i=1}^n(y_i-\bar{y})^2

     \widehat{y}_i是预测值,y_i是真实值,\bar{y} 是所有真值的平均值。SSR(sum of square of the regression)度量预测值\widehat{y}_i自身的波动,它是可由拟合回归模型来解释的,因为是通过模型给出的预测值嘛。SST(sum of squares of total)度量真实值y_i自身的波动,即数据总的偏差平方和。通过对SST,SSE,SSR本质的分析,可以得到

      SST=SSE+SSR

   即数据总偏差=不能被回归解释的偏差+能被回归解释的偏差 

所以能被回归解释的偏差占比越大,说明回归拟合的越好。故R-square越接近1拟合越好。

Adjusted R-square:调整R-square, 取值在[0,1], 越接近1拟合越好。

不难发现

      R-square=1-\frac{SSE}{SST}

随着真实数据的增加,SSE会减小,从而R-square会增大,但是这里存在一个问题,就是增加的真实数据不一定是有效的数据,所以我们通过调整R-square来真实的衡量拟合度,也就是Adjusted R-square可以用来检验是否有多余无用的变量。

Adjusted R-square=1-\frac{\frac{SSE}{n-p-1}}{\frac{SST}{n-p-1}}

其中n为数据量,p为特征数,n-p-1就是自由度。

分子分母除以SSE和SST各自的自由度,确切的说是各自的均值,因为它们都服从卡方分布。这样除以均值是因为可以消除量纲对于其的影响,就比如测量长城和桌子,长城的误差可能是好几米,桌子的误差可能几毫米,这肯定不能说长城测量的没有桌子测量的准确,而应该将其放到一个水平上进行误差的比较,从而对其进行判断,调整的R square就是将RSS和TSS调整到同一水平上进行比较[1]。

8.结果分析

  通过对Results 几个量的分析,我们可以知道拟合的好坏。在方框2中有不同的拟合类供选择。

三. 参考文献

[1] 作者:SUNFLOWER 链接:https://www.zhihu.com/question/25654342/answer/271334114
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值