Régression des données incluant une date


8

J'ai un ensemble de données qui contient quelques centaines de transactions provenant de trois fournisseurs opérant dans plus de 100 pays sur une période de trois ans.

Nous avons constaté que le pays de vente n'est pas un facteur significatif dans les prix atteints (les produits sont des produits plus ou moins mondiaux). Tous les prix ont considérablement diminué au fil du temps. Chaque jour, plusieurs transactions peuvent être effectuées à des prix différents par le même fournisseur (c'est-à-dire dans différents pays).

Je voudrais vérifier s'il existe une différence statistiquement significative dans les prix pratiqués par les différents fournisseurs.

Les données ressemblent à ceci:

    Country X  1/1/2010  $200 Supplier A
    Country Y  1/1/2010  $209 Supplier A
    Country Z  1/1/2010  $187 Supplier A
    Country A  1/1/2010  $200 Supplier B
    Country X  1/2/2010  $188 Supplier B

Auriez vous des idées pour faire ça?.....


3
L'analyse des données longitudinales est un vaste domaine. Pour donner une bonne réponse à cette question, plus d'informations sur l'effet que vous attendez du temps est nécessaire. Sans cela, il n'est pas clair si les réponses que vous avez reçues sont bonnes ou non (c'est pourquoi il est bon de clarifier la question avant, pas après, vous répondez ...) . Je sais que vous avez dit que les prix baissent au fil du temps, mais y a-t-il plus? Par exemple, des mesures répétées sur le même pays devraient-elles être corrélées? Si c'est le cas, aucune des réponses existantes ne fera ce dont vous avez besoin.
Macro

1
Grands points! @Macro Je m'attendrais à une certaine corrélation entre plusieurs points de données dans le même pays (les prix peuvent être un peu collants). De plus, j'ai exécuté le test durban-watson et constaté que les résidus sont autocorrélés. On dirait que celui-ci peut me dépasser. Il serait peut-être temps d'appeler un vrai statisticien.
Tom

2
si vous êtes dans R, il existe des fonctions pour gérer les dates, et je ne serais pas surpris si R était capable de gérer des données comme celle-ci de manière assez élégante sans que vous ayez à en spécifier beaucoup plus que vous ne le feriez régulièrement. Voir ceci
bdeonovic

Vous devez absolument prendre en compte l'autocorrélation et l'intégrer. Il semble qu'une analyse des séries chronologiques soit de mise. +1 pour avoir reconnu la nécessité de faire appel à "un vrai statisticien". Il existe de nombreux statisticiens réputés disponibles sur le site Web de l'American Statistical Association et beaucoup peuvent être trouvés dans les universités locales.
StatsStudent

Réponses:


2

Il semble que vous ayez besoin d'utiliser des méthodes de séries chronologiques, telles que ARMA ou ARIMA, qui vous permettent de calculer une régression en utilisant le temps comme variable indépendante sans violer l'hypothèse d'observations indépendantes de l'OLS.

Vous pouvez essayer une analyse en deux étapes: - utilisez d'abord le temps comme variable prédictive unique et utilisez une méthode de série chronologique appropriée - deux voient s'il y a une différence significative dans les résidus entre les deux fournisseurs. (Un simple test t pourrait suffire.)


0

Il y a plusieurs façons. Une option consiste à convertir les dates en jours après le tout premier jour. De plus, vous pourriez avoir des variables supplémentaires de jours de la semaine (tendances à travers la semaine) et du mois (pour voir les tendances à certaines périodes de l'année). Ce faisant, vous pouvez utiliser la régression multiple.

Pour obtenir la variable "# de jours après le premier jour", je crois (à la fois Excel et R) que vous pouvez simplement soustraire les données antérieures de cette dernière date et obtenir la différence de jour. Alors peut-être essayez de soustraire 1/1/2010 de toutes vos dates. Vous devez également indiquer à R que la nouvelle valeur est numérique en utilisant as.numeric ()

EDIT: R semble lire l'année en premier, donc vous devrez peut-être déconner un peu les dates. voir ceci: /programming/2254986/how-to-subtract-days-in-r

L'analyse des séries chronologiques est une autre approche, mais je ne la connais pas trop bien.


0

Je peux vous conseiller d'utiliser une fonction non linéaire pour la variable temps car les prix baissent moins avec chaque unité de temps supplémentaire. Sinon, le prix tomberait finalement en dessous de zéro. De plus, il peut y avoir des périodes où la tendance a changé. Je recommande donc d'utiliser des splines cubiques pour la variable de temps.

L'expérience me chuchote que je vérifierais le modèle suivant:
Y = country_parameter * price (t) * e

où le prix (t) est une fonction, de préférence une spline cubique, mais il peut également s'agir d'une tendance quelconque, même linéaire. Notez qu'il y a des signes de multiplication, pas des sommes, dans le modèle.


-1

Choisissez une date de référence, par exemple 1/1/2010, et créez une nouvelle variable timequi est la différence entre la date et la date de référence, où la différence est calculée, disons, en jours.

Exécutez maintenant une régression linéaire (ou quelque chose de similaire) avec timeet suppliercomme deux variables prédictives et pricecomme variable de réponse.

Ce n'est qu'un point de départ.


4
Salut, je l'ai fait, mais viole-t-il l'une des hypothèses de régression? c'est-à-dire que les points sont des observations indépendantes? le tracé résiduel semble correct.
Tom

2
Bon point. Il est toujours bon de se méfier des résultats de régression linéaire, car les hypothèses ne sont jamais satisfaites à 100%. En particulier, l'erreur standard pourrait être largement sous-estimée si les résidus sont corrélés, comme vous le suggérez. Pour vérifier l'indépendance, l'option est d'utiliser le test Durban Watson, comme ceci: tc.umn.edu/~ryoox001/images/DurbinWatson_test.pdf
zkurtz

Grands points! Je m'attendrais à une certaine corrélation entre plusieurs points de données dans le même pays (les prix peuvent être un peu collants). De plus, j'ai exécuté le test durban-watson et constaté que les résidus sont autocorrélés. On dirait que celui-ci peut me dépasser. @zkurtz Il serait peut-être temps d'appeler un vrai statisticien.
Tom

1
C'est une idée fausse que les observations de régression doivent être iid. Les erreurs doivent seulement être non corrélées et avec une variance constante. Si quoi que ce soit, l'ajout d'un effet fixe pour le temps pourrait aider à garantir que cette condition est remplie. La seule chose qui peut mal tourner ici est le sur-ajustement et / ou une perte de précision en raison d'un trop grand nombre de paramètres pour les données. Il convient probablement de souligner que les équations pour l'ajustement des modèles ARMA stationnaires (V) se réduisent à OLS.
shadowtalker

Afin de gérer la corrélation série, vous voudrez probablement utiliser une approche d'analyse de séries chronologiques ou au minimum un modèle GEE ou à effets mixtes capable de gérer la nature corrélée de vos données.
StatsStudent
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.