Outil Remplissage ST
L’outil Remplissage de séries temporelles prend un flux de données de séries temporelles et remplit les trous éventuels dans la série.
Cet outil est principalement utilisé comme étape de préparation pour l’utilisation d’outils et de macros liés aux séries temporelles en aval. Certains outils de série chronologique produisent des résultats inattendus ou des erreurs si le flux de données contient des lacunes dans la série chronologique, par exemple vous avez une série de données qui est censé contenir des mesures toutes les 5 minutes, mais vous n'avez pas réellement des mesures couvrant toutes les 5 minutes. Utilisez cette macro dès que vous soupçonnez que votre flux de données peut présenter des trous.
Cet outil utilise l’outil R. Allez dans Options > Télécharger les outils prédictifs et connectez-vous à la Portail Téléchargements et licences Alteryx pour installer l’outil R et les packages utilisés par ce dernier. Reportez-vous à la page Outil R. Voir Télécharger et utiliser les outils prédictifs.
Connecter une entrée
L'outil de remplissage TS requiert un flux de données dont la colonne contient des valeurs date ou DateTime.Designer
Configurer l’outil
Utilisez l' onglet Configuration pour définir les contrôles de la façon dont la série de temps est remplie.
- Sélectionnez date ou colonne DateTime: choisissez la date ou la colonne DateTime indiquant quand la ligne de données a été collectée.
- Intervalle: sélectionnez l'intervalle par lequel la série temporelle est mesurée. Les options comprennent la minute, l' heure, le jour, la semaine, le mois et l' année.
- Incrément: sélectionnez l'incrément par lequel chaque période de série temporelle unique doit être séparée. Vous pouvez définir l'incrément sur un entier compris entre 1 et 100.
Afficher la sortie
Chaque ligne entrant dans la macro apparaît dans la sortie. De plus, la macro évalue si des périodes de la série chronologique sont manquantes, et si c'est le cas, génère une ligne pour combler l'écart.
L’outil ajoute deux colonnes de données au flux de données entrant :
- OriginalDateTime: colonne DateTime contenant la valeur DateTime d'origine non altérée
- FlagGeneratedRow: colonne d'indicateur booléenne, avec "true" indiquant que la ligne de données a été générée par la macro pour remplir un intervalle de série chronologique; "false" indiquant qu'il s'agit d'une ligne de données source.
Pour les lignes de données source passant dans la macro :
- La colonne FlagGeneratedRow affichera une valeur « Faux » pour indiquer qu’il s’agit d’une ligne de données source et pas d’une ligne générée par la macro.
- La colonne [yourDateTimeColumn] sera arrondie à la période appropriée. Voir la section « Arrondissement » ci-dessous.
- Toutes les colonnes sources passeront dans la macro et ne seront pas altérées.
Pour les lignes qui ont été générées pour combler les trous :
- La colonne FlagGeneratedRow affichera la valeur « Vrai » pour indiquer que la ligne a été générée par la macro et qu’il ne s’agit pas d’une ligne de données source.
- La colonne [yourDateTimeColumn] sera renseignée par une valeur Date ou DateTime générée par la macro qui « comble » le trou identifié dans la série.
- Toutes les autres colonnes auront la valeur « Null ».
Dans la plupart des scénarios utilisés par les entreprises classiques, les périodes de séries temporelles sont gérées comme suit :
- "Time-Level": pour les intervalles
- "date-Level": pour les intervalles > = un jour, la période est "fin de période."
La seule modification apportée par la macro aux données entrantes est: un «arrondi» est appliqué à [yourDateTimeColumn]. Il se base sur trois éléments clés :
- Intervalle
- Valeur DateTime la plus récente dans le flux de données
- Incrément
D’abord, toutes les fractions de l’intervalle choisi sont tronquées. Par exemple, si vous choisissez « Heure » comme intervalle, la macro va tronquer toutes les minutes et les secondes à partir de la valeur DateTime, c’est-à-dire que 1:58pm deviendra 1:00pm.
Après avoir tronqué les fractions de l’intervalle choisi, la macro va alors déterminer quelles sont les périodes valides. La valeur DateTime la plus récente entrant dans la macro forme la base de la série. Si on poursuit l’exemple « heure-série » ci-dessus, si la valeur DateTime la plus récente dans [yourDateTimeColumn] était 1:58pm, alors la première période est 1:00pm. Si l’incrément choisi est 5, les périodes ultérieures sont générées sur la base de l’ajout successif de l’incrément choisi (5 heures) à la période précédente, ce qui dans ce cas revient à 1:00pm, 6:00pm, 11:00pm, etc.
Enfin, maintenant que toutes les périodes valides ont été déterminées, toutes les valeurs DateTime sont alors ajustées sur la période valide appropriée. Donc, une valeur brute de 5:59pm dans [yourDateTimeColumn] deviendrait 1:00pm, 6:02pm deviendrait 6:00pm, etc.
Une fois tous les ajustements DateTime appliqués par la macro, la colonne [yourDateTimeColumn] résultante représente effectivement une « étiquette » pour cette période. Cependant, le type de données est une colonne Date ou DateTime (plutôt qu’une chaîne) et, en tant que telle, il est possible que cette « étiquette » ne soit pas entièrement intuitive. La solution consiste à reconnaître que toute partie de « l’étiquette » Date ou DateTime qui représente une « fraction » de l’intervalle choisi doit être ignorée. Donc, si votre intervalle est « année », un exemple de période pourrait être « 2018-01-01 » mais c’est l’année qui importe dans l’étiquette ; les fractions de l’étiquette (le « 01-01 ») doivent être ignorées, ce qui signifie que la période est simplement l’année 2018, ou « toute heure en 2018 ». Consultez le tableau ci-dessous.
Notez que, mis à part l’« arrondissement » de la valeur DateTime décrit ci-dessus, la macro n’altère aucune donnée entrante. Elle n’effectue aucune combinaison, agrégation, attribution de valeur unique ou aucun type de validation sur les données entrantes. Cependant, à cause de l’arrondissement de la date, plusieurs mesures au sein de la même période ne porteront pas la même étiquette de période. Par conséquent, les données sont à présent plus propres et peuvent être plus facilement synthétisées car les données peuvent être « groupées » en fonction de cette étiquette de période arrondie et cohérente.
Notez que la macro ne tient pas compte de l’heure d’été donc, si vous avez une donnée de série niveau-heure qui traverses un passage à l’Heure d’été, il est possible que la macro génère une ligne heure (ou des lignes minutes) représentant une heure non valide. Par exemple, les zones où « au printemps on avance » d’une heure en mars auront des lignes générées pour l’heure 2am sur le jour du printemps où on avance même si cette heure n’a finalement jamais existé. (l'horloge commute de 1:59:59 à 3:00:00.) Cette heure peut facilement être enlevée avec un outil de filtre après la macro.
Pour clarifier le tout, le tableau suivant reprend les options d’intervalles disponibles, suivies par le type de données retourné, et indique si la période pour ce type d’intervalle est un intervalle « début de période » ou « fin de période ». Le tableau affiche un incrément d’exemple et la « première valeur brute » dans la série, pour illustrer comment sera l’étiquette de la période résultante et une description de ce que l’étiquette de la période signifie. Enfin, le tableau fait remarquer quelles sont les parties de l’étiquette de la période qui doivent être ignorées, soit les parties qui sont des fractions de l’intervalle.
Intervalle | Type de données retourné | Début/fin de période | Incrément exemple | Première valeur brute exemple | Étiquette première période de résultat | Description de la période | Ignorer sur étiquette de période |
---|---|---|---|---|---|---|---|
Minute |
DateHeure | Début | 2 | 2015-04-09 02:16:33 | 2015-04-09 02:16:00 | « La période de 2 minutes COMMENÇANT à 2:16, couvrant tout sur 2:16 et 2:17 » | Secondes |
Heure |
DateHeure | Début | 4 | 2015-04-09 02:16:33 | 2015-04-09 02:00:00 | « La période de 4 heures COMMENÇANT à 2, couvrant toutes les heures 2, 3, 4 et 5. » | Minutes ou moins |
Jour |
Date | Fin | 6 | 2015-04-09 02:16:33 | 2015-04-09 | « La période de 6 jours TERMINANT le 9/4, couvrant tout du 4/4 - 9/4. » | Heures ou moins |
Semaine |
Date | Fin | 1 | 2015-04-09 02:16:33 | 2015-04-09 | « La période de 1 semaine TERMINANT le 9/4, couvrant tout du 3/4 - 9/4. » | Heures ou moins |
Mois |
Date | Fin | 3 | 2015-04-09 02:16:33 | 2015-04-01 | « La période de 3 mois TERMINANT en avril, couvrant tout sur Février, Mars et Avril. » | Jours ou moins |
Année |
Date | Fin | 2 | 2015-04-09 02:16:33 | 2015-04-01 | « La période de 2 ans TERMINANT en 2015, couvrant tout 2014 et 2015. » | Mois ou moins |