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


R concurvity GAM 並發測量


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

說明

生成 gam 組件之間並發性的匯總度量。

用法

concurvity(b,full=TRUE)

參數

b

繼承自類 "gam" 的對象。

full

如果TRUE,則考慮每一項與模型其餘部分的並發性。如果FALSE,則考慮每個平滑項(以及參數分量)之間的成對並發度量。

細節

當模型中的某些平滑項可以由模型中的一個或多個其他平滑項近似時,就會出現並發。當模型中包含空間平滑以及在空間中或多或少平滑變化的其他協變量的平滑時,通常會出現這種情況。同樣,它往往是模型中的一個問題,包括時間平滑以及其他隨時間變化的協變量的平滑。

並發性可以被視為co-linearity的泛化,並導致類似的解釋問題。它還可能使估計變得有些不穩定(例如,使得它們對明顯無害的建模細節變得敏感)。

該例程計算三個相關的並發性指數,所有指數都在 0 和 1 之間,其中 0 表示沒有問題,1 表示完全缺乏可識別性。這三個指數都基於這樣的想法:模型中的平滑項 f 可以分解為完全位於模型中一個或多個其他項的空間中的部分 g,以及剩餘部分,即完全在該術語自己的空間內。如果 g 占 f 的很大一部分,則存在並發問題。使用的指數均基於 ||g||/||f|| 的平方,即在觀察到的協變量值下評估的 f 和 g 向量的歐幾裏得範數平方之比。

三項措施如下

最糟糕的

這是 ||g||/||f|| 的平方的最大值可以取任何係數向量。這是一個相當悲觀的衡量標準,因為它隻考慮最壞的情況,而不考慮數據。這是唯一對稱的度量。

觀察到的

這僅返回 ||g||/||f|| 的平方值根據估計的係數。這可能有點over-optimistic關於某些情況下潛在問題的可能性。

估計

這是 g 的基值 F-norm 的平方除以 f 的基值 F-norm。它衡量 f 基可以用 g 基解釋的程度。它沒有前兩項措施的悲觀情緒或over-optimism的潛力,但不太容易理解。

如果full=TRUE 是一個矩陣,其中每個項有一列,並且下麵詳述的 3 個並發度量中的每一個都有一行。如果 full=FALSE 是 3 個矩陣的列表,每個矩陣對應下麵詳述的三個並發度量中的每一個。矩陣的每一行與模型項如何依賴於提供該行名稱的模型項相關。

例子

library(mgcv)
## simulate data with concurvity...
set.seed(8);n<- 200
f2 <- function(x) 0.2 * x^11 * (10 * (1 - x))^6 + 10 *
            (10 * x)^3 * (1 - x)^10
t <- sort(runif(n)) ## first covariate
## make covariate x a smooth function of t + noise...
x <- f2(t) + rnorm(n)*3
## simulate response dependent on t and x...
y <- sin(4*pi*t) + exp(x/20) + rnorm(n)*.3

## fit model...
b <- gam(y ~ s(t,k=15) + s(x,k=15),method="REML")

## assess concurvity between each term and `rest of model'...
concurvity(b)

## ... and now look at pairwise concurvity between terms...
concurvity(b,full=FALSE)

作者

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

參考

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

相關用法


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