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!
la source
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 .
la source
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:
Méthodes de solution
Le premier, comme suggéré par whuber, est le modèle de régression des moindres carrés classique
Avantages:
Les inconvénients:
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:
Les inconvénients:
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.
la source
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:
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.
la source
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.
la source