Je suis assez nouveau pour R. J'ai tenté de lire l'analyse des séries chronologiques et j'ai déjà terminé
- Analyse des séries temporelles de Shumway et Stoffer et ses applications 3e édition ,
- L'excellente prévision de Hyndman : principes et pratique
- Avril Coghlan utilise R pour l'analyse des séries chronologiques
- A. Ian McLeod et al Analyse des séries chronologiques avec R
- Analyse des séries chronologiques appliquées du Dr Marcel Dettling
Edit: je ne sais pas comment gérer cela, mais j'ai trouvé une ressource utile en dehors de Cross Validated. Je voulais l'inclure ici au cas où quelqu'un tomberait sur cette question.
J'ai une série chronologique univariée du nombre d'articles consommés (données de comptage) mesurés quotidiennement pendant 7 ans. Une intervention a été appliquée à la population étudiée à peu près au milieu de la série chronologique. Cette intervention ne devrait pas produire d'effet immédiat et le moment du début de l'effet est essentiellement inconnu.
En utilisant le forecast
package de Hyndman, j'ai adapté un modèle ARIMA aux données de pré-intervention à l'aide auto.arima()
. Mais je ne sais pas comment utiliser cet ajustement pour déterminer s'il y a eu un changement statistiquement significatif de tendance et quantifier le montant.
# for simplification I will aggregate to monthly counts
# I can later generalize any teachings the community supplies
count <- c(2464, 2683, 2426, 2258, 1950, 1548, 1108, 991, 1616, 1809, 1688, 2168, 2226, 2379, 2211, 1925, 1998, 1740, 1305, 924, 1487, 1792, 1485, 1701, 1962, 2896, 2862, 2051, 1776, 1358, 1110, 939, 1446, 1550, 1809, 2370, 2401, 2641, 2301, 1902, 2056, 1798, 1198, 994, 1507, 1604, 1761, 2080, 2069, 2279, 2290, 1758, 1850, 1598, 1032, 916, 1428, 1708, 2067, 2626, 2194, 2046, 1905, 1712, 1672, 1473, 1052, 874, 1358, 1694, 1875, 2220, 2141, 2129, 1920, 1595, 1445, 1308, 1039, 828, 1724, 2045, 1715, 1840)
# for explanatory purposes
# month <- rep(month.name, 7)
# year <- 1999:2005
ts <- ts(count, start(1999, 1))
train_month <- window(ts, start=c(1999,1), end = c(2001,1))
require(forecast)
arima_train <- auto.arima(train_month)
fit_month <- Arima(train_month, order = c(2,0,0), seasonal = c(1,1,0), lambda = 0)
plot(forecast(fit_month, 36)); lines(ts, col="red")
Existe-t-il des ressources traitant spécifiquement de l'analyse des séries chronologiques interrompues dans R? J'ai trouvé ce problème avec les STI dans SPSS mais je n'ai pas pu le traduire en R.
la source
Réponses:
C'est ce qu'on appelle l'analyse des points de changement. Le package R
changepoint
peut le faire pour vous: voir la documentation ici (y compris les références à la littérature): http://www.lancs.ac.uk/~killick/Pub/KillickEckley2011.pdfla source
Je proposerais un modèle hiérarchique de mesures répétées. Cette méthode devrait fournir des résultats solides car chaque individu agira comme son propre contrôle. Essayez de vérifier ce lien depuis UCLA.
la source
Pour une approche bayésienne, vous pouvez utiliser
mcp
pour ajuster un modèle de Poisson ou binomial (parce que vous avez des comptes à partir de périodes à intervalle fixe) avec une autorégression appliquée aux résidus (dans l'espace logarithmique). Comparez ensuite un modèle à deux segments à un modèle à un segment à l'aide de la validation croisée.Avant de commencer, notez que pour ce jeu de données, ce modèle ne convient pas bien et la validation croisée semble instable. Je m'abstiendrai donc d'utiliser les éléments suivants dans des scénarios à enjeux élevés, mais cela illustre une approche générale:
Pour le présent ensemble de données, cela se traduit par
C'est-à-dire un
elpd_diff/se_diff
rapport d'environ 7 en faveur du modèle nul (pas de changement). Les améliorations possibles incluent:sin()
oucos()
.prior = list(cp_1 = dnorm(1999.8, 0.5)
.En savoir plus sur la modélisation de l'autorégression, la comparaison de modèles et la définition des priorités du
mcp
site Web . Divulgation: je suis le développeur demcp
.la source