我在2012年做过的气候实验的时间序列非常短。数据包括每日水溶液通量和每日CO2通量数据。 CO2通量数据包括52天,水溶液通量数据仅为7天。我每天对CO2通量数据进行多次测量,但我计算了每日平均值。
现在,我想知道这些时间序列是否有趋势。我已经发现我可以使用Kendall趋势测试或Theil-Sen趋势估算器。我之前使用肯德尔测试进行了几年的时间序列测试。我不知道如何使用Theil-Sen趋势估算器。
我将数据放入R中的ts对象,但是当我尝试进行分解(使用函数分解)时,我得到的错误是时间序列跨越少于2个周期。我想提取趋势数据,然后对其进行Mann-Kendall测试。
这是我到目前为止的代码:
myexample <- structure(c(624.27, 682.06, 672.77,
765.96, 759.52, 760.38, 742.81
), .Names = c("Day1", "Day2", "Day3", "Day4", "Day5", "Day6",
"Day7"))
ts.object <- ts(myexample, frequency = 365, start = 1)
decomp.ts.obj <- decompose(ts.obj, type = "mult", filter=NULL)
# Error in decompose(ts.obj, type = "mult", filter = NULL)
任何人都可以帮我解决如何使用我很短的时间序列进行趋势分析吗?任何google-fu都无济于事。并且,有人能告诉我Kendall tau的大小是什么意思吗?它跨越从-1到1的值。是tau = 0.5强或弱趋势?
谢谢, 斯蒂芬
答案 0 :(得分:0)
我很想做一些简单的事情,比如
d <- data.frame(val=myexample,ind=seq(myexample))
summary(lm(val~ind,d))
或
library(lmPerm)
summary(lmp(val~ind,d))
或
cor.test(~val+ind,data=d,method="kendall")
tau = 0.5是强还是弱取决于背景。在这种情况下,p值为0.24,至少表明该信号(仅基于秩)不能与适当的空信号区分开来。