零截距线性模型的拟合

类别:    标签: 数理   阅读次数:   版权: (CC) BY-NC-SA

上篇博文中计算扩散系数时涉及截距为零的线性拟合, 也就是拟合y=kx. 由于需要进行大量的这种拟合并得到相关系数R², 我使用gnuplot批量进行. 但gnuplot并不支持线性拟合, 所以只能自己计算, 好在也不麻烦, 方法我很早之前就整理过, 见gnuplot拟合参数的误差及相关系数.

使用上述方法进行了大量拟合后, 检查结果时我发现有些拟合的R²竟然是负值. 这不合理啊! 如果R²小于零, R岂不是虚数? 所以我就用origin对R²为负值的数据进行了截距为零的拟合, 所得拟合参数一样, 但R²却是很接近1的值. origin给出的R²值看起来也不合理, 原因何在?

查了一下origin的说明, 原来对于截距为零的线性模型, R²的计算方法与有截距模型的不同. 简言之, 有截距时, 拟合直线一定经过x, y的平均值点, R²相对于平均值点计算, 代表拟合后与平均值相比的好坏程度, 因而这里的R²成为拟合优度. 对于无截距模型时, 则拟合直线一定经过零点, R²要相对于零点进行计算, 这样得到的R²就会很接近1, 即便看起来拟合效果很差.

对于有截距模型, 根据SST, SSE计算的拟合优度R²确实是相关系数R的平方, 其范围为[0, 1]. 但对于无截距模型, 常规定义的R与根据SST, SSE计算的不一样, 后者的范围是(-∞, 1]. 值越小, 拟合效果越差. 因此, 一般建议使用这种定义方式计算拟合优度R². 当然, 也有人建议使用其他量, 如标准差来代替R².

最后, 关于这种基于方差分析的R², 有一种几何解释, 可以参考.

◆本文地址: , 转载请注明◆
◆评论问题: https://jerkwin.herokuapp.com/category/3/博客, 欢迎留言◆


前一篇: 分段轨迹MSD法计算不同区域的扩散系数
后一篇: 生物学外文教参评介

访问人次(2015年7月 9日起): | 最后更新: 2025-06-25 03:30:23 UTC | 版权所有 © 2008 - 2025 Jerkwin