关于计算描述数据上限的函数的建议

djq*_*djq 4 statistics regression r

我有一个数据集的散点图,我有兴趣计算数据的上限.我不知道这是否是一种标准的统计方法,所以我正在考虑的是将X轴数据分成小范围,计算这些范围的最大值,然后尝试识别描述这些点的函数.R中是否已有功能执行此操作?

若相关则有92611分.

替代文字

Rei*_*son 10

您可能希望查看quantle回归,它可以在quantreg包中找到.这是否有用将取决于您是否希望"窗口"中的绝对最大值是否可以接受某些极端分位数(例如第95或第99)?如果您不熟悉分位数回归,那么请考虑线性回归,该回归适合期望或平均响应的模型,条件是模型协变量.中间分位数(0.5)的分位数回归将拟合中值响应的模型,条件是模型协变量.

这是一个使用quantreg包的例子,向您展示我的意思.首先,生成一些类似于您显示的数据的虚拟数据:

set.seed(1)
N <- 5000
DF <- data.frame(Y = rev(sort(rlnorm(N, -0.9))) + rnorm(N),
                 X = seq_len(N))
plot(Y ~ X, data = DF)
Run Code Online (Sandbox Code Playgroud)

接下来,将模型拟合到第99百分位数(或0.99分位数):

mod <- rq(Y ~ log(X), data = DF, tau = .99)
Run Code Online (Sandbox Code Playgroud)

为了生成"拟合线",我们从模型中预测出100个等距值 X

pDF <- data.frame(X = seq(1, 5000, length = 100))
pDF <- within(pDF, Y <- predict(mod, newdata = pDF))
Run Code Online (Sandbox Code Playgroud)

并将拟合的模型添加到图中:

lines(Y ~ X, data = pDF, col = "red", lwd = 2)
Run Code Online (Sandbox Code Playgroud)

这应该给你这个:

分位数回归输出