2

为了实现空间分析,我在 R 的 mgcv 包中的一个示例中尝试了一个简单的马尔可夫随机场平滑器,手册在这里:

https://stat.ethz.ch/R-manual/R-devel/library/mgcv/html/smooth.construct.mrf.smooth.spec.html

这是我试过的例子:

library(mgcv)
data(columb)         ## data frame
data(columb.polys)   ## district shapes list
xt <- list(polys=columb.polys) ## neighbourhood structure info for MRF
b <- gam(crime ~ s(district,bs="mrf",xt=xt),data=columb,method="REML")

但是,当我查看 b$coefficients 中的估计系数时,马尔可夫随机场平滑器有 48 个估计值:

> b$coefficients 
(Intercept)  s(district).1  s(district).2  s(district).3  s(district).4 
35.12882390   -10.96490165    20.99250496    16.04968951    10.49535483 
 s(district).5  s(district).6  s(district).7  s(district).8  s(district).9
16.56626217    14.55352540    17.90043996    -0.60239588    13.41215603 
s(district).10 s(district).11 s(district).12 s(district).13 s(district).14 
   18.61920671   -11.13853418    -2.95677338     7.89719220     3.04717540 
s(district).15 s(district).16 s(district).17 s(district).18 s(district).19 
  -11.18235328    12.57473374    19.83013619    10.56130003    12.36240748 
s(district).20 s(district).21 s(district).22 s(district).23 s(district).24 
   15.65160761    20.40965885    24.79853590     0.05312873   -14.65881026 
s(district).25 s(district).26 s(district).27 s(district).28 s(district).29 
  -13.01294201     7.16191556    -9.36311304     3.65410713   -16.37092777 
s(district).30 s(district).31 s(district).32 s(district).33 s(district).34 
   11.23500771    13.92036006   -14.67653893   -12.39341674    11.02216471 
s(district).35 s(district).36 s(district).37 s(district).38 s(district).39 
  -12.93210046   -15.48924425     3.42745125    -2.54916472    -1.90604972 
s(district).40 s(district).41 s(district).42 s(district).43 s(district).44 
  -16.25160966    -7.46491914    -4.48126353    -7.61064264    -2.91807488 
s(district).45 s(district).46 s(district).47 s(district).48 
  -12.12765102     6.68446503     2.55883220    -0.20920888 

但是,区域形状列表显示 49 个区域(从 0 到 48)。当我尝试我的数据时,同样的情况发生了,因为包含 28 个区域的数据仅从马尔可夫随机场平滑器中产生了 27 个估计值。

我的理解是,作为空间函数的马尔可夫随机场可以看作是一种结构化的随机效应;然而,R 中 mgcv 包中的马尔可夫随机场平滑器似乎自动将第一个区域设置为参考水平。我想知道它是否就像一个固定效应但在考虑空间自相关的情况下?

如果是这样,一个扩展的问题是如何解释这样的输出?我觉得很奇怪,空间估计可以解释为每个区域与参考区域之间的差异,但这种解释并没有太大意义。

我在想我们是否可以像 R 中的随机效应一样拟合马尔可夫随机场。希望熟悉这个包的任何人都可以提供一些建议。谢谢!

4

1 回答 1

0

多元高斯平滑中的系数不是也不应该被解释为单独应用于每个协变量的系数s是一个函数。它们描述了协变量之间的相关关系;相关性由许多系数描述,这些系数由R 函数k中的参数设置。s

默认情况下,s设置k为其最大值n-1k不能大于n-1,其中n协变量的数量s作为截距是设置平均水平所必需的,平滑函数会有所不同,并且拟合参数的总数不得大于“数据”的大小。

有关详细信息,请查看mgcv 帮助文件choose.k中的段落。

如果您对直接适用于您的每个地区的东西感兴趣,您应该检查平滑函数预测的值。以下gamObject帮助由fitted.values项目提供。

我在这里得到:

   > b$fitted.values
   [1] 18.81758 22.12502 30.13315 33.14305 44.11208 30.17184 20.96227 39.77438
   [9] 35.64875 32.88071 54.08242 49.13961 43.58527 49.65618 47.64344 50.99036
   [17] 32.48752 46.50207 51.70913 21.95138 40.98711 36.13709 21.90757 45.66465
   [25] 52.92006 43.65122 45.45233 48.74153 53.49958 57.88845 18.43111 20.07698
   [33] 40.25183 23.72681 36.74403 16.71899 44.32493 47.01028 18.41338 20.69650
   [41] 20.15782 17.60067 36.51737 30.54075 31.18387 16.83831 25.62500 28.60866
   [49] 25.47928

允许可视化拟合的结果plot(b),看起来不错,并且观察到的和估计的对应关系似乎是合理的:plot(columb$crime,b$fitted.values)

于 2015-03-21T00:18:38.823 回答