[Python] Création de DataFrame pour une analyse de données de panel

a marqué ce sujet comme résolu.

Bonjour,

J’aimerais vous demander comment créer une DataFrame en Pandas pour une analyse de données de panel, notamment une régression de panel. Sur la documentation il n’est pas précisé en fait comment ordonner les yi (la variable à expliquer pour l’individu i) par rapport aux xi (la variable explicative pour l’individu i). Juste pour un cas simple avec deux individus A et B pour lesquels on observe yA,t, xA,t et yB,y, xB,t respectivement, sur une durée de t=10, je ne sais pas quel va être le MultiIndex par exemple, est-ce que ça va être A et B, ou les dates… ?

J’espère que vous pourrez m’aider.

Merci d’avance.

+0 -0

Salut,

Ta question n’est pas super claire…

Sur la documentation il n’est pas précisé en fait comment ordonner les yi (la variable à expliquer pour l’individu i) par rapport aux xi (la variable explicative pour l’individu i).

Ben… Si xi et yi correspondent au même individu, quel est le problème ? Qu’est-ce que tu veux ordonner en plus ?

Juste pour un cas simple avec deux individus A et B pour lesquels on observe yA,t, xA,t et yB,y, xB,t respectivement, sur une durée de t=10, je ne sais pas quel va être le MultiIndex par exemple, est-ce que ça va être A et B, ou les dates… ?

Les MultiIndex sont juste une façon d’indexer un tableau 2D comme si il avait plus de dimensions. Tu peux très bien mettre par exemple l’individu puis x et y pour les deux niveaux du MultiIndex, et t sur les colonnes, ou bien les individus et les temps comme MultiIndex et x et y en colonnes, ou encore x et y, et t comme MultiIndex et les individus en colonnes. Tu pourrais même mettre les trois comme MultiIndex d’une série à une seule dimension. Ce choix n’a finalement que peu d’importance. Il va surtout dépendre de ce qui est le plus pratique à faire suivant le format d’entrée et ce que tu veux faire avec tes données, mais comme tu nous donnes très peu d’informations, il est difficile de t’aider…

Si tu pouvais nous préciser ce que tu veux faire avec tes données, ton format d’entrée, et les fonctions pandas que tu veux utiliser, on pourrait t’orienter plus précisément. En l’état, ta demande est assez floue…

+0 -0

Bonjour,

Excusez-moi pour ma réponse tardive. Je viens de m’apercevoir que ma réponse manque cruellement de détails. J’aimerais utiliser la fonction PanelOLS sur des données de panel constituées de deux individus pour lesquels j’ai deux séries temporelles différentes. Le problème c’est que je ne sais pas quelle représentation des données PanelOLS accepte pour qu’il fasse les calculs de régression, notamment comment la fonction va reconnaître la série 1 comme série explicative, la série 2 comme celle à expliquer, et les individus A et B.

Merci d’avance.

Salut,

Tu parles de cette fonction du module linearmodels ? La doc est plutôt bien faite, la fonction attend deux tableaux 2D avec le temps en ligne et les entités en colonnes. Le premier tableau est la variable expliquée et le second la variable explicative. Tu peux par ailleurs vérifier très facilement que la donnée est comprise correctement en lisant la sortie de cette fonction qui contient des informations sur la forme des données, notamment le nombre d’entités. Donc essayer et vérifier semble le moyen le plus rapide d’être sûr de ce que tu fais.

Si tu parles spécifiquement de pandas.stats.plm.PanelOLS, cette fonction n’existe plus et tu as donc intérêt à utiliser celle de linearmodels. Cette page peut t’intéresser.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte