拟合度的分析
在上一篇里,已经介绍了如何选择曲线模型,这一篇里,将会介绍怎样预测出该模型下符合实际数据的曲线,选择合适的模型。(模型的拟合算法将单独介绍)
给定一组实际数据,要让你预测出今后的一段时间,该数据的发展趋势,很多情况下,你并不能一下子就找到符合这组数据发展趋势的模型。而实际上,又有太多模型可以选择,每一个模型都会得到一个不同的发展趋势。好比买衣服,琳琅满目、各式各样,可是,到底哪一件适合你要出席的场合呢?所以,到底是指数合适,还是Gompertz合适,又或者是Logistic合适呢?
这个时候,就迫切的需要一个评判的标准,这种标准称为拟合度。拟合度的评价也有几种方法,本文列出了几种常用的拟合度判断方法,并对这几种方法进行总结、对比。
◆ 利用相关系数R2来进行拟合度判断
相关系数R2是一种常见的拟合度的判断方法,常用于判断线性曲线的拟合度,然而在许多非线性曲线的拟合度判定过程中使用的依然是判断R2的方法,这个判断标准在实践中也被证明是符合实际的。实际中,R2较大的曲线模型,往往也是拟合较好的模型。
● 计算残差平方和Q=∑(y-y*)^2,其中,y代表的是实测值,y*代表的是预测值
● 计算相关系数R2=1-Q/∑(y-ya)^2,其中,y代表的是实测值,ya代表的是实测值的平均数
● 判断方式:R2越大、越接近1,认为拟合度越好
◆ 利用变换的R2来进行拟合度判断——以Gompertz曲线和Logistic曲线为例
Gompertz曲线和Logistic曲线的预测过程(无论是三点法还是三和法)首先都需将模型的函数进行变换(对Gompertz模型进行对数变换,对Logistic模型进行倒数变换),然后再运用三和法或者三点法的原理进行计算。所以这里提出一种运用变换的相关系数R2来进行拟合度判断。
● Gompertz曲线
◇ 分别将实测值和预测值进行对数变换
◇ 将对数变换后的实测值记作y,将对数变换后的预测值记作y*
◇ 根据相关系数的计算方法,计算变换后的残差平方和Q和相关系数R2
● Logistic曲线
◇ 分别将实测值和预测值进行求倒数变换
◇ 将求倒变换后的实测值记作y,将求倒变换后的预测值记作y*
◇ 根据相关系数的计算方法,计算变换后的残差平方和Q和相关系数R2
◆ 利用实测数据与拟合数据来进行拟合度判断
由于R2是用于判断线性模型的拟合程度的,对于非线性曲线,似乎不具有什么理论上的支持,所以,出现了许多针对非线性曲线进行的拟合度判定。下面的方法是其中的一种。
● 同样,计算残差平方和Q=∑(y-y*)^2和∑y^2,其中,y代表的是实测值,y*代表的是预测值
● 计算新的拟合度指标RNew=1-(Q/∑y^2)^(1/2)
● 判断方式:RNew越接近1,认为拟合度越好
◆ 利用余弦函数进行辅助判断
从上一种方法中可以看出,在参数个数相同的前提下,拟合值越接近实测值,则认为拟合得越好。由此出现了根据几何意义得到的方法:若把实测值和预测值视为N维空间中的向量,若它们之间的夹角Θ越小,则可以认为拟合得越好。这里,计算角余弦系数FR=cosΘ=∑(yy*)/((∑y^2)^(1/2)* (∑y*^2)^(1/2))。
经实验证明,RNew的分辨率和灵敏度都较高,计算简单。实际中,可先用FR初选,再用RNew精选,可能会得到较好的结果。