以下是我在研究中向前迈进的关键。
我试图找到一种方法来计算大型数据集的瞬态和渐近线动态的持续时间。这里有一个简短的例子,说明我的数据是什么样的。
x <- c(6,3,8,9,4,3,2,9,8,6,7,1, 2, 3, 2, 1, 1, 2, 1, 1, 2, 3, 2, 1, 1, 2, 1,1, 2, 3, 2, 1, 1, 2, 1,1, 2, 3, 2, 1, 1, 2, 1, 1, 2, 3, 2, 1, 1, 2, 1, 1, 2, 3, 2, 1, 1, 2, 1,1, 2, 3, 2, 1, 1, 2, 1,1, 2, 3, 2, 1, 1, 2, 1,1, 2, 3, 2, 1, 1, 2, 1, 1, 2, 3, 2, 1, 1, 2, 1,1, 2, 3, 2, 1, 1, 2, 1,1, 2, 3, 2, 1, 1, 2, 1, 1, 2, 3, 2, 1, 1, 2, 1, 1, 2, 3, 2, 1, 1, 2, 1,1, 2, 3, 2, 1, 1, 2, 1,1, 2, 3, 2, 1, 1, 2, 1,1)
plot(x, type="l")

我看了一下一阶和二阶导数,但没有按我的意愿工作。
任何帮助都是非常感谢的。
发布于 2018-02-21 00:53:57
如果我正确理解,您可以探索一个变点分析。
有一个名为changepoint的R包,它实现了各种转换点搜索方法,详细信息可以在原版出版物中找到。
下面是一个使用示例数据的示例。
library(changepoint);
ret <- cpt.mean(x, class = FALSE);
ret;
#cpt conf.value
#11.0000000 0.9406066在输出中,cpt是转换点最可能的位置。如果你放大情节,你会发现这似乎是明智的。
plot(x, type="l", xlim = c(0, 20));
abline(v = ret[1], col = "red")

显然,您需要更仔细地查看一些“调优”参数。?cpt.mean和论文将是一个很好的起点。
然后,您可以将事件x < cpt归类为瞬态事件,将x > cpt分类为渐近事件;但是,这当然取决于您的数据的上下文/来源,而我不知道这一点。
https://stackoverflow.com/questions/48896326
复制相似问题