请教如何用R语言实现kupiec test

Python018

请教如何用R语言实现kupiec test,第1张

当你写的SQL在测试环境只有10条数据的时候能够立刻查出结果,在100W条数据的生产环境呢,跑1天都不一定有结果。

数据库和所有东西一样,是一种资源,需要细心优化才能发挥性能。

RDS也就是通过SQL分析,给出SQL执行的优化建议。

关于Kupiec的检验方法,可以使用R进行了重新编程作图检验,参考代码如下:n <- 984m <- seq(from=1, to=150, length=150)p <- .05 # 例外发生的概率conf <- .95 # chi^2 分布的置信水平LR=-2*log(((1-p)^(n-m) )* (p^m))+2*log(((1-(m/n))^(n-m))*((m/n)^m))critical_value <- qchisq(conf, 1)plot(m,LR, type='l', col='blue', lwd=2, main='Kupiec Test (1995)', xlab='出现风险的次数m')abline(h=critical_value, col='red', lwd=3)LR_C <- which(LR<=critical_value)abline(v=c(LR_C[1],LR_C[length(LR_C)]), lty='dashed') LR_C其中的n就是回顾测试的历史数据总数;m是这些数据中超过VaR的天数,这里的critical_value就是chi^2的临界值。最后的LR_C输出的是满足VaR回测要求的m的所有可能取值。