Comment analyser la situation irrégulière de série de temps dans la R
J'ai un zoo
temps de la série R:
d <- structure(c(50912, 50912, 50912, 50912, 50913, 50913, 50914,
50914, 50914, 50915, 50915, 50915, 50916, 50916, 50916, 50917,
50917, 50917, 50918, 50918, 2293.8, 2302.64, 2310.5, 2324.02,
2312.25, 2323.93, 2323.83, 2338.67, 2323.1, 2320.77, 2329.73,
2319.63, 2330.86, 2323.38, 2322.92, 2317.71, 2322.76, 2286.64,
2294.83, 2305.06, 55.9, 62.8, 66.4, 71.9, 59.8, 65.7, 61.9, 67.9,
38.5, 36.7, 43.2, 30.3, 42.4, 33.5, 48.8, 52.7, 61.2, 30, 41.7,
50, 8.6, 9.7, 10.3, 11.1, 9.2, 10.1, 9.6, 10.4, 5.9, 5.6, 6.6,
4.7, 6.5, 5.2, 7.5, 8.1, 9.5, 4.6, 6.4, 7.7, 9.29591864400155,
10.6585128174944, 10.4386464748912, 11.5738448647708, 10.9486074772952,
10.9546547052814, 10.3733963771546, 9.15627378048238, 8.22993822910891,
5.69045896511178, 6.95269658370746, 7.78781665368086, 7.20089569039135,
4.9759716583555, 8.99378907920762, 10.0924594632635, 10.3909638115674,
6.28203685114275, 9.16021859457356, 7.56829801052175, 0.695918644001553,
0.9585128174944, 0.138646474891241, 0.473844864770827, 1.74860747729523,
0.854654705281426, 0.773396377154565, -1.24372621951762, 2.32993822910891,
0.0904589651117833, 0.352696583707458, 3.08781665368086, 0.700895690391349,
-0.224028341644497, 1.49378907920762, 1.99245946326349, 0.890963811567351,
1.68203685114275, 2.76021859457356, -0.131701989478247), .Dim = c(20L,
6L), .Dimnames = list(NULL, c("station_id", "ztd", "zwd", "iwv",
"radiosonde", "error")), index = structure(c(892094400, 892116000,
892137600, 892159200, 892180800, 892245600, 892267200, 892288800,
892332000, 892353600, 892375200, 892418400, 892440000, 892461600,
892504800, 892526400, 892548000, 892591200, 892612800, 892634400
), class = c("POSIXct", "POSIXt")), class = "zoo")
Je veux effectuer certaines analyses que le ts
forfait me permet de faire, comme la décomposition de la série chronologique de la tendance et de la saisonnalité, et en regardant l'auto-corrélation de la fonction. Cependant, en essayant de faire aucune de ces donne une erreur: Error in na.fail.default(as.ts(x)) : missing values in object
.
Regarder cela plus en profondeur, il semble que toutes ces fonctions de travail sur ts
objets qui ont, par définition, régulièrement espacés observations. Mes observations ne sont pas, donc je me retrouve avec beaucoup de NA
s et tout échoue.
Est-il un moyen d'analyser l'irrégularité de la série chronologique en R? Ou dois-je besoin de les convertir à être régulier en quelque sorte? Si oui, est-il un moyen simple de faire cela?
OriginalL'auteur robintw | 2012-09-27
Vous devez vous connecter pour publier un commentaire.
J'ai analysé ces données irrégulières dans le passé à l'aide d'un modèle additif à "décomposer" la saison et de la tendance des composants. Comme c'est une régression approche fondée sur les vous avez besoin de modèle, les résidus comme une série de processus pour tenir compte de l'absence d'indépendance des résidus.
J'ai utilisé le mgcv package pour ces analyses. Essentiellement, le modèle ajusté est:
Qui correspond à un cyclique spline dans la journée, de l'année de la variable
dayOfYear
pour la saison terme et la tendance est représentée partimeOfSampling
qui est une variable numérique. Les résidus sont modélisées ici comme un temps continu AR(1) à l'aide de latimeOfSampling
variable comme le temps composant de la VOITURE(1). Cela suppose qu'avec l'augmentation de la séparation temporelle, la corrélation entre les résidus diminue de façon exponentielle.J'ai écrit quelques billets de blog sur certaines de ces idées:
qui contiennent des R code pour vous de suivre.
Oui, en effet. Bien situées. J'ai fait ce changement à la Réponse.
OriginalL'auteur Gavin Simpson