Comment modéliser les prix?

15

J'ai posé cette question sur le site matemathics stackexchange et on m'a recommandé de la poser ici.

Je travaille sur un projet de passe-temps et j'aurais besoin d'aide pour résoudre le problème suivant.

Un peu de contexte

Disons qu'il existe une collection d'articles avec une description des fonctionnalités et un prix. Imaginez une liste de voitures et de prix. Toutes les voitures ont une liste de fonctionnalités, par exemple la taille du moteur, la couleur, la puissance, le modèle, l'année, etc. Pour chaque marque, quelque chose comme ceci:

Ford:
V8, green, manual, 200hp, 2007, $200
V6, red, automatic, 140hp, 2010, $300
V6, blue, manual, 140hp, 2005, $100
...

Pour aller encore plus loin, la liste des voitures avec prix est publiée avec un certain intervalle de temps, ce qui signifie que nous avons accès aux données de prix historiques. Pourrait ne pas toujours inclure exactement les mêmes voitures.

Problème

Je voudrais comprendre comment modéliser les prix de toute voiture sur la base de ces informations de base, surtout les voitures qui ne figurent pas dans la liste initiale.

Ford, v6, red, automatic, 130hp, 2009

Pour la voiture ci-dessus, c'est presque la même que celle de la liste, légèrement différente en puissance et en année. Pour fixer le prix, que faut-il?

Ce que je recherche, c'est quelque chose de pratique et de simple, mais j'aimerais aussi entendre des approches plus complexes sur la façon de modéliser quelque chose comme ça.

Ce que j'ai essayé

Voici ce que j'ai expérimenté jusqu'à présent:

1) en utilisant des données historiques pour rechercher la voiture X. S'il n'est pas trouvé, aucun prix. Ceci est bien sûr très limité et on ne peut l'utiliser qu'en combinaison avec une certaine décroissance temporelle pour modifier les prix des voitures connues au fil du temps.

2) en utilisant un système de pondération des caractéristiques de la voiture avec un exemple de voiture au prix. Fondamentalement, il existe un prix de base et les fonctionnalités modifient simplement cela avec un certain facteur. Sur cette base, le prix de toute voiture est dérivé.

Le premier s'est avéré insuffisant et le second s'est avéré ne pas toujours être correct et je n'aurais peut-être pas eu la meilleure approche pour utiliser les poids. Cela semble également être un peu lourd pour maintenir les poids, c'est pourquoi j'ai pensé qu'il y avait peut-être un moyen d'utiliser les données historiques comme statistiques d'une manière ou d'une autre pour obtenir des poids ou obtenir autre chose. Je ne sais pas par où commencer.

Autres aspects importants

  • intégrer dans un projet logiciel que j'ai. Soit en utilisant les bibliothèques existantes ou en écrivant moi-même un algorithme.
  • recalcul rapide lorsque de nouvelles données historiques arrivent.

Des suggestions sur la manière d'aborder un problème comme celui-ci? Toutes les idées sont les bienvenues.

Merci beaucoup à l'avance et j'ai hâte de lire vos suggestions!

murrekatt
la source

Réponses:

11

"Pratique" et "simple" suggèrent une régression des moindres carrés . Il est facile à configurer, à utiliser avec de nombreux logiciels (R, Excel, Mathematica, n'importe quel progiciel de statistiques), facile à interpréter et peut être étendu de nombreuses façons en fonction de la précision que vous souhaitez être et de la difficulté prêt à travailler.

Cette approche est essentiellement votre «schéma de pondération» (2), mais elle trouve facilement les pondérations, garantit autant de précision que possible et est facile et rapide à mettre à jour. Il existe de nombreuses bibliothèques pour effectuer des calculs de moindres carrés.

Cela aidera à inclure non seulement les variables que vous avez énumérées - type de moteur, puissance, etc. - mais aussi l' âge de la voiture. De plus, assurez-vous d'ajuster les prix en fonction de l'inflation.

whuber
la source
Vendu! Cela sonne exactement ce que je recherche! Comme je suis tout nouveau dans ce domaine, j'ai du mal à comparer les suggestions, alors je me demande comment la régression des moindres carrés se comparerait-elle à la régression multiple et à la "tarification hédonique". Ce sont des suggestions que j'ai reçues sur le site de mathématiques où j'ai initialement posté. Que suis-je en train de corriger lorsque j'utilise la régression des moindres carrés par exemple? Fondamentalement, y a-t-il quelque chose dont je dois être conscient lors de l'utilisation de cette approche?
murrekatt
merci aussi pour cette suggestion. Cela semble très bien. Je vais devoir en lire plus pour avoir une idée de comment je peux commencer pour voir comment l'utiliser.
murrekatt
3
Je veux reconnaître et exprimer mon accord avec les mises en garde publiées par @mpiktas et @dimitrij celov. Les analyses de prix peuvent être - et dans de nombreux cas devraient l' être - aussi complexes que les systèmes économiques dont elles font partie. Cependant, en raison de l'application prévue (un passe-temps) et des limites clairement signalées dans les capacités du PO pour la modélisation statistique, nous devrions accorder une grande valeur à la simplicité, à la facilité d'utilisation et à l'interprétabilité. De toute évidence, quelqu'un qui ne connaît pas encore les moindres carrés ne va pas se lancer et commencer à créer des modèles économétriques à part entière.
whuber
5

Je suis d'accord avec @whuber, que la régression linéaire est un chemin à parcourir, mais il faut faire attention lors de l'interprétation des résultats. Le problème est qu'en économie le prix est toujours lié à la demande. Si la demande augmente, les prix augmentent, si la demande baisse, les prix baissent. Ainsi, le prix est déterminé par la demande et en retour, la demande est déterminée par le prix. Donc, si nous modélisons le prix comme une régression à partir de certains attributs sans la demande, il y a un réel danger que les estimations de régression soient erronées en raison du biais de variable omise .

mpiktas
la source
@mpiktas: merci. Je comprends ce que tu veux dire. C'était une chose à laquelle je pensais, mais je ne savais pas exactement comment poser ou ajouter à la question. Comment gère-t-on ce que vous expliquez? Est-ce un problème qui est distinct et que vous écrivez pour être pris en compte lors de l'interprétation des résultats, ou est-ce intégré dans d'autres approches et ne fait-il pas partie de la régression des moindres carrés? Je ne sais pas comment me formuler, mais ce que je veux dire, c'est qu'il existe des approches qui en tiennent compte et d'autres qui ne le font pas? Ce qui veut dire que pour le "non" il faut interpréter les résultats?
murrekatt
3
@murekatt, si vous n'avez pas de données supplémentaires sur demande, mais que vous avez besoin du modèle pour le prix, vous gérez cela en faisant très attention. Cela signifie moins d'attention à la signification statistique des coefficients, mais plus d'attention à la prévision des performances. Essentiellement, cela signifie traiter la régression comme une boîte noire et utiliser les performances de prévision du modèle comme mesure de la validité du modèle. Cela signifie utiliser la validation croisée, la division des données pour former et tester des échantillons, etc.
mpiktas
@mpiktas: que voulez-vous dire par "données supplémentaires"? Pourriez-vous s'il vous plaît donner un exemple de cela dans le contexte de la voiture?
murrekatt
1
@murrekatt, regardez la fin de la réponse mise à jour de Dmitrij. Les données de demande sont importantes, donc si vous avez combien de voitures ont été vendues avec un prix donné, cela aiderait énormément. De plus, si vous avez des données sur la façon dont les changements de prix pour la voiture donnée avec des attributs fixes, cela devrait également se refléter dans votre modèle
mpiktas
1
@murekatt, en principe oui. Je pense que vous devez commencer petit et ajouter des fonctionnalités supplémentaires plus tard. Les premiers résultats vous diront dans quelle direction aller plus loin.
mpiktas
4

Ce que je recherche, c'est quelque chose de pratique et de simple, mais j'aimerais aussi entendre des approches plus complexes sur la façon de modéliser quelque chose comme ça.

Après une sorte de discussion, voici ma vision complète des choses

Le problème

Objectif: mieux comprendre comment évaluer les voitures

Contexte: dans leur processus de décision, les gens résolvent plusieurs questions: ai-je besoin d'une voiture, si je le fais, quels sont les attributs que je préfère le plus (y compris le prix, parce que, étant rationnel, j'aimerais avoir une voiture avec le meilleur rapport qualité / prix) , comparez le nombre d'attributs entre différentes voitures et choisissez de les évaluer conjointement .

De la position du vendeur, je voudrais fixer le prix le plus haut possible et vendre la voiture le plus rapidement possible. Donc, si je fixe le prix trop haut et que j'attends des mois, il pourrait être considéré comme non demandé sur le marché et marqué de 0 par rapport aux ensembles d'attributs très demandés.

Observations: offres réelles qui relient les attributs d'une voiture particulière avec le prix fixé dans le processus de négociation (en ce qui concerne la remarque précédente, il est important de savoir combien de temps il faut pour conclure l'offre).

Avantages: vous observez les choses qui ont été réellement achetées sur le marché, donc vous ne devinez pas s'il existe une personne avec un prix de réservation suffisamment élevé qui veut acheter une voiture particulière

Les inconvénients:

  1. votre hypothèse est que le marché est efficace, ce qui signifie que les prix que vous observez sont proches de l'équilibre
  2. vous ignorez les variantes des attributs de voiture qui n'ont pas été achetés ou qui ont pris trop de temps pour définir l'accord, ce qui signifie que vos informations sont biaisées , vous travaillez donc avec des modèles de variables latentes
  3. En observant les données pendant longtemps, vous devez les dégonfler, bien que l'inclusion de l'âge de la voiture compense en partie cela.

Méthodes de solution

Le premier, comme suggéré par whuber, est le modèle de régression des moindres carrés classique

Avantages:

  1. en effet la solution la plus simple car c'est le cheval de bataille de l'économétrie

Les inconvénients:

  1. ignore que vous observez les choses de manière incomplète ( variables latentes )
  2. agit comme les régresseurs sont indépendants l'un de l'autre, donc le modèle de base ignore le fait que vous pouvez aimer la Ford bleue différemment de la Mercedes bleue , mais ce n'est pas la somme de l'influence marginale qui vient du bleu et de Ford

En cas de régression classique, puisque vous n'êtes pas limité dans les degrés de liberté, essayez également différents termes d'interaction.

Par conséquent, une solution plus compliquée serait le modèle tobit ou Heckman , vous pouvez consulter AC Cameron et PK Trivedi Microeconometrics: méthodes et applications pour plus de détails sur les méthodes de base.

Avantages:

  1. vous séparez le fait que les gens peuvent ne pas aimer du tout certains ensembles d'attributs, ou certains ensembles d'attributs ont une faible probabilité d'être achetés à partir du prix réel
  2. vos résultats ne sont pas biaisés (ou au moins moins que dans le premier cas)
  3. dans le cas de Heckman, vous séparez les raisons qui motivent l'achat de la voiture particulière de la décision de prix de combien je voudrais payer pour cette voiture: la première est influencée par les préférences individuelles, la seconde par la contrainte budgétaire

Les inconvénients:

  1. Les deux modèles sont plus gourmands en données , c'est-à-dire que nous devons observer soit la durée entre la demande et l'offre pour égaliser (si elle est assez courte, mettre 1, sinon 0), soit observer les ensembles qui ont été ignorés par le marché

Et, enfin, si vous souhaitez simplement savoir comment le prix influence la probabilité d'être acheté, vous pouvez travailler avec une sorte de modèle logit .

Nous avons convenu que l' analyse conjointe ne convient pas ici, car vous avez un contexte et des observations différents.

Bonne chance.

Dmitrij Celov
la source
Comment appliqueriez-vous exactement un modèle logit multinomial, dont la variable dépendante est catégorique, à des prix qui ne le sont pas?
whuber
@Dmitrij Celov: Merci pour votre suggestion. Je vais essayer de répondre à vos questions. 1) Aucun prix n'est disponible, c'est l'inconnu auquel j'aimerais répondre en regardant des voitures similaires. 2) Je ne sais pas quelle variable pèse le plus - c'est ce que j'espérais obtenir. 3) Je voudrais, sur la base d'une liste de voitures avec des fonctionnalités et des prix, pouvoir évaluer n'importe quelle voiture avec des fonctionnalités.
murrekatt
Kj-1j10P(yje=1|yj=0)=11+e-β(Xje-Xj)yjeyj
@murrekatt: 1) Donc, vous recherchez simplement les attributs les plus "précieux"? 2) Les paramètres estimés de Logit sont bien interprétés comme les cotes et les rapports de cotes, mais le logit multinomial a une caractéristique faible connue sous le nom d' indépendance vis-à-vis des alternatives non pertinentes 3) Pouvez-vous être sûr que les prix indiqués sont pertinents, c'est-à-dire que les voitures ont été réellement achetées? @whuber: la régression simple fonctionne bien ici, si la dépendance est le prix, mais encore quel prix? publié où? ou s'agit-il de la transaction actuall?
Dmitrij Celov,
2
@Dimitrij Price n'est pas une variable indépendante: c'est la variable dépendante : "Je voudrais comprendre comment modéliser les prix d'une voiture sur la base de ces informations de base." Je crains qu'avec cette méprise vous ne preniez @murrekatt très loin.
whuber
4

Cela ressemble aussi à un problème de régression linéaire, mais qu'en est-il de K voisins voisins KNN . Vous pouvez trouver une formule de distance entre chaque voiture et calculer le prix comme la moyenne entre les K (disons 3) les plus proches. Une formule de distance peut être euclidienne, comme la différence de cylindres plus la différence de portes, plus la différence de puissance, etc.

Si vous optez pour la régression linéaire, je suggérerais deux choses:

  • Échelle de la valeur en dollars jusqu'à nos jours pour tenir compte de l'inflation.
  • Divisez vos données en époques. Je parie que vous constaterez que vous aurez besoin d'un modèle pour la pre ww2 et la post ww2 par exemple. Mais ce n'est qu'une intuition.
  • Validez votre modèle en croix pour éviter un ajustement excessif. Divisez vos données en 5 morceaux. Former sur 4 et urne le modèle sur le 5ème morceau. Résumez les erreurs, rincez, répétez pour les autres morceaux.

Une autre idée est de faire un hybride entre les modèles. Utilisez la régression et KNN comme points de données et créez le prix final comme moyenne pondérée ou quelque chose.

dwatson
la source
3

Outre ce qui a été dit, et pas vraiment très différent de certaines des suggestions déjà faites, vous voudrez peut-être jeter un œil à la vaste littérature sur les modèles de tarification hédoniques . Il se résume à un modèle de régression essayant d'expliquer le prix d'un bien composite en fonction de ses attributs.

Cela vous permettrait de fixer le prix d'une voiture en connaissant ses attributs (puissance, taille, marque, etc.), même si un mélange d'attributs exactement similaire n'est pas présent dans votre échantillon. Il s'agit d'une approche très populaire pour l'évaluation des actifs essentiellement non reproductibles - comme les biens immobiliers réels. Si vous recherchez des «modèles hédoniques» sur Google, vous trouverez de nombreuses références et exemples.

F. Tusell
la source
@F. Tusell: c'était une bonne description. J'ai déjà confondu cela avec d'autres articles, mais cela résumait bien les choses pour un débutant comme moi.
murrekatt