如何计算时间序列的一阶导数

时间:2012-12-29 14:21:30

标签: r derivative

我会使用两个变量timepH来计算时间序列的一阶导数(dpH / dtime)。

在R中是否有任何类型的函数可以执行此操作,还是应该计算额外的函数来执行此操作?

3 个答案:

答案 0 :(得分:16)

假设pHtime是普通向量,请尝试:

library(pspline)
predict(sm.spline(time, pH), time, 1)

答案 1 :(得分:10)

您可能希望以Matt L建议的stats::derivdiff.ts开头。请记住我的一位教授曾经告诉他的所有学生:数字差异被称为“误差乘数”。

编辑: 澄清一下 - 他警告的是,你的数据中的任何噪音都会导致衍生估计偏离。据说集成是低通滤波器,而差分是高通滤波器。 因此,重要的是在计算导数之前对数据进行一些平滑处理。因此,Gabor使用predict.spline的出色建议。但请记住,修改样条曲线参数会使数据平滑到不同的水平,因此请始终查看结果,以确保删除明显的噪音但不是所需的功能。

答案 2 :(得分:1)