【问题标题】:How to calculate the standard errors of ERGM predicted probabilities?如何计算 ERGM 预测概率的标准误?
【发布时间】:2021-03-10 16:06:54
【问题描述】:

我无法根据 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 的概率平局。我的第一个问题是,这是一个正确的解释吗?我的第二个问题是,如何计算这个概率的标准误?

【问题讨论】:

    标签: standard-error statnet


    【解决方案1】:

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

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

    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()

    【讨论】:

    • 这真是太棒了,正是我所需要的。谢谢!
    • @ChristopheLesschaeve ,在这种情况下,能否麻烦您将答案标记为已接受? (见stackoverflow.com/help/someone-answers。)
    猜你喜欢
    • 1970-01-01
    • 2011-02-15
    • 2021-05-31
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    • 2014-04-08
    • 2016-05-23
    相关资源
    最近更新 更多