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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
