2014-07-14 4 views
0

Je dispose de très courtes séries temporelles de données issues d'une expérience climatique que j'ai réalisée en 2012. Les données comprennent le flux quotidien de solution aqueuse et les données quotidiennes de flux de CO2. Les données de flux de CO2 comprennent 52 jours et les données de flux de solution d'eau sont seulement de 7 jours. J'ai plusieurs mesures par jour pour les données de flux de CO2 mais j'ai calculé les moyennes journalières. Maintenant, je voudrais savoir s'il y a une tendance dans ces séries chronologiques. J'ai compris que je pouvais utiliser le test de tendance de Kendall ou un estimateur de tendance de Theil-Sen. J'ai utilisé le test de Kendall auparavant pour une série chronologique couvrant plusieurs années. Je ne sais pas comment utiliser l'estimateur de tendance de Theil-Sen.R - Estimation de tendance pour les séries temporelles courtes

J'ai mis mes données dans un objet ts dans R, mais quand j'ai essayé de faire un decompositon (en utilisant la fonction decompose), j'ai l'erreur que la série temporelle couvre moins de 2 périodes. Je voudrais extraire les données de tendance, puis faire un test de Mann-Kendall.

Voici le code que je suis arrivé à ce jour:

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) 

Quelqu'un peut-il me aider sur la façon de faire une analyse des tendances avec ma série de temps très court? Tout google-fu était en vain. Et, quelqu'un peut-il me dire ce que signifie la taille du tau Kendall? Il couvre les valeurs de -1 à 1. Un tau = 0,5 est-il une tendance forte ou faible?

Merci, Stefan

+0

Le problème est que vous utilisez 'freq = 365' mais que vous avez moins d'un an de données. Essayez de changer cette valeur. – Fernando

Répondre

0

Je serais tenté de faire quelque chose de simple comme

d <- data.frame(val=myexample,ind=seq(myexample)) 
summary(lm(val~ind,d)) 

ou

library(lmPerm) 
summary(lmp(val~ind,d)) 

ou

cor.test(~val+ind,data=d,method="kendall") 

Que ce soit ta u = 0.5 est fort ou faible dépend beaucoup du contexte. Dans ce cas, la valeur p est de 0,24, ce qui indique au moins que ce signal (basé uniquement sur le rang) ne peut pas être distingué d'un signal nul approprié.

+0

Merci Ben Bolker. Je pense que je pourrais aller pour la variante cor.test. Quand je posais la question, je pensais à une méthode d'analyse de séries temporelles, mais je pense que cor.test fonctionne bien dans ma situation. – Strohmi

Questions connexes