当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。