我有一个类似的数据集,
x <- sample(55:100,200,replace = T)
head(x)
# [1] 67 95 97 91 98 81
我需要找出这个特定数据的收敛点,类似于梯度下降曲线。为此,我尝试了以下操作,
x_mean <- c()
for (i in 1:length(x)) {
x_mean[i] <- mean(x[1:i])
}
mean_diff <- c()
for (i in 2:length(x_mean)) {
mean_diff[i-1]=(x_mean[i] - x_mean[i-1])^2
}
x2 <-seq(1,length(mean_diff),1)
lo <- loess(mean_diff ~ x2,span = 1)
convergence <- predict(lo)
convergence_point <- which.min(convergence)
convergence_point # 79
plot(convergence,ty = "l",lwd = 2)
abline(v = convergence_point, col = "red")
我不确定我的发现是否正确。有没有其他方法可以找出收敛点?
提前致谢。
最佳答案
据我所知,收敛点是指直线穿过曲线的坐标,它恰好是局部最小值,或者类似的东西(取决于你想要达到的目标)。
然后你可以试试这个:locator
如果你在 RStudio 中运行它,一旦你完成了图形的生成,运行 locator()
并将其放在您需要坐标的点上,然后按 Escape。
如果这是您想要的,您现在应该获得 X 和 Y 坐标。
关于r - 如何找到数据的收敛点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48685092/