J'ai beaucoup de séries chronologiques avec des périodes: jour, semaine ou mois. Avec la stl()
fonction ou avec, loess(x ~ y)
je peux voir à quoi ressemblent les tendances de séries chronologiques particulières. J'ai besoin de détecter si la tendance des séries chronologiques augmente ou diminue. Comment gérer ça?
J'ai essayé de calculer des coefficients de régression linéaire avec lm(x ~ y)
et de jouer avec le coefficient de pente. ( If |slope|>2 and slope>0 then
tendance à la hausse, else if |slope|>2 and slope<0
- à la baisse). Peut-être existe-t-il une autre méthode plus efficace pour la détection des tendances? Je vous remercie!
Par exemple: je timeserie1
, timeserie2
. J'ai besoin d'un algorithme simple qui me dirait qu'il timeserie2
s'agit d'un algorithme croissant, et dans timeserie1
, la tendance n'augmente ni ne diminue. Quels critères dois-je utiliser?
timeserie1
:
1774 1706 1288 1276 2350 1821 1712 1654 1680 1451 1275 2140 1747 1749 1770 1797 1485 1299 2330 1822
1627 1847 1797 1452 1328 2363 1998 1864 2088 2084 594 884 1968 1858 1640 1823 1938 1490 1312 2312
1937 1617 1643 1468 1381 1276 2228 1756 1465 1716 1601 1340 1192 2231 1768 1623 1444 1575 1375 1267
2475 1630 1505 1810 1601 1123 1324 2245 1844 1613 1710 1546 1290 1366 2427 1783 1588 1505 1398 1226
1321 2299 1047 1735 1633 1508 1323 1317 2323 1826 1615 1750 1572 1273 1365 2373 2074 1809 1889 1521
1314 1512 2462 1836 1750 1808 1585 1387 1428 2176 1732 1752 1665 1425 1028 1194 2159 1840 1684 1711
1653 1360 1422 2328 1798 1723 1827 1499 1289 1476 2219 1824 1606 1627 1459 1324 1354 2150 1728 1743
1697 1511 1285 1426 2076 1792 1519 1478 1191 1122 1241 2105 1818 1599 1663 1319 1219 1452 2091 1771
1710 2000 1518 1479 1586 1848 2113 1648 1542 1220 1299 1452 2290 1944 1701 1709 1462 1312 1365 2326
1971 1709 1700 1687 1493 1523 2382 1938 1658 1713 1525 1413 1363 2349 1923 1726 1862 1686 1534 1280
2233 1733 1520 1537 1569 1367 1129 2024 1645 1510 1469 1533 1281 1212 2099 1769 1684 1842 1654 1369
1353 2415 1948 1841 1928 1790 1547 1465 2260 1895 1700 1838 1614 1528 1268 2192 1705 1494 1697 1588
1324 1193 2049 1672 1801 1487 1319 1289 1302 2316 1945 1771 2027 2053 1639 1372 2198 1692 1546 1809
1787 1360 1182 2157 1690 1494 1731 1633 1299 1291 2164 1667 1535 1822 1813 1510 1396 2308 2110 2128
2316 2249 1789 1886 2463 2257 2212 2608 2284 2034 1996 2686 2459 2340 2383 2507 2304 2740 1869 654
1068 1720 1904 1666 1877 2100 504 1482 1686 1707 1306 1417 2135 1787 1675 1934 1931 1456 1363 2027
1740 1544 1727 1620 1232 1199
timeserie2
:
122 155 124 97 155 134 115 122 162 115 102 163 135 120 139 160 126 122 169 154
121 134 143 100 121 182 139 145 135 147 60 58 153 145 130 126 143 129 98 171
145 107 133 115 113 96 175 128 106 117 124 107 114 172 143 111 104 132 110 80
159 131 113 123 123 104 101 179 127 105 133 127 101 97 164 134 124 90 110 102
90 186 79 145 130 115 79 104 191 137 114 131 109 95 119 173 158 137 128 119
109 120 182 140 133 113 121 110 122 159 129 124 119 109 108 95 167 138 125 105
139 118 115 166 140 112 116 139 121 109 164 135 118 121 112 111 102 169 136 151
132 135 130 112 156 134 121 116 114 91 86 141 160 116 118 112 84 114 165 141
109 123 122 110 100 162 145 121 118 115 107 103 162 142 130 139 134 121 118 164
147 125 120 134 107 130 158 141 144 148 124 135 118 212 178 154 167 155 176 143
201 170 144 138 152 136 123 223 189 160 153 190 136 144 276 213 199 211 196 170
179 460 480 499 550 518 493 557 768 685 637 593 507 611 569 741 635 563 577 498
456 446 677 552 515 441 438 462 530 699 629 555 641 625 544 585 705 584 553 622
506 500 533 777 598 541 532 513 434 510 714 631 1087 1249 1102 913 888 1147 1056 1073
1075 1136 927 922 1066 1074 996 1189 1062 999 974 1174 1097 1055 1053 1097 1065 1171 843 441
552 779 883 773 759 890 404 729 703 810 743 743 946 883 813 876 841 742 715 960
862 743 806 732 669 621
la source
Réponses:
Vous pouvez appliquer un filtre déphaseur nul et couper toutes les fréquences supérieures à un certain seuil; cela vous donnerait une sorte de "tendance".
Par exemple, regardez cette question, " Comment puis-je exécuter un filtre passe-haut ou passe-bas sur les points de données dans R? " Ils montrent comment utiliser le filtre passe-bas Butterworth. Le problème avec ce filtre est qu'il ne s'agit pas d'un déphasage nul, c'est-à-dire que vous voyez que la phase de la composante basse fréquence est décalée par rapport au signal d'origine. Vous voudrez peut-être trouver le filtre qui ne change pas la phase. S'il s'agissait de données économiques, je suggérerais le filtre de Christiano selon "The Band Pass Filter" de Lawrence J. Christiano et Terry J. Fitzgerald (1999). Pour les données physiques, une tonne de filtres à déphasage nul doit être disponible.
MISE À JOUR:
Voici un exemple d'application du filtre passe-bande bas au LOG de la deuxième série temporelle. Le LOG est nécessaire pour égaliser l'écart.
MISE À JOUR2:
la source
La détection des tendances dans une série chronologique peut être simplement erronée ou plus agressive. Une série peut avoir des valeurs qui présentent une tendance, par exemple[1−B]y(t)=θ0+[MA/AR]a(t) , comme encore, on suppose une structure particulière.
1,2,3,4,5
, puis un changement de tendance à un ou plusieurs moments, par7,9,11,13,15,...
exemple . Un autre exemple est celui1,1,1,1,1,2,3,4,5,6
où aucune tendance n'est présente pour les 5 premières lectures, puis une tendance s'ensuit. Une série comme celle1,1,1,1,1,2,2,2,2,2
-ci aurait un changement de niveau (changement d'interception). AUTOBOXL'idée est de laisser les données "parler" et l'analyse "écouter" et détecter le "modèle correct" ou au moins un "modèle utile".
Orson Bean - ou peut-être quelqu'un d'autre - a dit un jour: "Une tendance est une tendance ... jusqu'à ce qu'elle se courbe, et lorsque la tendance se courbe, la tendance est à sa fin." Les tendances temporelles locales dans les séries chronologiques nécessitent l'identification des points de rupture et ensuite une estimation de la tendance locale. Quelques documents / références utiles peuvent être trouvés sur http://www.autobox.com/OLDWEB/udontsay.html
Si vous souhaitez publier des données, veuillez le faire et je vous ferai parvenir certains résultats.
la source