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


R gam.side GAM 的可識別性邊條件


R語言 gam.side 位於 mgcv 包(package)。

說明

具有重複變量的 GAM 公式可能僅對應於給定某些附帶條件的可識別模型。該例程基於將冗餘參數歸零來計算出適當的輔助條件。它是從 mgcv:::gam.setup 調用的,不適合由用戶調用。

該方法通過名稱識別嵌套和重複的變量,但以數字方式評估需要施加哪些約束。約束總是優先應用於較多變量的平滑,而不是較少變量的平滑。數值方法允許將適當的約束應用於使用任何平滑(包括用戶定義的平滑)構建的模型。

用法

gam.side(sm,Xp,tol=.Machine$double.eps^.5,with.pen=FALSE)

參數

sm

smooth.construct 返回的平滑對象列表。

Xp

嚴格參數化模型組件的模型矩陣。

tol

評估平滑的線性相關性時使用的公差。

with.pen

依賴性的計算是否應該考慮懲罰。這樣做會減少限製。

細節

諸如 y~s(x)+s(z)+s(x,z) 之類的模型可以通過 gam 進行估計,但需要應用可識別性約束,以使它們可識別。該例程執行此操作,有效地將冗餘參數設置為零。當冗餘存在於較少數量變量和較多數量變量的平滑之間時,約束始終應用於較多數量變量的平滑。

從屬平滑以符號方式進行標識,但需要哪些約束來確保這些平滑的可識別性是使用 fixDependence 以數字方式確定的。這使得例程相當通用,並且不依賴於任何特定基礎。

Xp 用於檢查模型中是否存在常數項(或可以線性組合以給出常數的列)。這是因為,如果模型中存在常數,則中心平滑可能會顯得獨立,而實際上它們會是相關的,因此相關性測試需要考慮到這一點。

平滑列表,其中模型矩陣和懲罰矩陣經過調整以自動施加所需的約束。任何已修改的平滑都將具有屬性 "del.index" ,列出其模型矩陣中已刪除的列。該索引用於創建該術語的預測矩陣。

警告

使用 y~s(x)+s(z)+ti(x,z)y~ti(x)+ti(z)+ti(x,z) 等模型而不是 y~s(x)+s(z)+s(x,z) 可以獲得更好的統計穩定性,因為前者被設計為不需要進一步的約束。

例子

## The first two examples here iluustrate models that cause
## gam.side to impose constraints, but both are a bad way 
## of estimating such models. The 3rd example is the right
## way.... 
set.seed(7)
require(mgcv)
dat <- gamSim(n=400,scale=2) ## simulate data
## estimate model with redundant smooth interaction (bad idea).
b<-gam(y~s(x0)+s(x1)+s(x0,x1)+s(x2),data=dat)
plot(b,pages=1)

## Simulate data with real interation...
dat <- gamSim(2,n=500,scale=.1)
old.par<-par(mfrow=c(2,2))

## a fully nested tensor product example (bad idea)
b <- gam(y~s(x,bs="cr",k=6)+s(z,bs="cr",k=6)+te(x,z,k=6),
       data=dat$data)
plot(b)

old.par<-par(mfrow=c(2,2))
## A fully nested tensor product example, done properly,
## so that gam.side is not needed to ensure identifiability.
## ti terms are designed to produce interaction smooths
## suitable for adding to main effects (we could also have
## used s(x) and s(z) without a problem, but not s(z,x) 
## or te(z,x)).
b <- gam(y ~ ti(x,k=6) + ti(z,k=6) + ti(x,z,k=6),
       data=dat$data)
plot(b)

par(old.par)
rm(dat)

作者

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

也可以看看

ti , gam.models

相關用法


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