如何在R中使用locfit绘制90%置信区间带

3

本文摘自https://stats.stackexchange.com/questions/16811/how-to-plot-90-confidence-bands-with-locfit-in-r.

我在R中使用locfit包进行局部逻辑回归,并使用其scb函数绘制同时置信区间带。然而,我发现没有办法请求90%的置信区间带,而不是标准的95%。我检查了这些函数本身,但我没有看到可以突破这些函数的地方。

为什么会有这种限制?有什么办法解决这个问题吗?

我的代码大致如下:

fit2<-scb(closed_rule ~ bl,deg=1,type=4,xlim=c(0,1),ev=lfgrid(100), family='binomial',data=data,alpha=cbind(0,0.3))

1
我只是匆匆看了一眼scb代码,但似乎95%置信区间是作者在函数中编写的唯一选项。为什么?可能因为他们认为这不是一个重要的功能。你的选择?自己编写或使用其他本地回归工具。 - joran
@joran:我明白。尽管从函数本身的源代码中,我仍然不清楚需要更改什么才能实现目标... - László
1个回答

2
您可以指定CI的方法有点奇怪,但是只要您知道如何操作,就可以轻松完成。
请参见函数crit<-,其帮助页面使用以下示例说明了其用法。
library(locfit)
data(ethanol)
fit <- locfit(NOx~E,data=ethanol)
crit(fit) <- crit(fit,cov=0.99)
plot(fit,band="local")

谢谢,Josh。这听起来比我之前的尝试(对scb对象的naive crit()应用导致R崩溃)要好得多。但是,我看不出这是否适用于scb。那不是单个locfit对象。而且当我查看源代码时,也不容易找到我可以尝试黑客攻击的locfit调用。有什么可以做的吗? - László
2
嗨,László。看起来比我想象的要复杂。scb()使用公式调用locfit(),后者又默认调用locfit.raw()(作为其lfproc=参数的默认值)。在locfit.raw()中,关键计算由编译的C函数执行(.C("slocfit", ...)),下限和上限通过Z$L返回。因此(不深入挖掘),看起来您可能需要更改C代码以获得不同的置信区间(在此软件包中)。祝你好运! - Josh O'Brien

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接