當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R notExp2 方差分量對數參數化的替代方案


R語言 notExp2 位於 mgcv 包(package)。

說明

notLog2notExp2logexpnotLognotExp 的替代方案,用於方差參數的重新參數化。它們由 pdTenspdIdnot 類使用,而這些類又為 gamm 實現平滑。

這些函數通常用於確保平滑參數為正,但 notExp2 不是單調的:而是隨著其參數的變化,它在“有效零”和“有效無窮大”之間循環。 notLog2notExp2 的反函數,僅在以零為中心的區間內。

使用這些函數的參數化可確保估計的平滑參數保持為正值,但也有助於確保可能性永遠不會不確定。一旦工作參數將平滑參數推至“有效零”以下或“有效無窮大”以上,notExp2 的循環性質就會導致可能性降低,否則它可能會變得平坦。

這個參數化實際上隻是一個數值技巧,目的是讓 lme 適合 gamm 模型,而不會因不確定性而失敗。請特別注意,似然/REML 準則的漸近結果不會因該技巧而失效,除非參數估計最終接近有效零或有效無窮大:但如果是這種情況,那麽漸近對於傳統的單調參數化。

由於對 nlme 3.1-62 中引入的 lme 中的底層優化方法進行了一些修改,因此需要重新參數化。未來版本可能會返回notExp 參數化。

請注意,您可以重置“有效零”和“有效無窮大”:見下文。

用法

notExp2(x,d=.Options$mgcv.vc.logrange,b=1/d)

notLog2(x,d=.Options$mgcv.vc.logrange,b=1/d)

參數

x

實數 (notExp) 或正實數 (notLog) 的參數數組。

d

notExp2 的範圍從 exp(-d)exp(d) 。要更改 gamm 使用的範圍,請使用 options 重置 mgcv.vc.logrange

b

確定 notExp2 的循環周期。

根據提供的參數值計算的函數值數組。

例子

## Illustrate the notExp2 function:
require(mgcv)
x <- seq(-50,50,length=1000)
op <- par(mfrow=c(2,2))
plot(x,notExp2(x),type="l")
lines(x,exp(x),col=2)
plot(x,log(notExp2(x)),type="l")
lines(x,log(exp(x)),col=2) # redundancy intended
x <- x/4
plot(x,notExp2(x),type="l")
lines(x,exp(x),col=2)
plot(x,log(notExp2(x)),type="l")
lines(x,log(exp(x)),col=2) # redundancy intended
par(op)

作者

Simon N. Wood simon.wood@r-project.org

參考

https://www.maths.ed.ac.uk/~swood34/

也可以看看

pdTenspdIdnotgamm

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Alternative to log parameterization for variance components。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。