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

标签 r statistics regression

我有一个数据集的散点图,我对计算数据的上限感兴趣。我不知道这是否是一种标准的统计方法,所以我正在考虑将 X 轴数据分成小范围,计算这些范围的最大值,然后尝试确定一个函数来描述这些点。 R中是否已经有一个函数可以做到这一点?

如果相关,则有 92611 点。

最佳答案

您可能想研究 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)

接下来,将模型拟合到第 99 个百分位数(或 0.99 分位数):
mod <- rq(Y ~ log(X), data = DF, tau = .99)

为了生成“拟合线”,我们从模型中预测 X 中的 100 个等距值
pDF <- data.frame(X = seq(1, 5000, length = 100))
pDF <- within(pDF, Y <- predict(mod, newdata = pDF))

并将拟合模型添加到图中:
lines(Y ~ X, data = pDF, col = "red", lwd = 2)

这应该给你这个:

关于r - 关于计算描述数据上限的函数的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4594370/

相关文章:

r - 从带有噪声的高维球体中采样

r - R 中的 grep 帮助

r - For Next 循环 - 接收错误

python - 为什么决定系数 R² 的实现会产生不同的结果?

python - 检验零假设回归系数等于 statsmodels OLS 中的非零值

neural-network - 回归咖啡的测试标签,不允许 float ?

r - Devtools 文档抛出错误

r - R 中的正态性检验给出奇怪的结果?

statistics - 如何从 bittorrent swarm 中收集统计信息?

Python 逻辑回归产生错误的系数