R 如何确定模型的置信区间何时达到某个值?

R 如何确定模型的置信区间何时达到某个值?,r,R,我工作的公司在让人们回家之前有特定的新冠病毒感染率目标。其中一个目标是每单位人口每日新增感染人数低于10/10万。我如何确定上下置信区间何时达到该目标?请参见带有红色批注的图像 现在,两条垂直线是手动输入的,但我希望它们自动添加到上下置信区间的交点处 数据:(图中2021年1月21日后过滤) 代码示例(来自) casesdeathsbylocation%%>%过滤器(日期>截止日期(“2021-01-21”))%%>% ggplot+aes(x=日期,y=案例100K)+几何点()+几何平滑(

我工作的公司在让人们回家之前有特定的新冠病毒感染率目标。其中一个目标是每单位人口每日新增感染人数低于10/10万。我如何确定上下置信区间何时达到该目标?请参见带有红色批注的图像

现在,两条垂直线是手动输入的,但我希望它们自动添加到上下置信区间的交点处

数据:(图中2021年1月21日后过滤)

代码示例(来自)

casesdeathsbylocation%%>%过滤器(日期>截止日期(“2021-01-21”))%%>%
ggplot+aes(x=日期,y=案例100K)+几何点()+几何平滑(method=“lm”,fullrange=TRUE)+
刻度连续(极限=c(-50100),中断=seq(0100,10))+
缩放日期(间隔=“2周”,日期标签=“%b%d”,限制=截止日期(c(“2021-01-21”,“2021-04-07”))+
实验室(x=“日期”,y=“每10万人口病例”,title=“南卡罗来纳州病例”,subtitle=“每10万病例”)+
geom_hline(yintercept=10,lty=2)+
geom_hline(yintercept=5,lty=3)+
geom_hline(yintercept=0,lty=1)+
地理线(xintercept=截止日期(“2021-03-09”),lty=2)+地理线(xintercept=截止日期(“2021-04-02”),lty=2)

您可以通过创建指定置信限的倒数的线性近似值(在本例中,它是线性的!)并使用它来插值直线达到指定阈值的值来完成此操作

请注意,这里我们将x近似为y的函数(例如,日期是较低CI的函数):

find_value%选择(日期、.lower、.upper)
##插值以查找与目标值(10)对应的日期
##应该使用cross(),但我无法让它工作
%>%总结(lwr=查找值(日期,.更低),
upr=查找_值(日期,上限))
##转换为ggplot的有用数据框
%>%pivot_longer(cols=everything(),name_to=“limit”,value_to=“date”)
)
现在,您有了一个
lims
数据框,可以用于任何您想要的内容。在打印上下文中使用它:

(ggplot(cdbl)
+aes(x=日期,y=案例100K)
+几何点()
+扩大限额(x=最大值(cdbl$日期+20))
+geom_平滑(方法=“lm”,满量程=真)
+刻度连续(极限=c(-50100),中断=seq(0100,10))
+缩放日期(间隔=“2周”,日期标签=“%b%d”)
+geom_hline(yintercept=10,lty=2)
+geom_vline(数据=lims,aes(xintercept=日期),lty=2)
)


正如评论中所指出的,如果你使用更复杂的预测方法,你将得到更可靠的答案。只要您得到由
augment
返回的置信区间,这里的代码就可以工作。

这取决于您如何计算CI。如果使用拟合函数在
ggplot
中生成CI,那么这将相对困难。如果在将结果输入到
ggplot
之前计算模型拟合并从外部导出CI,那么它应该非常简单。无论如何,我们都需要查看您的代码。在内部,ggplot2可能使用
lm
predict.lm
创建置信区间。(或者它可能是
mgcv::gam
stats::leash
,但这不会改变一般方法。您不会显示任何代码。)您可以在ggplot2之外拟合模型,然后使用
uniroot
predict
查找对应于特定y值的x值。在原始问题中添加了代码和源代码。我已经查看了您的全部数据。注意,因为你的系列有7天的季节性,这会影响你的信心区间。签出:
绘图(stl(ts(casesdeathsbylocation$casesper100k,频率=7),s.window=“periodic”)
。你可以尝试使用slt模型,但是为了得到正确的预测,你应该使用流行病学模型……感谢你的洞察力。一般来说,我没有时间序列方面的经验。然而,我知道,如果每天感染率低于10/100k,管理层只会对返回工作的人扣动扳机,而不管是否有周期性。