smooth.construct.mrf.smooth.spec
位於 mgcv
包(package)。 說明
對於在離散空間單元上觀察到的數據,簡單的馬爾可夫隨機場平滑器有時是合適的。這些函數為 mgcv
提供了一個更平滑的類。有關如何處理缺失數據的區域,請參閱詳細信息。
用法
## S3 method for class 'mrf.smooth.spec'
smooth.construct(object, data, knots)
## S3 method for class 'mrf.smooth'
Predict.matrix(object, data)
參數
object |
對於 |
data |
僅包含該術語所需的數據(包括任何 |
knots |
如果地理區域多於觀察到的數據,則此參數用於提供所有區域(觀察到的和未觀察到的)的標簽。 |
細節
使用一組區域標簽和區域的鄰域結構來定義一組離散區域上的馬爾可夫隨機場平滑。平滑的協變量是與每個觀察值相對應的區域標簽的向量。該協變量應該是一個因子,或者能夠被強製為一個因子。
鄰域結構在 xt
參數中提供給 s
。這必須至少包含元素 polys
、 nb
或 penalty
之一。
- 多聚體
-
包含定義地理區域的多邊形。它是一個包含與地理區域一樣多的元素的列表。
names(polys)
必須以任何順序對應於平滑參數的級別(即,它給出區域標簽)。polys[[i]]
是一個 2 列矩陣,其行指定定義第 i 個區域邊界的多邊形的頂點。邊界可以由多個閉環組成:這些閉環必須由NA
行分隔。另一個多邊形內的多邊形被視為孔。任何polys[[i]]
中的第一個多邊形不應是洞。columb.polys
提供了該結構的示例(出於說明目的,其第二個元素中包含一個人造孔)。任何具有重複名稱的列表元素都會組合成一個 NA 分隔的矩陣。如果沒有
polys
對象,則無法繪製平滑圖。如果
polys
是提供的xt
的唯一元素,則自動計算鄰域結構。要算作鄰居,多邊形必須完全共享多個頂點之一。 - NB
-
是定義鄰域結構的命名列表。
names(nb)
必須對應於平滑協變量的級別(即區域標簽),但可以按任何順序。nb[[i]]
是一個數字向量,索引第 i 個區域的鄰居(並且不應包括i
)。所有索引均相對於nb
本身,但可以使用names(nb)
進行轉換。請參閱示例代碼。作為替代方案,每個nb[[i]]
可以是鄰居名稱的數組,但這些將在內部轉換為數字索引數組。如果未提供
penalty
,則會從此列表中自動計算。懲罰矩陣的第 i 行在任何地方都為零,除了第 i 列(其中包含第 i 個地理區域的鄰居數量)以及與這些地理鄰居對應的列(每個列包含 -1)。 - 懲罰
-
如果提供,則將其用作懲罰矩陣。它應該是半正定的。其行和列名稱應與協變量的級別相對應。
如果未提供基本維度,則構造函數會生成滿秩 MRF,其中包含每個地理區域的係數。否則,根據 Wood (2017) 第 5.4.2 節中給出的參數化截斷,獲得低秩近似。參見 Wood(2017 年,第 5.8.1 節)。
請注意,此類的平滑具有內置繪圖方法,並且實用函數 in.out
對於處理離散區域數據非常有用。繪圖方法有兩種方案,scheme==0
是彩色,scheme==1
是灰度。
對於有區域沒有數據的情況需要特殊處理。您應該在模型擬合函數中設置 drop.unused.levels=FALSE
gam
、 bam
或 gamm
,首先確保任何固定效應因子不包含未觀察到的水平。還要確保設置基本維度以確保係數總數小於觀測值數量。
值
類 "mrf.smooth"
的對象或將 MRF 係數平滑映射到 data
中列出的區域的預測的矩陣。
例子
library(mgcv)
## Load Columbus Ohio crime data (see ?columbus for details and credits)
data(columb) ## data frame
data(columb.polys) ## district shapes list
xt <- list(polys=columb.polys) ## neighbourhood structure info for MRF
par(mfrow=c(2,2))
## First a full rank MRF...
b <- gam(crime ~ s(district,bs="mrf",xt=xt),data=columb,method="REML")
plot(b,scheme=1)
## Compare to reduced rank version...
b <- gam(crime ~ s(district,bs="mrf",k=20,xt=xt),data=columb,method="REML")
plot(b,scheme=1)
## An important covariate added...
b <- gam(crime ~ s(district,bs="mrf",k=20,xt=xt)+s(income),
data=columb,method="REML")
plot(b,scheme=c(0,1))
## plot fitted values by district
par(mfrow=c(1,1))
fv <- fitted(b)
names(fv) <- as.character(columb$district)
polys.plot(columb.polys,fv)
## Examine an example neighbourhood list - this one auto-generated from
## 'polys' above.
nb <- b$smooth[[1]]$xt$nb
head(nb)
names(nb) ## these have to match the factor levels of the smooth
## look at the indices of the neighbours of the first entry,
## named '0'...
nb[['0']] ## by name
nb[[1]] ## same by index
## ... and get the names of these neighbours from their indices...
names(nb)[nb[['0']]]
b1 <- gam(crime ~ s(district,bs="mrf",k=20,xt=list(nb=nb))+s(income),
data=columb,method="REML")
b1 ## fit unchanged
plot(b1) ## but now there is no information with which to plot the mrf
作者
Simon N. Wood simon.wood@r-project.org and Thomas Kneib (Fabian Scheipl prototyped the low rank MRF idea)
參考
Wood S.N. (2017) Generalized additive models: an introduction with R (2nd edition). CRC.
也可以看看
相關用法
- R smooth.construct.cr.smooth.spec GAM 中的懲罰三次回歸樣條
- R smooth.construct.bs.smooth.spec GAM 中的懲罰 B 樣條
- R smooth.construct.sz.smooth.spec GAM 中的約束因子平滑交互
- R smooth.construct.re.smooth.spec GAM 中的簡單隨機效應
- R smooth.construct.gp.smooth.spec 低階高斯過程平滑
- R smooth.construct.tp.smooth.spec GAM 中的懲罰薄板回歸樣條
- R smooth.construct.ad.smooth.spec GAM 中的自適應平滑
- R smooth.construct.so.smooth.spec 皂膜平滑劑
- R smooth.construct.ds.smooth.spec 低階 Duchon 1977 樣條
- R smooth.construct.fs.smooth.spec GAM 中平滑交互的因子
- R smooth.construct.ps.smooth.spec GAM 中的 P 樣條
- R smooth.construct.sos.smooth.spec 球體上的樣條線
- R smooth.construct.tensor.smooth.spec 張量積平滑構造函數
- R smooth.construct.t2.smooth.spec 張量積平滑構造函數
- R smooth.construct GAM 中平滑項的構造函數
- R smooth.info 提供有關平滑規範的額外信息的通用函數
- R smooth.terms GAM 中的平滑術語
- R smooth2random 將平滑轉換為適合估計隨機效應的形式
- R smoothCon GAM 平滑項的預測/構造包裝函數
- R scat 用於重尾數據的 GAM 縮放 t 係列
- R slanczos 計算對稱矩陣的截斷特征分解
- R single.index 具有 mgcv 的單指數模型
- R sp.vcov 從 (RE)ML GAM 擬合中提取平滑參數估計器協方差矩陣
- R shash Sinh-arcsinh 位置比例和形狀模型族
- R s 在 GAM 公式中定義平滑
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Markov Random Field Smooths。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。