formula.gam
位於 mgcv
包(package)。 說明
gam
公式的說明(請參閱詳細信息),以及如何從擬合的 gam
對象中提取它。
用法
## S3 method for class 'gam'
formula(x,...)
參數
x |
由 |
... |
在本例中為un-used |
細節
gam
將接受一個公式,或者對於某些係列,接受一個公式列表。其他 mgcv
建模函數不接受列表。列表形式提供了一種指定多個線性預測變量的機製,並允許它們共享術語:見下文。
提供給 gam
的公式與提供給 glm
的公式完全相同,隻是平滑項 s
、 te
、 ti
和 t2
可以添加到右側(並且 .
是gam
公式不支持)。
平滑項由以下形式的表達式指定:
s(x1,x2,...,k=12,fx=FALSE,bs="tp",by=z,id=1)
其中x1
,x2
等是平滑函數的協變量,並且k
是用於表示平滑項的基的維數。如果k
未指定則使用基礎特定默認值。請注意,這些默認值本質上是任意的,重要的是要檢查它們是否太小而導致過度平滑(太大隻會減慢計算速度)。有時,建模上下文會建議合理的值k
,但如果不是非正式檢查很容易:參見choose.k
和gam.check
.
fx
用於指示該術語是否應該不受懲罰,因此具有由 k
設置的固定數量的自由度(幾乎總是 k-1
)。 bs
表示平滑使用的基礎:內置選項在 smooth.terms
中說明,並且可以添加用戶定義的平滑(請參見 user.defined.smooth
)。如果未提供bs
,則使用默認的"tp"
(tprs
) 基礎。 by
可用於指定平滑度應乘以的變量。例如gam(y~s(x,by=z))
將指定模型 ,其中 是平滑函數。 by
選項對於每個因子水平需要同一變量的不同函數的模型以及“變化係數模型”特別有用:請參閱 gam.models
。 id
用於給出平滑恒等式:具有相同恒等式的平滑具有相同的基礎、懲罰和平滑參數(但係數不同,因此它們是不同的函數)。
指定多個協變量的平滑的另一種替代方法是:
te(x,z,bs=c("tp","tp"),m=c(2,3),k=c(5,10))
這將指定兩個協變量的張量積平滑x
和z
由邊際 t.p.r.s. 構建5 維和 10 維的基,邊際懲罰為 2 和 3 階。基類型的任何組合都是可能的,協變量的數量也是如此。te
提供更多信息。ti
術語是一種變體,設計用於當存在主效應(以及任何低階交互作用)時用作交互項。t2
生成張量積平滑,它是平滑樣條方差分析模型的自然低階模擬。
s
、 te
、 ti
和 t2
項接受所提供平滑參數的 sp
參數:正值被視為要使用的固定值,負值表示應估計參數。如果提供了 sp
,則它會覆蓋 gam
的 sp
參數中的任何內容,如果未提供,則默認為全部負數,但不會覆蓋 gam
的 sp
參數 .
公式可以涉及嵌套或“overlapping”術語,例如
y~s(x)+s(z)+s(x,z)
或者y~s(x,z)+s(z,v)
但嵌套模型確實應該使用來設置ti
條款:參見gam.side
了解更多詳細信息和示例。
gam
公式中的平滑項將接受矩陣參數作為協變量(以及相應的 by
變量),在這種情況下將調用“求和約定”。考慮 s(X,Z,by=L)
的示例,其中 X
、 Z
和 L
是 n × m 矩陣。令 F
為 n × m 矩陣,該矩陣是通過評估 X
和 Z
中的值的平滑度而得到的。那麽該項對線性預測器的貢獻將為rowSums(F*L)
(注意逐元素乘法)。此約定允許 GAM 的線性預測器依賴於(離散近似)平滑的任何線性函數:有關更多信息和示例(包括函數線性模型/信號回歸),請參閱linear.functional.terms
。
請注意,gam
允許通過 paraPen
參數對模型公式中的任何項進行懲罰(可能是多重懲罰)。有關詳細信息和示例代碼,請參閱gam.models
。
當列表中提供多個公式時,它們可用於為有意義的族指定多個線性預測變量(例如 mvn
)。列表中的第一個公式必須包含響應變量,但後麵的公式不需要(取決於家庭的要求)。對線性預測變量進行索引,從 1 到 d,其中 d 是線性預測變量的數量,索引按照公式在列表中出現的順序排列。可以提供額外的公式來指定幾個線性預測變量應該共享一些項。為此,提供了一個公式,其中將響應替換為指定線性預測變量索引的數字,該預測變量將分解 r.h.s. 上指定的項。例如,1+3~s(x)+z-1
指定線性預測器 1 和 3 將共享術語 s(x)
和 z
(但我們不想要額外的截距,因為這通常無法識別)。請注意,線性預測器可能僅包含共享項:它仍然必須有自己的公式,但 r.h.s.隻是 -1
(例如 y ~ -1
或 ~ -1
)。有關示例,請參閱multinom
。
值
返回模型公式 x$formula
。提供以便 anova
方法打印模型的適當說明。
警告
gam
公式不應引用變量,例如dat[["x"]]
。
作者
Simon N. Wood simon.wood@r-project.org
也可以看看
相關用法
- R formXtViX GAMM 協方差矩陣的形式分量
- R factor.smooth GAM 中平滑交互的因子
- R fs.test FELSPLINE 測試函數
- R full.score 用於 nlm 內的 GCV/UBRE 分數
- R fix.family.link 修改族以用於 GAM 擬合和檢查
- R fixDependence 檢測一個矩陣與另一個矩陣的線性相關性
- 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-devel大神的英文原創作品 GAM formula。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。