smooth.construct.re.smooth.spec
位於 mgcv
包(package)。 說明
gam
可以處理簡單的獨立隨機效應,通過利用平滑和隨機效應之間的鏈接將隨機效應視為平滑。 s(x,bs="re")
實現了這一點。這些項可以有任意數量的預測變量,這些預測變量可以是數值變量或因子變量的任意混合。這些項產生預測變量的參數交互,並用單位矩陣的倍數來懲罰相應的係數,這對應於 i.i.d 的假設。常態。查看具體信息。
用法
## S3 method for class 're.smooth.spec'
smooth.construct(object, data, knots)
## S3 method for class 'random.effect'
Predict.matrix(object, data)
參數
object |
對於 |
data |
僅包含該術語所需的數據(包括任何 |
knots |
通常包含為基礎設置提供的任何結的列表 - 目前未使用。 |
細節
通過示例可以最好地了解隨機效應是如何實現的。考慮模型術語 s(x,z,bs="re")
。這將導致與 ~x:z-1
對應的模型矩陣分量被添加到整個模型的模型矩陣中。假設與模型矩陣分量相關的係數是獨立同分布的。正常,方差未知(待估計)。這個假設相當於係數上的恒等懲罰矩陣(即嶺懲罰)。因為這樣的懲罰是滿等級的,所以隨機效應項不需要居中約束。
如果隨機效應規範的性質不清楚,請考慮更多示例:s(x,bs="re")
導致 model.matrix(~x-1)
被附加到整個模型矩陣,而 s(x,v,w,bs="re")
會導致 model.matrix(~x:v:w-1)
被附加到模型矩陣。在這兩種情況下,相應的模型係數均假設為獨立同分布。正常,因此會受到山脊處罰。
一些模型要求同一隨機效應的不同水平對應的係數之間存在差異。有關如何實現這一點,請參閱linear.functional.terms
。
如果已知矩陣 s
的 xt
參數中提供包含 的列表。在這種情況下,還應在 xt
中提供數組 rank
,給出 矩陣的排名。請參閱下麵的簡單示例。 和未知參數 的隨機效應精度矩陣的形式為 ,則可以在
請注意,隨機效應項不支持平滑id
。與大多數平滑項不同,在嵌套情況下,附帶條件永遠不會應用於隨機效應項(因為它們無需附帶條件即可識別)。
以這種方式實現的隨機效應不會利用許多隨機效應的稀疏結構,因此對於具有大量隨機效應的模型來說可能相對低效,而 gamm4
或 gamm
可能是更好的選擇。另請注意,gam
將不支持係數多於數據的模型。
因子變量隨機效應故意具有不可觀察水平的情況需要特殊處理。您應該在模型擬合函數中設置 drop.unused.levels=FALSE
gam
、 bam
或 gamm
,首先確保任何固定效應因子不包含未觀察到的水平。
該實現的設計是為了向 predict.gam
提供隨機效應因子水平(擬合時不是因子水平),將導致相應的隨機效應(或涉及它的交互作用)設置為零(標準誤差為零)以進行預測。有關示例,請參閱random.effects
。這是通過 Predict.matrix
方法將涉及 NA
因子的預測矩陣的任何行歸零來實現的。如果擬合數據中不存在水平,predict.gam
會將任何因子觀察值設置為 NA
。
值
類 "random.effect"
的對象或將隨機效應係數映射到隨機效應本身的矩陣。
例子
## see ?gam.vcomp
require(mgcv)
## simulate simple random effect example
set.seed(4)
nb <- 50; n <- 400
b <- rnorm(nb)*2 ## random effect
r <- sample(1:nb,n,replace=TRUE) ## r.e. levels
y <- 2 + b[r] + rnorm(n)
r <- factor(r)
## fit model....
b <- gam(y ~ s(r,bs="re"),method="REML")
gam.vcomp(b)
## example with supplied precision matrices...
b <- c(rnorm(nb/2)*2,rnorm(nb/2)*.5) ## random effect now with 2 variances
r <- sample(1:nb,n,replace=TRUE) ## r.e. levels
y <- 2 + b[r] + rnorm(n)
r <- factor(r)
## known precision matrix components...
S <- list(diag(rep(c(1,0),each=nb/2)),diag(rep(c(0,1),each=nb/2)))
b <- gam(y ~ s(r,bs="re",xt=list(S=S,rank=c(nb/2,nb/2))),method="REML")
gam.vcomp(b)
summary(b)
作者
Simon N. Wood simon.wood@r-project.org
參考
Wood, S.N. (2008) Fast stable direct fitting and smoothness selection for generalized additive models. Journal of the Royal Statistical Society (B) 70(3):495-518
也可以看看
相關用法
- R smooth.construct.cr.smooth.spec GAM 中的懲罰三次回歸樣條
- R smooth.construct.bs.smooth.spec GAM 中的懲罰 B 樣條
- R smooth.construct.sz.smooth.spec GAM 中的約束因子平滑交互
- R smooth.construct.mrf.smooth.spec 馬爾可夫隨機場平滑
- R smooth.construct.gp.smooth.spec 低階高斯過程平滑
- R smooth.construct.tp.smooth.spec GAM 中的懲罰薄板回歸樣條
- R smooth.construct.ad.smooth.spec GAM 中的自適應平滑
- R smooth.construct.so.smooth.spec 皂膜平滑劑
- R smooth.construct.ds.smooth.spec 低階 Duchon 1977 樣條
- R smooth.construct.fs.smooth.spec GAM 中平滑交互的因子
- R smooth.construct.ps.smooth.spec GAM 中的 P 樣條
- R smooth.construct.sos.smooth.spec 球體上的樣條線
- R smooth.construct.tensor.smooth.spec 張量積平滑構造函數
- R smooth.construct.t2.smooth.spec 張量積平滑構造函數
- R smooth.construct GAM 中平滑項的構造函數
- R smooth.info 提供有關平滑規範的額外信息的通用函數
- R smooth.terms GAM 中的平滑術語
- R smooth2random 將平滑轉換為適合估計隨機效應的形式
- R smoothCon GAM 平滑項的預測/構造包裝函數
- R scat 用於重尾數據的 GAM 縮放 t 係列
- R slanczos 計算對稱矩陣的截斷特征分解
- R single.index 具有 mgcv 的單指數模型
- R sp.vcov 從 (RE)ML GAM 擬合中提取平滑參數估計器協方差矩陣
- R shash Sinh-arcsinh 位置比例和形狀模型族
- R s 在 GAM 公式中定義平滑
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Simple random effects in GAMs。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。