2

我想测量指数衰减曲线的拟合优度。我正在使用lsqcurvefitMATLAB 函数。有人建议我做卡方检验

我想使用 MATLAB 函数chi2gof,但我不确定如何告诉它数据正在拟合为指数曲线

4

1 回答 1

2

chi2gof函数检验零假设,即一组数据X(例如 )是从某个指定分布(例如指数分布)中抽取的随机样本。

根据您在问题中的描述,听起来您想看看您的数据X与指数衰减函数的拟合程度。我真的必须强调,这与测试是否从指数分布中抽取随机样本完全不同。X如果您将chi2gof其用于既定目的,您将得到毫无意义的结果。

X测试某些数据对某些函数的拟合优度的常用方法f最小二乘法,或最小二乘法的某种变体。此外,最小二乘法可用于生成检验拟合优度的检验统计量,其中许多是根据卡方分布分布的。我相信这可能是您朋友所指的。

编辑:我有几分钟的空闲时间,所以这里有一些东西可以帮助您入门。免责声明:我从来没有专门研究过这个问题,所以下面的内容可能正确。我将假设您有一组数据 x_n, n = 1, ..., N,以及数据的相应时间戳 t_n, n = 1, ..., N。现在,指数衰减函数是 y_n = y_0 * e^{-b * t_n}。请注意,通过取两边的自然对数,我们得到:ln(y_n) = ln(y_0) - b * t_n。好的,所以这建议使用 OLS 来估计线性模型 ln(x_n) = ln(x_0) - b * t_n + e_n。好的!因为现在我们可以使用标准 R^2 度量来测试拟合优度,stats如果您使用regress执行 OLS 的函数。希望这可以帮助。我再次强调,我在几分钟内就想到了这个,所以可能有充分的理由说明我的建议是一个坏主意。此外,如果您知道过程的初始值(即 x_0),那么您可能需要查看约束最小二乘法,将参数 ln(x_0) 绑定到其已知值。

于 2012-09-27T12:00:05.557 回答