NCV
位於 mgcv
包(package)。 說明
當擬合中省略數據子集時,NCV 通過優化模型預測數據子集的平均能力來估計平滑參數。通常預測子集是遺漏子集的子集。如果兩個子集是相同的單個數據點,並且平均值是所有數據點的平均值,則 NCV 是留一交叉驗證。 QNCV 是 NCV 的二次近似,保證對任何族鏈接組合都是有限的。
詳細地說,假設通過最小化懲罰損失來估計模型
其中 是一種損失(例如負對數似然),取決於響應 和參數向量 ,而參數向量又取決於帶有係數 的一個或多個平滑線性預測變量的協變量。二次懲罰項懲罰模型複雜性: 是已知矩陣, 是未知平滑參數。給定平滑參數,懲罰損失很容易最小化以估計 。
還必須估計平滑參數。為此,選擇 子集 和 。通常 是 的子集(或等於)。令 表示當擬合中省略 索引的點時 的估計值。那麽NCV標準
最小化 w.r.t.平滑參數 。如果 和 則恢複普通的留一交叉驗證。例如,該公式涵蓋了 Arlot 和 Celisse (2010) 中評論的交叉驗證的許多變體。
除了二次損失之外,mgcv
的作用。牛頓步驟需要在刪除每個數據時將完整模型 Hessian 更新為等效模型。這可以以 成本實現,其中 是 的維度。因此,例如,普通交叉驗證標準可以在給定平滑參數的情況下估計模型的 成本下計算。 無法精確計算,但可以通過從完整數據 估計中采取單個牛頓優化步驟來計算到 精度(固定基礎大小),當每個 被刪除。這就是
以這種方式計算的 NCV 分數使用 BFGS quasi-Newton 方法進行優化,適用於平滑參數趨於無窮大可能導致不確定的情況。
時空短程自相關
常規應用問題是,在存在 un-modelled 短程自相關的情況下,平滑參數往往會被低估,因為平滑試圖擬合由局部自相關引起的數據中的局部偏移。當存在自相關時,交叉驗證將傾向於“擬合噪聲”,因為由於相關性,擬合與遺漏數據相關的數據中的噪聲的模型也將趨向於緊密擬合遺漏數據中的噪聲。也就是說,自相關與避免交叉驗證試圖實現的過度擬合相悖。
對於短程自相關,可以通過在省略 ‘local’ 鄰域中的所有數據時預測每個數據來避免或至少減輕問題。構建鄰域是為了最大限度地減少興趣點與其鄰域之外的點之間的 un-modelled 相關性。也就是說,我們設置 nei(k)
是點 的鄰居的索引。這種方法早已為人所知(例如 Chu 和 Marron,1991 年;Robert 等人,2017 年),但之前對於常規用於平滑參數估計來說過於昂貴。 、 和 ,其中
指定鄰域
鄰域子集 gam
,並且 nei
參數執行此操作。它是一個包含以下參數的列表。 和 必須提供給
-
k
是每個鄰域要刪除的索引向量。 -
m
給出每個鄰域的結束位置。因此nei$k[(nei$m[j-1]+1):nei$m[j]]
給出鄰域j
丟棄的點:即 。 -
i
是要預測的點索引的向量。 -
mi
給出相應的端點mi
。因此nei$i[(nei$mi[j-1]+1):nei$mi[j]]
索引要預測鄰域 j 的點:即 。 -
jackknife
是可選元素。如果提供且TRUE
,則方差估計基於原始 Jackkife 估計,如果提供FALSE
,則基於標準貝葉斯結果。如果沒有提供(通常),則使用考慮鄰域結構的估計器,這在很大程度上解釋了鄰域內存在的任何相關性。如果正在為使用另一種方法進行平滑參數選擇的模型計算 NCV,則忽略jackknife
。
如果nei==NULL
(或k
或m
缺失),則使用留一交叉驗證。如果提供nei
,但未選擇 NCV 作為平滑參數估計方法,則僅計算(但未優化)。
數值問題
如果指定的模型中某些係數值 gevlss
。 具有非有限似然,則使用單個牛頓步計算的 NCV 準則也可能是非有限的。一個簡單的修複方法是將 NCV 標準替換為圍繞完整數據擬合的標準的二次近似。二次近似總是有限的。這個'QNCV'對於某些家庭來說是必不可少的,例如
雖然 NCV 的主序成本與 REML 或 GCV 相同,但實際成本更高,因為主要操作成本在 matrix-vector 中,而不是 matrix-matrix 操作中,因此 BLAS 加速很小。然而,多核計算對於 NCV 來說是值得的。請參閱gam.control
中的選項ncv.threads
。
例子
require(mgcv)
nei.cor <- function(h,n) { ## construct nei structure
nei <- list(mi=1:n,i=1:n)
nei$m <- cumsum(c((h+1):(2*h+1),rep(2*h+1,n-2*h-2),(2*h+1):(h+1)))
k0 <- rep(0,0); if (h>0) for (i in 1:h) k0 <- c(k0,1:(h+i))
k1 <- n-k0[length(k0):1]+1
nei$k <- c(k0,1:(2*h+1)+rep(0:(n-2*h-1),each=2*h+1),k1)
nei
}
set.seed(1)
n <- 500;sig <- .6
x <- 0:(n-1)/(n-1)
f <- sin(4*pi*x)*exp(-x*2)*5/2
e <- rnorm(n,0,sig)
for (i in 2:n) e[i] <- 0.6*e[i-1] + e[i]
y <- f + e ## autocorrelated data
nei <- nei.cor(4,n) ## construct neighbourhoods to mitigate
b0 <- gam(y~s(x,k=40)) ## GCV based fit
gc <- gam.control(ncv.threads=2)
b1 <- gam(y~s(x,k=40),method="NCV",nei=nei,control=gc)
## use "QNCV", which is identical here...
b2 <- gam(y~s(x,k=40),method="QNCV",nei=nei,control=gc)
## plot GCV and NCV based fits...
f <- f - mean(f)
par(mfrow=c(1,2))
plot(b0,rug=FALSE,scheme=1);lines(x,f,col=2)
plot(b1,rug=FALSE,scheme=1);lines(x,f,col=2)
作者
Simon N. Wood simon.wood@r-project.org
參考
Chu and Marron (1991) Comparison of two bandwidth selectors with dependent errors. The Annals of Statistics. 19, 1906-1918
Arlot, S. and A. Celisse (2010). A survey of cross-validation procedures for model selection. Statistics Surveys 4, 40-79
Roberts et al. (2017) Cross-validation strategies for data with temporal, spatial, hierarchical, or phylogenetic structure. Ecography 40(8), 913-929.
Wood S.N. (2023) On Neighbourhood Cross Validation. in prep.
相關用法
- R vcov.gam 從 GAM 擬合中提取參數(估計器)協方差矩陣
- R gam.check 擬合 gam 模型的一些診斷
- R null.space.dimension TPRS 未懲罰函數空間的基礎
- R gam.reparam 尋找平方根懲罰的穩定正交重新參數化。
- R extract.lme.cov 從 lme 對象中提取數據協方差矩陣
- R scat 用於重尾數據的 GAM 縮放 t 係列
- R choldrop 刪除並排名第一 Cholesky 因子更新
- R smooth.construct.cr.smooth.spec GAM 中的懲罰三次回歸樣條
- R bandchol 帶對角矩陣的 Choleski 分解
- R gam.side GAM 的可識別性邊條件
- R cox.ph 附加 Cox 比例風險模型
- R mgcv.parallel mgcv 中的並行計算。
- R gamm 廣義加性混合模型
- R pdTens 實現張量積平滑的 pdMat 類的函數
- R Predict.matrix GAM 中平滑項的預測方法
- R Predict.matrix.soap.film 皂膜光滑度預測矩陣
- R smooth.construct.bs.smooth.spec GAM 中的懲罰 B 樣條
- R gamlss.gH 計算回歸係數的對數似然導數
- R plot.gam 默認 GAM 繪圖
- R mvn 多元正態加性模型
- R gfam 分組家庭
- R smooth.construct GAM 中平滑項的構造函數
- R pcls 懲罰約束最小二乘擬合
- R gam.fit3 使用 GCV、UBRE/AIC 或 RE/ML 導數計算進行 P-IRLS GAM 估計
- R rTweedie 生成 Tweedie 隨機偏差
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Neighbourhood Cross Validation。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。