2016-10-12 2 views
3

J'ai fait des recherches sur les réseaux neuronaux récurrents, mais j'ai de la difficulté à comprendre si et comment ils pourraient être utilisés pour analyser les données de panel (sens transversal). données de section qui sont capturées à différentes périodes dans le temps pour plusieurs sujets - voir exemples de données ci-dessous par exemple). La plupart des RNN que j'ai vu concernent des séquences de texte, plutôt que de vraies données de panel, donc je ne suis pas sûr si elles sont applicables à ce type de données.Comment traiter les données de panel à utiliser dans un réseau neuronal récurrent (RNN)

données Exemple:

ID TIME Y X1 X2 X3 
1  1  5  3  0 10 
1  2  5  2  2 6 
1  3  6  6  3 11 
2  1  2  2  7 2 
2  2  3  3  1 19 
2  3  3  8  6 1 
3  1  7  0  2 0 

Si je veux prédire Y à un moment donné compte tenu de la X1 covariables, X2 et X3 (ainsi que leurs valeurs dans les périodes précédentes), peut ce genre de séquence être évalué par un réseau neuronal récurrent? Si oui, avez-vous des ressources ou des idées sur la façon de transformer ce type de données en vecteurs de caractéristiques et en étiquettes correspondantes pouvant être transmises à un RNN (j'utilise Python, mais je suis ouvert à d'autres implémentations).

+0

Avez-vous trouvé une réponse à votre question? – edyvedy13

Répondre

0

Je ne trouve aucune raison de pouvoir former un réseau de neurones avec des données de panel. Qu'est-ce que le réseau de neurones fait est qu'il mappe un ensemble de valeurs avec un autre ensemble de valeurs qui ont une relation non linéaire. Dans une série chronologique, une valeur à une instance particulière dépend des valeurs précédentes. Exemple: votre prononciation d'une lettre peut varier en fonction de la lettre que vous avez prononcée tout à l'heure. Pour la prédiction de séries temporelles, le réseau neuronal récurrent surpasse les réseaux neuronaux d'anticipation. La façon dont nous formons des séries chronologiques avec un réseau d'alimentation habituel est illustrée dans cette image. En RNN, nous pouvons créer une boucle de rétroaction dans les états internes du réseau et c'est pourquoi RNN est plus à même de prédire les séries chronologiques. Dans votre exemple de données, une chose à considérer: les valeurs de x1, x2, x3 ont-elles un effet sur y1 ou vice-versa? Si ce n'est pas le cas, alors vous pouvez former votre modèle en tant que tel x1, x2, x3, y4 sont le même type de données que vous les entraînez indépendamment en utilisant le même réseau (sujet à l'expérimentation). Si votre objectif est de prédire une valeur où leurs valeurs ont un effet sur un autre corrélé, vous pouvez les convertir en données unidimensionnelles où la trame unique contient toutes les variantes du type d'échantillon. Un autre moyen consiste à former quatre réseaux de neurones où les trois premiers mappent leur série temporelle en utilisant RNN et le dernier est un réseau d'alimentation qui prend 2 entrées de 2 sorties de séries chronologiques et les mappe à la 3ème série temporelle et le fait pour toutes les combinaisons possibles. (encore soumis à l'expérimentation car nous ne pouvons pas prédire la performance du modèle de réseau neuronal sans expérimenter)

Lecture suggérée: Lisez à propos de "Cause causale de Granger", pourrait vous aider un peu.

+0

Merci pour la réponse. La partie que je ne suis pas sûr d'avoir, c'est que les données de panel traditionnelles sont différentes des séries temporelles en ce qu'elles ont des composantes transversales et des séries chronologiques. Je comprends que vous pourriez utiliser un RNN pour prédire la prochaine valeur dans une série chronologique (comme ce sera le prix de l'action de Google demain compte tenu du cours de l'action Google pour les 180 derniers jours - et vous pourriez avoir des éléments de causalité de Granger d'autres séries qui ont une relation causale mélangée). – user1895076

+0

Mais qu'en est-il du cas des vraies données de panel ci-dessus qui ont à la fois des sujets (la colonne ID) et des séries temporelles (la colonne TIME). Un scénario dans lequel vous avez des données comme celles-ci peut faire partie d'une étude sur la santé dans laquelle vous avez 100 patients et où vous effectuez le suivi de diverses mesures de santé au fil du temps pendant 12 mois. Vous auriez un élément de série temporelle (un patient avec une pression artérielle élevée au cours de chacun des 6 derniers mois de mesure aura probablement une tension artérielle élevée au 7ème mois) mais aussi un élément transversal (le patient 1 est différent du patient 2 est différent que le patient 3, etc.). – user1895076

+2

Pouvez-vous utiliser des RNN pour prédire l'état de plusieurs variables pour CHAQUE patient pour le mois 13 dans cet exemple, ou n'est-ce pas possible avec l'architecture RNN?(Traditionnellement, vous utiliseriez un modèle de régression à effets fixes ou à effets aléatoires pour faire ce dont je parle, mais je pensais qu'il y aurait des applications modernes de l'apprentissage automatique pour gérer ce type de problème, juste avoir du mal à trouver un exemple) . – user1895076