2017-06-26 5 views
0

Je suis nouveau à KNIME et j'essaie d'utiliser ARIMA pour l'extrapolation de mes données de séries chronologiques. Mais j'ai échoué à faire ARIMA Predictor pour faire son travail.Noeuds ARIMA dans KNIME comment utiliser?

données d'entrée sont au format suivant

year,cv_diff 
2011,-4799.099999999977 
2012,60653.5 
2013,64547.5 
2014,60420.79999999993 

Et je voudrais prédire les valeurs par exemple pour 2015 et 2016 ans. J'utilise le nœud String to Date/Time pour convertir l'année en date. Dans ARIMA Learner, je ne peux choisir que le champ cv_diff. Et c'est la première question: pour l'option 'Colonne contenant une série temporelle univariée' devrais-je définir la colonne ou la variable de l'année que je vais prédire? Mais dans mon cas, j'ai seulement une option - variable cv_diff. Après cela, je connecte la sortie de Learner avec l'entrée et l'exécution d'ARIMA Predictor. L'exécution échoue avec 'ERROR ARIMA Predictor 2: 3 L'exécution a échoué: la colonne avec la série chronologique définie n'a pas été trouvée. Veuillez configurer le noeud à nouveau. ' Aidez-moi à comprendre quelle variable dois-je définir pour l'apprenant et le prédicteur? Est-ce que ce devrait être des variables non-timeseries? Et comment les nœuds Arima vont-ils comprendre quelle colonne utiliser comme séries temporelles?

Répondre

1

Vous devez définir cv_diff comme variable de série temporelle et connecter l'entrée au prédicteur. (Et ne pas essayer de définir des valeurs trop grandes pour les paramètres comme avec si peu de points de données, l'apprentissage ne fonctionnera pas.)

Voici un exemple:

Predictor configuration with visualization

+0

@Gabbor Bakos Merci! Juste remarqué votre commentaire! Oui ... les gros paramètres ne fonctionneront pas pour un si petit ensemble de données. Peut-être pouvez-vous me parler de la zone grise autour de la ligne prédite? Est-ce la zone où il y a une probabilité d'obtenir la prochaine prédiction? – Deil

+0

Oui, la zone grise est celle où les points de données réels ont une probabilité de '.95'. (Cet intervalle de confiance peut être ajusté dans la visualisation et aussi dans la vue.) En visualisation, plusieurs modèles peuvent être montrés (mais pas avec le KNIME ARIMA Learner). –

+0

Merci encore une fois. – Deil

0

Enfin, j'ai pensé IT out. L'option «Colonne contenant des séries temporelles univariées» pour le nœud ARIMA Learner semble un peu déroutante, en particulier pour ceux qui ne sont pas familiers avec l'analyse des séries chronologiques. Je n'aurais pas dû fournir explicitement un champ de séries chronologiques, car ARIMA traite les variables sur lesquelles il va faire des prédictions telles qu'elles sont collectées dans des intervalles de temps égaux et peu importe le type d'intervalle qu'elles sont.

J'ai trouvé un bon explanation de ce que « séries temporelles univariée » signifie

The term "univariate time series" refers to a time series that consists of single (scalar) observations recorded sequentially over equal time increments. Some examples are monthly CO2 concentrations and southern oscillations to predict el nino effects. Although a univariate time series data set is usually given as a single column of numbers, time is in fact an implicit variable in the time series. If the data are equi-spaced, the time variable, or index, does not need to be explicitly given. The time variable may sometimes be explicitly used for plotting the series. However, it is not used in the time series model itself.

Alors, je choisirais cv_diff variables pour les apprenants et Predictor et ne fournissent pas de horodatages ou tout autres colonnes liées au temps.

Encore une chose que je n'ai pas comprise. Que je devrais m'entraîner sur certaines séries de données et ensuite fournir une autre série pour laquelle je veux des prédictions. C'est un peu différent des autres flux de travail Machine Learning lorsque vous devez fournir uniquement de nouvelles données et qu'il n'y a aucune notion de série du tout.