gam.side
位於 mgcv
包(package)。 說明
具有重複變量的 GAM 公式可能僅對應於給定某些附帶條件的可識別模型。該例程基於將冗餘參數歸零來計算出適當的輔助條件。它是從 mgcv:::gam.setup
調用的,不適合由用戶調用。
該方法通過名稱識別嵌套和重複的變量,但以數字方式評估需要施加哪些約束。約束總是優先應用於較多變量的平滑,而不是較少變量的平滑。數值方法允許將適當的約束應用於使用任何平滑(包括用戶定義的平滑)構建的模型。
用法
gam.side(sm,Xp,tol=.Machine$double.eps^.5,with.pen=FALSE)
參數
sm |
|
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 gam.selection 廣義加性模型選擇
- R gam.check 擬合 gam 模型的一些診斷
- R gam.reparam 尋找平方根懲罰的穩定正交重新參數化。
- R gam.fit3 使用 GCV、UBRE/AIC 或 RE/ML 導數計算進行 P-IRLS GAM 估計
- R gam.fit5.post.proc gam.fit5 的後處理輸出
- R gam.fit GAM P-IRLS 估計與 GCV/UBRE 平滑度估計
- R gam.mh 具有 gam 擬合的簡單後驗模擬
- R gam.control 設置 GAM 擬合默認值
- R gam.outer 使用“外部”迭代最小化 GAM 的 GCV 或 UBRE 分數
- R gam.vcomp 將 gam 平滑度估計報告為方差分量
- R gam.models 指定廣義加性模型
- R gamm 廣義加性混合模型
- R gamlss.gH 計算回歸係數的對數似然導數
- R gam 具有集成平滑度估計的廣義加性模型
- R gam2objective GAM 平滑參數估計的目標函數
- R gamlss.etamu 將 mu 的導數轉換為線性預測器的導數
- R gammals 伽瑪位置比例模型係列
- R gamSim 模擬 GAM 的示例數據
- R gaulss 高斯位置尺度模型族
- R gfam 分組家庭
- R gumbls Gumbel 位置比例模型族
- R gevlss 廣義極值位置比例模型族
- R ginla GAM 集成嵌套拉普拉斯逼近牛頓增強
- R get.var 從列表或 data.frame 中獲取命名變量或計算表達式
- R vcov.gam 從 GAM 擬合中提取參數(估計器)協方差矩陣
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Identifiability side conditions for a GAM。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。