0

我无法根据 ERGM 模型的预测概率估计标准误差来计算置信区间。获得预测概率不是问题,但我想了解预测周围的不确定性。

下面是一个基于文艺复兴时期佛罗伦萨家庭婚姻和商业关系数据集的可复制示例。

library(statnet)
data(flo)
flomarriage <- network(flo,directed=FALSE)
flomarriage

flomarriage %v% "wealth" <- c(10,36,27,146,55,44,20,8,42,103,48,49,10,48,32,3)
flomarriage
gest <- ergm(flomarriage ~ edges + 
               absdiff("wealth"))
summary(gest)

plogis(coef(gest)[['edges']] + coef(gest)[['absdiff.wealth']]*10)

根据该模型,估计 10 的财富差异对应于 0.182511 的平局概率。我的第一个问题是,这是一个正确的解释吗?我的第二个问题是,如何计算这个概率的标准误?

4

1 回答 1

0

这是对像这样的二元独立模型的正确解释。对于二元依赖模型,这将是给定网络其余部分的条件概率。

您可以通过将最后一行重写为权重向量和系数向量的点积来获得对标度预测的标准误差:

eta <- sum(c(1,10)*coef(gest))
plogis(eta)

然后,因为vcov(gest)是参数估计的协方差矩阵,并使用方差公式(例如, http: //www.stat.cmu.edu/~larry/=stat401/lecture-13.pdf),

(var.eta <- c(1,10)%*%vcov(gest)%*%c(1,10))

然后,您可以使用 Delta 方法(例如,https ://blog.methodsconsultants.com/posts/delta-method-standard-errors/)获得预测概率的方差(和标准误差)。但是,除非您需要标准误差,而不是置信区间,否则我的建议是首先计算 eta 的区间(即eta + qnorm(c(0.025,0.0975))*sqrt(var.eta)),然后调用plogis()端点。

于 2021-03-25T03:50:08.187 回答