如何计算非线性回归的预测范围?


16

Prism 的帮助页面对如何计算非线性回归的预测范围进行了以下说明。请原谅长引号,但我没有遵循第二段(它解释了的定义方式以及d Y / d P的计算方式)。任何帮助将不胜感激。G|xdY/dP

置信度和预测范围的计算是相当标准的。继续阅读有关Prism如何计算非线性回归的预测带和置信带的详细信息。

首先,让我们定义G | x,它是在特定X值下并使用所有参数的最佳拟合值的参数梯度。结果是一个向量,每个参数一个元素。对于每个参数,它定义为dY / dP,其中Y是给定特定X值和所有最佳拟合参数值的曲线的Y值,P是其中一个参数。)

G'| x是转置的梯度矢量,因此它是一列而不是一行值。

Cov是协方差矩阵(上次迭代的逆Hessian)。它是一个正方形矩阵,行和列的数量等于参数的数量。矩阵中的每一项都是两个参数之间的协方差。

现在计算c = G'| x * Cov * G | x。结果是任何X值的单个数字。

置信带和预测带以最佳拟合曲线为中心,并在曲线的上方和下方延伸相等的量。

置信带在曲线的上方和下方延伸:= sqrt(c)* sqrt(SS / DF)* CriticalT(Confidence%,DF)

预测带在曲线的上方和下方进一步延伸,等于:= sqrt(c + 1)* sqrt(SS / DF)* CriticalT(Confidence%,DF)




这确实称为增量法,并使用一阶泰勒逼近法。最好为此使用二阶泰勒近似值-如果您感兴趣的话,propagationNLS函数可以做到这一点!
Tom Wenseleers

Answers:


18

这称为增量法。

假设您有一些函数 ; 请注意,G 是您估计的参数β和预测变量x的函数。首先,针对您的参数向量βG β x 找到该函数的导数y=G(β,x)+ϵG()βxβG(β,x)。这就是说,如果您稍微改变一个参数,您的功能会发生多少变化?请注意,此导数可能是参数本身以及预测变量的函数。例如,如果,你的程序给出β,和预测值X,则该衍生物是 X EXP β X ,这取决于的值 β和的值 X。要对此进行评估,请插入 β的估计值G(β,x)=exp(βx)xexp(βx)βxββ^x 您想要预测的地方。

增量的方法,从最大似然程序导出,指出的方差将是 ģ ' βX Ť瓦尔β ģ ' βX 其中VAR βG(β^,x)

G(β^,x)TVar(β^)G(β^,x),
Var(β^)是估算值的方差-协方差矩阵(等于Hessian的逆数-估算值中似然函数的二阶导数)。统计信息包使用的函数将为预测变量每个不同值计算该值。对于x的每个值,这只是一个数字,而不是向量。xx

这给出了每个点上函数值的方差,并与计算置信区间中的任何其他方差一样使用:取该值的平方根,乘以法线或适用值的临界值 G()

xVar(yx)σ2ϵσ^2yyσ^2SSDF

cσ2σ2σc*SS/DF

c(xx)1Var(β^)=σ2(xx)1


你能解释一下ci的计算吗?看起来不像t * sqrt(var)的临界点
B_Miner 2011年

我认为我了解他们的计算;我更新了我的回复。
查理

查理,非常感谢您的详细答复。我打算编写代码以能够计算95%的预测范围。我会让你知道怎么回事。
Joe Listerr 2011年

@Charlie-非常非常好!
B_Miner 2011年

2
@查理 谢谢。我在GraphPad Prism FAQ中添加了一个句子,说明我们使用cov表示标准化的协方差矩阵(每个值的范围从-1到1)。我还添加了指向此页面的链接,该链接非常适合那些寻求数学细节的人。
Harvey Motulsky
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.