【问题标题】:glm: how can you compute logLik on new data?glm:你如何计算新数据的 logLik?
【发布时间】:2019-10-21 18:54:05
【问题描述】:

我在 R 中使用 glm 应用逻辑回归如下:

 model <- glm(y ~ x, family=binomial(link='logit'), data=training_data)

现在我想计算在给定model 的情况下观察我的测试数据的对数似然,这样我可以看看它是否比其他模型做得更好。

logLik 计算给定模型观察训练数据的对数似然——这正是模型拟合期间最大化的参数。但是如何获得给定模型观察测试数据的对数似然?

【问题讨论】:

    标签: r glm


    【解决方案1】:
    prob=predict(model, newdata=..., type="response")
    

    如果您这样做:?predict.glm,您将能够看到如何为适当的值指定类型参数。

    而且,感谢 Ben Bolker 的评论 - 完成答案:sum(log(prob*resp + (1-prob)*(1-resp)))

    【讨论】:

    • 我不明白这是如何回答这个问题的。让我们让它可重现:m = glm(mpg ~ hp, data = mtcars[1:20, ])。我可以做predict(m, data = mtcars[21:32, ], type = "response") 来获得对其余数据集的预测,但它没有给出对数可能性。并且?predict.glm 帮助页面上没有使用短语“log可能性”。
    • 从这些概率开始,计算log(prob*resp + (1-prob)*(1-resp))
    猜你喜欢
    • 2021-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多