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


R formula.gam GAM公式


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

說明

gam 公式的說明(請參閱詳細信息),以及如何從擬合的 gam 對象中提取它。

用法

## S3 method for class 'gam'
formula(x,...)

參數

x

gam() 生成的 gam 類擬合模型對象(請參閱 gamObject )。

...

在本例中為un-used

細節

gam 將接受一個公式,或者對於某些係列,接受一個公式列表。其他 mgcv 建模函數不接受列表。列表形式提供了一種指定多個線性預測變量的機製,並允許它們共享術語:見下文。

提供給 gam 的公式與提供給 glm 的公式完全相同,隻是平滑項 stetit2 可以添加到右側(並且 .gam 公式不支持)。

平滑項由以下形式的表達式指定:
s(x1,x2,...,k=12,fx=FALSE,bs="tp",by=z,id=1)
其中x1,x2等是平滑函數的協變量,並且k是用於表示平滑項的基的維數。如果k未指定則使用基礎特定默認值。請注意,這些默認值本質上是任意的,重要的是要檢查它們是否太小而導致過度平滑(太大隻會減慢計算速度)。有時,建模上下文會建議合理的值k,但如果不是非正式檢查很容易:參見choose.kgam.check.

fx 用於指示該術語是否應該不受懲罰,因此具有由 k 設置的固定數量的自由度(幾乎總是 k-1 )。 bs 表示平滑使用的基礎:內置選項在 smooth.terms 中說明,並且可以添加用戶定義的平滑(請參見 user.defined.smooth )。如果未提供bs,則使用默認的"tp" (tprs) 基礎。 by 可用於指定平滑度應乘以的變量。例如gam(y~s(x,by=z)) 將指定模型 ,其中 是平滑函數。 by 選項對於每個因子水平需要同一變量的不同函數的模型以及“變化係數模型”特別有用:請參閱 gam.modelsid 用於給出平滑恒等式:具有相同恒等式的平滑具有相同的基礎、懲罰和平滑參數(但係數不同,因此它們是不同的函數)。

指定多個協變量的平滑的另一種替代方法是:
te(x,z,bs=c("tp","tp"),m=c(2,3),k=c(5,10))
這將指定兩個協變量的張量積平滑xz由邊際 t.p.r.s. 構建5 維和 10 維的基,邊際懲罰為 2 和 3 階。基類型的任何組合都是可能的,協變量的數量也是如此。te提供更多信息。ti術語是一種變體,設計用於當存在主效應(以及任何低階交互作用)時用作交互項。t2生成張量積平滑,它是平滑樣條方差分析模型的自然低階模擬。

stetit2 項接受所提供平滑參數的 sp 參數:正值被視為要使用的固定值,負值表示應估計參數。如果提供了 sp ,則它會覆蓋 gamsp 參數中的任何內容,如果未提供,則默認為全部負數,但不會覆蓋 gamsp 參數 .

公式可以涉及嵌套或“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) 的示例,其中 XZL 是 n × m 矩陣。令 F 為 n × m 矩陣,該矩陣是通過評估 XZ 中的值的平滑度而得到的。那麽該項對線性預測器的貢獻將為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

也可以看看

gam

相關用法


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