Friday, 3 February 2017

Déménagement Moyenne Exemple En R

Moyennes mobiles En R À ma connaissance, R n'a pas de fonction intégrée pour calculer les moyennes mobiles. En utilisant la fonction de filtrage, on peut écrire une fonction courte pour les moyennes mobiles: On peut alors utiliser la fonction sur n'importe quelle donnée: mav (data), ou mav (data, 11) si on veut spécifier un nombre différent de points de données Que les 5 tracés par défaut comme prévu: plot (mav (data)). En plus du nombre de points de données sur lesquels la moyenne, nous pouvons également changer l'argument des côtés des fonctions de filtre: sides2 utilise les deux côtés, sides1 utilise des valeurs passées seulement. Partagez ceci: Navigation des articles Navigation des commentaires Navigation des commentairesL'analyse des séries chronologiques et ses applications: avec R Exemples R série chronologique rapide La page utilise JavaScript pour la mise en évidence de la syntaxe. Il n'est pas nécessaire de l'allumer, mais le code sera plus difficile à lire. Il s'agit d'une brève promenade dans le couloir. Mon conseil est d'ouvrir R et jouer avec le tutoriel. J'espère que vous avez installé R et trouvé l'icône sur votre bureau qui ressemble à un R. bien, c'est un R. Si vous utilisez Linux, puis arrêtez de chercher parce que ce n'est pas là. Il suffit d'ouvrir un terminal et d'entrer R (ou d'installer R Studio.) Si vous voulez plus sur les graphiques de séries chronologiques, en particulier en utilisant ggplot2. Reportez-vous à la section Quick Fix Graphics. Le correctif rapide est destiné à vous exposer à des capacités de série chronologique de base R et est classé amusant pour les personnes de 8 à 80 ans. Ce n'est pas destiné à être une leçon dans l'analyse des séries chronologiques, mais si vous en voulez un, vous pouvez essayer ce short facile Cours: loz Baby étapes. Votre première session R. Get confortable, puis démarrez-la et essayez quelques simple ajout: Ok, maintenant youre un expert utiliser R. Allaient obtenir astsa maintenant: Maintenant que youre chargé, nous pouvons commencer. Lâchons D'abord, jouons bien avec l'ensemble de données de Johnson amp Johnson. Son inclus dans astsa que jj. Ce personnage dynastique de Good Times. Tout d'abord, regardez-le. Et vous voyez que jj est une collection de 84 numéros appelés un objet série chronologique. Pour seeremove vos objets: Si vous êtes un utilisateur Matlab (ou similaire), vous pouvez penser que jj est un vecteur 84 fois 1, mais ce n'est pas le cas. Il a l'ordre et la longueur, mais pas de dimensions (pas de lignes, pas de colonnes). R appelle ces types de vecteurs d'objets de sorte que vous devez faire attention. En R, les matrices ont des dimensions, mais les vecteurs ne le font pas - ils se contentent de se balancer dans le cyberespace. Maintenant, nous allons faire un objet série mensuelle série qui commence en Juin de l'année 2293. Nous entrons dans le Vortex. Notez que les données de Johnson et Johnson sont des revenus trimestriels, donc elle a la fréquence4. La série chronologique zardoz est des données mensuelles, donc elle a la fréquence12. Vous obtenez également des choses utiles avec l'objet ts, par exemple: Essayez maintenant un graphique des données de Johnson Johnson: Le graphique représenté est un peu plus fantaisiste que le code donnera. Pour plus de détails, voir la page Quick Fix Graphics. Cela va pour le reste des parcelles que vous verrez ici. Essayez-les et voyez ce qui se passe: et pendant que vous êtes ici, consultez plot. ts et ts. plot. Notez que si vos données sont un objet série chronologique, plot () fera l'affaire (pour un simple tracé temporel, c'est-à-dire). Sinon, plot. ts () va contraindre le graphique dans un tracé de temps. Qu'en est-il des filtrages de lissage de la Johnson Johnson série Johnson en utilisant une moyenne mobile bilatérale Tentez ceci: fjj (t) 8539 jj (t-2) frac14 jj (t-1) frac14 jj (t) frac14 jj (t1) 8539 jj T2) et bien ajouter un lowess (lowess - vous savez la routine) adapté pour le plaisir. Permet de différencier les données enregistrées et de l'appeler dljj. Ensuite, jouez bien avec dljj. Maintenant, un histogramme et un tracé Q-Q, l'un sur l'autre (mais d'une manière agréable): Laisse la structure de corrélation de dljj en utilisant diverses techniques. Tout d'abord, bien regarder une grille de diagrammes de dispersion de dljj (t) par rapport aux valeurs décalées. Les lignes sont de faible taille et l'échantillon acf est bleu dans la boîte. Maintenant nous allons jeter un oeil à l'ACF et PACF de dljj. Notez que l'axe du GAL est en termes de fréquence. Donc 1,2,3,4,5 correspondent aux décalages 4,8,12,16,20 parce que la fréquence4 ici. Si vous n'aimez pas ce type d'étiquetage, vous pouvez remplacer dljj dans l'un des ci-dessus par ts (dljj, freq1), p. Acf (ts (dljj, freq1), 20) En allant, essayons une décomposition structurelle de l'erreur de saison de tendance log (jj) en utilisant lowess. Si vous voulez inspecter les résidus, par exemple, ils sont dans dogtime. series, 3. La troisième colonne de la série résultante (les composantes saisonnière et tendancielle figurent dans les colonnes 1 et 2). Vérifiez l'ACF des résidus, acf (dogtime. series, 3) les résidus ne sont pas blancs, même pas près. Vous pouvez faire un peu (très peu) mieux en utilisant une fenêtre saisonnière locale, par opposition à la globale utilisée en spécifiant par. Tapez stl pour plus de détails. Theres aussi quelque chose appelé StructTS qui s'adaptera modèles paramétriques structurelles. Nous n'utilisons pas ces fonctions dans le texte lorsque nous présentons la modélisation structurelle dans le chapitre 6 parce que nous préférons utiliser nos propres programmes. Loz C'est un bon moment pour expliquer. Dans ce qui précède, le chien est un objet contenant un tas de choses (terme technique). Si vous tapez chien. Vous verrez les composants, et si vous tapez résumé (chien) youll obtenir un petit résumé des résultats. Un des composants du chien est time. series. Qui contient la série résultante (saisonnière, tendance, reste). Pour voir cette composante de l'objet chien. Vous tapez dogtime. series (et vous verrez 3 séries, la dernière contenant les résidus). Et thats l'histoire de. Vous verrez d'autres exemples à mesure que nous avançons. Et maintenant, bien faire un problème à partir du chapitre 2. Voulons aller le log de régression (jj) betatime alpha 1 Q1 alpha 2 Q2 alpha 3 Q3 alpha 4 Q4 epsilon où Qi est un indicateur du trimestre i 1,2,3,4 . Ensuite, inspectez bien les résidus. Vous pouvez afficher la matrice modèle (avec les variables fictives) de cette façon: Maintenant, regardez ce qui s'est passé. Regardez un tracé des observations et leurs valeurs ajustées: ce qui montre qu'un complot des données avec l'ajustement superposé ne vaut pas le cyberespace qu'il occupe. Mais un tracé des résidus et de l'ACF des résidus vaut son poids en joules: Ces résidus sont-ils blancs? Ignorez la corrélation 0-lag, c'est toujours 1. Indice: La réponse est NON. Donc la régression ci-dessus est nuls. Alors quel est le remède? Désolé, vous aurez à prendre la classe parce que ce n'est pas une leçon de la série chronologique. Je vous ai prévenu au sommet. Vous devez être prudent lorsque vous régresser une série de temps sur les composants en retard d'un autre en utilisant lm (). Il y a un paquet appelé dynlm qui facilite l'ajustement des régressions retardées, et je discuterai juste après cet exemple. Si vous utilisez lm (). Alors ce que vous devez faire est d'attacher la série ensemble en utilisant ts. intersect. Si vous n'avez pas attacher la série ensemble, ils ne seront pas alignés correctement. Voici un exemple de régression de la mortalité cardiovasculaire hebdomadaire (cmort) sur la pollution particulaire (part) à la valeur actuelle et retardé de quatre semaines (environ un mois). Pour plus de détails sur l'ensemble de données, reportez-vous au chapitre 2. Assurez-vous que astsa est chargé. Note: Il n'était pas nécessaire de renommer lag (part, -4) à part4. C'est juste un exemple de ce que vous pouvez faire. Une alternative à ce qui précède est le package dynlm qui doit être installé, bien sûr (comme nous l'avons fait pour astsa là-haut au début). Une fois le paquet installé, vous pouvez faire l'exemple précédent comme suit: Eh bien, son temps de simuler. Le cheval de bataille pour les simulations ARIMA est arima. sim (). Voici quelques exemples aucun résultat n'est montré ici donc vous êtes sur votre propre. Utilisant astsa son facile à adapter un modèle d'ARIMA: Vous pourriez se demander au sujet de la différence entre aic et AIC ci-dessus. Pour cela, vous devez lire le texte ou tout simplement ne vous inquiétez pas parce que ce n'est pas la peine de ruiner votre journée à y penser. Et oui, ces résidus sont blancs. Si vous voulez faire des prévisions ARIMA, sarima. for est inclus dans astsa. Et maintenant pour une régression avec des erreurs autocorrélées. Nous allons adapter le modèle M t alpha betat gammaP t e t où M t et P t sont la mortalité (cmort) et les particules (partie) série, et e t est l'erreur autocorrélée. Tout d'abord, faire un ajustement OLS et vérifier les résidus: Maintenant, ajustez le modèle L'analyse résiduelle (non illustrée) semble parfaite. Voici un modèle ARMAX, M t bêta 0 phi 1 M t-1 phi 2 M t-2 bêta 1 t bêta 2 T t-1 bêta 3 P t bêta 4 P t-4 e t. Où e t est éventuellement autocorrélée. D'abord nous essayons et ARMAX (p2, q0), puis regardons les résidus et réalisons theres aucune corrélation à gauche, nous avons donc été fait. Enfin, une analyse spectrale quicky: C'est tout pour l'instant. Si vous souhaitez en savoir plus sur les graphiques de séries chronologiques, reportez-vous à la page Quick Fix Graphics.2.1 Modèles de moyenne mobile (modèles MA) Les modèles de séries chronologiques connus sous le nom de modèles ARIMA peuvent inclure des termes autorégressifs ou des termes de moyenne mobile. Dans la semaine 1, nous avons appris un terme autorégressif dans un modèle de série chronologique pour la variable x t est une valeur décalée de x t. Par exemple, un terme autorégressif de retard 1 est x t-1 (multiplié par un coefficient). Cette leçon définit les termes moyens mobiles. Un terme moyen mobile dans un modèle de séries chronologiques est une erreur passée (multipliée par un coefficient). Soit (wt overet N (0, sigma2w)), ce qui signifie que les w t sont identiquement, indépendamment distribués, chacun avec une distribution normale ayant une moyenne 0 et la même variance. Le modèle de moyenne mobile du 1er ordre, noté MA (1) est (xt mu wt theta1w) Le modèle de moyenne mobile du 2 e ordre, noté MA (2) est (xt mu wt theta1w theta2w) , Désignée par MA (q) est (xt mu wt theta1w theta2w points thetaqw) Note. De nombreux manuels et programmes logiciels définissent le modèle avec des signes négatifs avant les termes. Cela ne change pas les propriétés théoriques générales du modèle, bien qu'il renverse les signes algébriques des valeurs de coefficients estimés et des termes (non carrés) dans les formules pour les ACF et les variances. Vous devez vérifier votre logiciel pour vérifier si des signes négatifs ou positifs ont été utilisés pour écrire correctement le modèle estimé. R utilise des signes positifs dans son modèle sous-jacent, comme nous le faisons ici. Propriétés théoriques d'une série temporelle avec un modèle MA (1) Notez que la seule valeur non nulle dans l'ACF théorique est pour le lag 1. Toutes les autres autocorrélations sont 0. Ainsi, un échantillon ACF avec une autocorrélation significative seulement au décalage 1 est un indicateur d'un modèle MA (1) possible. Pour les étudiants intéressés, les preuves de ces propriétés sont une annexe à ce document. Exemple 1 Supposons qu'un modèle MA (1) soit x t 10 w t .7 w t-1. Où (wt dépasse N (0,1)). Ainsi, le coefficient 1 0,7. L'ACF théorique est donné par un tracé de cette ACF. Le graphique qui vient d'être montré est l'ACF théorique pour un MA (1) avec 1 0,7. En pratique, un échantillon ne fournira habituellement qu'un tel motif clair. En utilisant R, nous avons simulé n 100 échantillons en utilisant le modèle x t 10 w t .7 w t-1 où w t iid N (0,1). Pour cette simulation, un schéma chronologique des données de l'échantillon suit. Nous ne pouvons pas dire beaucoup de cette intrigue. L'échantillon ACF pour les données simulées suit. Nous observons un pic au décalage 1 suivi par des valeurs généralement non significatives pour les décalages au-delà de 1. Notez que l'échantillon ACF ne correspond pas au modèle théorique du MA (1) sous-jacent, c'est-à-dire que toutes les autocorrélations Un échantillon différent aurait un ACF d'échantillon légèrement différent indiqué ci-dessous, mais aurait probablement les mêmes caractéristiques générales. Propriétés théoriques d'une série temporelle avec un modèle MA (2) Pour le modèle MA (2), les propriétés théoriques sont les suivantes: Noter que les seules valeurs non nulles dans l'ACF théorique sont pour les lags 1 et 2. Les autocorrélations pour les décalages supérieurs sont 0 . Ainsi, un échantillon ACF avec des autocorrélations significatives aux décalages 1 et 2, mais des autocorrélations non significatives pour des décalages plus élevés indique un modèle MA (2) possible. Iid N (0,1). Les coefficients sont 1 0,5 et 2 0,3. Parce qu'il s'agit d'une MA (2), l'ACF théorique aura des valeurs non nulles uniquement aux lags 1 et 2. Les valeurs des deux autocorrélations non nulles sont: Un tracé de la théorie ACF suit. Comme presque toujours le cas, les données d'échantillon ne se comporteront pas aussi parfaitement que la théorie. Nous avons simulé n 150 échantillons pour le modèle x t 10 w t .5 w t-1 .3 w t-2. Où w t iid N (0,1). Le tracé de la série chronologique des données suit. Comme avec le graphique de la série temporelle pour les données d'échantillon MA (1), vous ne pouvez pas en dire beaucoup. L'échantillon ACF pour les données simulées suit. Le modèle est typique pour les situations où un modèle MA (2) peut être utile. Il y a deux pointes statistiquement significatives aux écarts 1 et 2, suivies des valeurs non significatives pour les autres retards. Notez qu'en raison de l'erreur d'échantillonnage, l'ACF de l'échantillon ne correspondait pas exactement au modèle théorique. ACF pour les modèles MA (q) Une propriété des modèles MA (q) en général est qu'il existe des autocorrélations non nulles pour les q premiers lags et autocorrélations 0 pour tous les retards gt q. Non-unicité de la connexion entre les valeurs de 1 et (rho1) dans MA (1) Modèle. Dans le modèle MA (1), pour toute valeur de 1. La valeur réciproque 1 1 donne la même valeur pour. Par exemple, utilisez 0,5 pour 1. Puis utilisez 1 (0,5) 2 pour 1. Vous obtiendrez (rho1) 0,4 dans les deux cas. Pour satisfaire une restriction théorique appelée invertibilité. Nous limitons les modèles MA (1) à des valeurs dont la valeur absolue est inférieure à 1. Dans l'exemple donné, 1 0,5 sera une valeur de paramètre admissible, alors que 1 10,5 2 ne le sera pas. Invertibilité des modèles MA Un modèle MA est dit inversible s'il est algébriquement équivalent à un modèle d'ordre infini convergent. En convergeant, nous voulons dire que les coefficients AR décroissent à 0 lorsque nous retournons dans le temps. Invertibilité est une restriction programmée dans le logiciel de séries temporelles utilisé pour estimer les coefficients de modèles avec des termes MA. Ce n'est pas quelque chose que nous vérifions dans l'analyse des données. Des informations supplémentaires sur la restriction d'inversibilité pour les modèles MA (1) sont données en annexe. Théorie avancée. Pour un modèle MA (q) avec un ACF spécifié, il n'existe qu'un seul modèle inversible. La condition nécessaire à l'inversibilité est que les coefficients ont des valeurs telles que l'équation 1- 1 y-. - q y q 0 a des solutions pour y qui tombent en dehors du cercle unitaire. Code R pour les exemples Dans l'exemple 1, nous avons représenté l'ACF théorique du modèle x t 10 w t. 7w t-1. Puis a simulé n 150 valeurs à partir de ce modèle et a représenté graphiquement la série chronologique de l'échantillon et l'échantillon ACF pour les données simulées. Les r commandes utilisées pour tracer l'ACF théorique sont: acfma1ARMAacf (mac (0.7), lag. max10) 10 lags de ACF pour MA (1) avec theta1 0.7 lags0: 10 crée une variable nommée lags qui va de 0 à 10. plot Abline (h0) ajoute un axe horizontal à la trame La première commande détermine l'ACF et la stocke dans un objet (a0) Nommé acfma1 (notre choix de nom). La commande plot (la 3ème commande) trace des retards par rapport aux valeurs ACF pour les lags 1 à 10. Le paramètre ylab étiquette l'axe y et le paramètre principal place un titre sur la trame. Pour voir les valeurs numériques de l'ACF, utilisez simplement la commande acfma1. La simulation et les parcelles ont été effectuées avec les commandes suivantes. (X, typeb, mainSimulated MA (1) data) xcarima. sim (n150, list (mac (0.7))) Simule n 150 valeurs de MA (1) xxc10 ajoute 10 pour faire la moyenne 10. La simulation (X, xlimc (1,10), mainACF pour des données d'échantillon simulées) Dans l'exemple 2, nous avons représenté graphiquement l'ACF théorique du modèle xt 10 wt.5 w t-1 .3 w t-2. Puis a simulé n 150 valeurs à partir de ce modèle et a représenté graphiquement la série chronologique de l'échantillon et l'échantillon ACF pour les données simulées. Les ordres R utilisés étaient: ACFma2ARMAacf (mac (0,5,0,3), lag. max10) acfma2 lags0: 10 tracé (lags, acfma2, xlimc (1,10), ylabr, typeh, ACF principal pour MA (2) avec theta1 0,5, (X, typeb, principale série MA (2) simulée) acf (x, xlimc (1,10), x2) (1) Pour les étudiants intéressés, voici des preuves des propriétés théoriques du modèle MA (1). Lorsque x 1, l'expression précédente 1 w 2. Pour tout h 2, l'expression précédente 0 (x), x, x, x, x, x, La raison en est que, par définition de l'indépendance du wt. E (w k w j) 0 pour tout k j. En outre, parce que w t ont une moyenne 0, E (w j w j) E (w j 2) w 2. Pour une série chronologique, appliquer ce résultat pour obtenir l'ACF ci-dessus. Un modèle inversible MA est celui qui peut être écrit comme un modèle AR d'ordre infini qui converge de sorte que les coefficients AR convergent vers 0 alors que nous avançons infiniment dans le temps. Bien démontrer l'inversibilité pour le modèle MA (1). On substitue alors la relation (2) pour w t-1 dans l'équation (1) (3) (zt wt theta1 (z - theta1w) wt theta1z - theta2w) Au temps t-2. L'équation (2) devient Nous substituons alors la relation (4) pour w t-2 dans l'équation (3) (zt wt theta1 z - theta21w wt theta1z - theta21 (z - theta1w) wt theta1z - theta12z theta31w) Si nous devions continuer On notera cependant que si 1 1, les coefficients multipliant les décalages de z augmentent (infiniment) en taille à mesure que l'on se déplace vers l'arrière temps. Pour éviter cela, nous avons besoin de 1 lt1. C'est la condition pour un modèle inversible MA (1). Infinite Order MA model Dans la semaine 3, voyez bien qu'un modèle AR (1) peut être converti en un modèle d'ordre infini MA: (xt - mu wt phi1w phi21w points phik1 w dots sum phij1w) Cette sommation des termes de bruit blanc passé est connue Comme la représentation causale d'un AR (1). En d'autres termes, x t est un type spécial de MA avec un nombre infini de termes revenant dans le temps. C'est ce qu'on appelle un ordre infini MA ou MA (). Un ordre fini MA est un ordre infini AR et tout ordre fini AR est un ordre infini MA. Rappelons à la semaine 1, nous avons noté qu'une exigence pour un AR stationnaire (1) est que 1 lt1. Calculons le Var (x t) en utilisant la représentation causale. Cette dernière étape utilise un fait de base sur les séries géométriques qui nécessite (phi1lt1) sinon la série diverge. La navigation


No comments:

Post a Comment