gpt4 book ai didi

R 如何获得多项 logit 的置信区间?

转载 作者:行者123 更新时间:2023-12-03 20:24:11 25 4
gpt4 key购买 nike

让我使用 UCLA 的多项 logit 示例作为运行示例---

library(nnet)
library(foreign)

ml <- read.dta("http://www.ats.ucla.edu/stat/data/hsbdemo.dta")
ml$prog2 <- relevel(ml$prog, ref = "academic")
test <- multinom(prog2 ~ ses + write, data = ml)

dses <- data.frame(ses = c("low", "middle", "high"), write = mean(ml$write))
predict(test, newdata = dses, "probs")
我想知道如何获得 95% 的置信区间?

最佳答案

这可以通过 effects 来完成。包,我在交叉验证 here 上为另一个问题展示了它.

让我们看看你的例子。

library(nnet)
library(foreign)

ml <- read.dta("http://www.ats.ucla.edu/stat/data/hsbdemo.dta")
ml$prog2 <- relevel(ml$prog, ref = "academic")
test <- multinom(prog2 ~ ses + write, data = ml)

而不是使用 predict()来自 base ,我们使用 Effect()来自 effects
require(effects)

fit.eff <- Effect("ses", test, given.values = c("write" = mean(ml$write)))

data.frame(fit.eff$prob, fit.eff$lower.prob, fit.eff$upper.prob)

prob.academic prob.general prob.vocation L.prob.academic L.prob.general L.prob.vocation U.prob.academic
1 0.4396845 0.3581917 0.2021238 0.2967292 0.23102295 0.10891758 0.5933996
2 0.4777488 0.2283353 0.2939159 0.3721163 0.15192359 0.20553211 0.5854098
3 0.7009007 0.1784939 0.1206054 0.5576661 0.09543391 0.05495437 0.8132831
U.prob.general U.prob.vocation
1 0.5090244 0.3442749
2 0.3283014 0.4011175
3 0.3091388 0.2444031

如果我们愿意,我们还可以使用 effects 中的工具绘制预测概率及其各自的置信区间。 .
plot(fit.eff)

Imgur

关于R 如何获得多项 logit 的置信区间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19847368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com