Como modelar preços?

15

Fiz essa pergunta no site matemathics stackexchange e foi recomendado fazer aqui.

Estou trabalhando em um projeto de hobby e precisaria de ajuda com o seguinte problema.

Um pouco de contexto

Digamos que haja uma coleção de itens com uma descrição dos recursos e um preço. Imagine uma lista de carros e preços. Todos os carros têm uma lista de recursos, por exemplo, tamanho do motor, cor, potência, modelo, ano etc. Para cada marca, algo como isto:

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

Indo além, a lista de carros com preços é publicada com algum intervalo de tempo, o que significa que temos acesso a dados históricos de preços. Nem sempre pode incluir exatamente os mesmos carros.

Problema

Gostaria de entender como modelar os preços de qualquer carro com base nessas informações básicas, principalmente os carros que não estão na lista inicial.

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

Para o carro acima, é quase o mesmo que o da lista, apenas um pouco diferente em potência e ano. Para determinar o preço, o que é necessário?

O que estou procurando é algo prático e simples, mas também gostaria de ouvir sobre abordagens mais complexas sobre como modelar algo assim.

O que eu tentei

Aqui está o que eu tenho experimentado até agora:

1) usando dados históricos para procurar carro X. Se não encontrado, não há preço. É claro que isso é muito limitado e só se pode usar isso em combinação com algum tempo de deterioração para alterar os preços dos carros conhecidos ao longo do tempo.

2) usando um esquema de ponderação de recurso de carro junto com um carro de amostra com preço. Basicamente, existe um preço base e os recursos apenas alteram isso com algum fator. Com base nisso, o preço de qualquer carro é calculado.

O primeiro mostrou-se insuficiente e o segundo nem sempre estava correto, e talvez eu não tivesse a melhor abordagem para usar os pesos. Isso também parece um pouco pesado para manter pesos, então é por isso que pensei que talvez houvesse alguma maneira de usar os dados históricos como estatísticas de alguma forma para obter pesos ou obter outra coisa. Só não sei por onde começar.

Outros aspectos importantes

  • integrar em algum projeto de software que eu tenho. Ou usando bibliotecas existentes ou escrevendo o algoritmo.
  • recálculo rápido quando novos dados históricos são recebidos.

Alguma sugestão de como um problema como esse poderia ser abordado? Todas as idéias são mais que bem-vindas.

Agradecemos antecipadamente e estamos ansiosos para ler suas sugestões!

Murrekatt
fonte

Respostas:

11

"Prático" e "simples" sugerem regressão de mínimos quadrados . É fácil de configurar, fácil de usar com muitos softwares (R, Excel, Mathematica, qualquer pacote de estatísticas), fácil de interpretar e pode ser estendido de várias maneiras, dependendo da precisão que você quer ser e do quão duro é. disposto a trabalhar.

Essa abordagem é essencialmente o seu "esquema de ponderação" (2), mas encontra os pesos facilmente, garante a maior precisão possível e é fácil e rápido de atualizar. Existem muitas bibliotecas para realizar cálculos de mínimos quadrados.

Isso ajudará a incluir não apenas as variáveis ​​que você listou (tipo de motor, potência, etc.), mas também a idade do carro. Além disso, certifique-se de ajustar os preços pela inflação.

whuber
fonte
Vendido! Parece exatamente o que estou procurando! Como sou novato nisso, estou tendo problemas para comparar sugestões, então estou me perguntando como a regressão de mínimos quadrados se compara à regressão múltipla e à "precificação hedônica". Essas são sugestões que recebi no site de matemática em que postei inicialmente. O que estou corrigindo ao usar a regressão de mínimos quadrados, por exemplo? Basicamente, há algo que eu preciso estar ciente ao usar essa abordagem?
murrekatt
também obrigado por esta sugestão. Parece muito bom. Vou ter que ler mais para ter uma idéia de como posso começar a ver como usá-lo.
murrekatt
3
Quero agradecer e expressar meu acordo com as advertências postadas por @mpiktas e @dimitrij celov. As análises de preços podem ser - e em muitos casos devem ser - tão complexas quanto os sistemas econômicos dos quais fazem parte. No entanto, devido à aplicação pretendida (um hobby) e às limitações claramente sinalizadas nos recursos do OP para modelagem estatística, devemos valorizar a simplicidade, a facilidade de uso e a interpretabilidade. Obviamente, alguém ainda não familiarizado com o mínimo de quadrados não entrará em ação e começará a criar modelos econométricos completos.
whuber
5

Concordo com @whuber, que a regressão linear é um caminho a percorrer, mas é preciso ter cuidado ao interpretar os resultados. O problema é que, na economia, o preço está sempre relacionado à demanda. Se a demanda aumenta, os preços aumentam, se a demanda diminui, os preços diminuem. Portanto, o preço é determinado pela demanda e, em troca, a demanda é determinada pelo preço. Portanto, se modelarmos o preço como uma regressão a partir de alguns atributos sem a demanda, há um risco real de que as estimativas de regressão estejam erradas devido ao viés da variável omitida .

mpiktas
fonte
@mpiktas: obrigado. Eu entendo o que você quer dizer. Isso era algo em que eu estava pensando, mas não sabia exatamente como perguntar ou adicionar à pergunta. Como alguém lida com o que você explica? Esse é um problema separado e, à medida que você escreve, deve ser levado em consideração na interpretação dos resultados, ou isso está integrado em outras abordagens e não faz parte da regressão de mínimos quadrados? Não tenho certeza de como me formular, mas o que quero dizer é que existem abordagens que levam isso em conta e outras que não? O que significa que, para o "não", devemos interpretar os resultados?
murrekatt
3
@murekatt, se você não possui dados adicionais sob demanda, mas precisa do modelo por preço, lida com isso tomando cuidado extra. Isso significa menos atenção à significância estatística dos coeficientes, mas mais atenção ao desempenho da previsão. Essencialmente, isso significa tratar a regressão como caixa-preta e usar o desempenho de previsão do modelo como medida de validade do modelo. Isso significa usar validação cruzada, divisão de dados para treinar e testar amostras, etc.
mpiktas
@mpiktas: o que você quer dizer com "dados adicionais"? Você poderia dar um exemplo disso no contexto do carro?
murrekatt
1
@murrekatt, veja o final da resposta atualizada de Dmitrij. Os dados de demanda são importantes, portanto, se você tiver quantos carros foram vendidos com determinado preço, isso ajudaria tremendamente. Além disso, se você tiver dados de como o preço muda para um determinado carro com atributos fixos, isso também deve ser refletido em seu modelo
mpiktas
1
@murekatt, em princípio sim. Eu acho que você precisa começar pequeno e adicionar recursos adicionais mais tarde. Os resultados iniciais indicam a direção a seguir.
Mvctas
4

O que estou procurando é algo prático e simples, mas também gostaria de ouvir sobre abordagens mais complexas sobre como modelar algo assim.

Após algum tipo de discussão, aqui está minha visão completa das coisas

O problema

Objetivo: entender como precificar melhor os carros

Contexto: no processo de decisão, as pessoas resolvem várias perguntas: eu preciso de um carro, se precisar, quais atributos eu prefiro (incluindo o preço, porque, sendo racional, eu gostaria de ter um carro com a melhor relação qualidade / preço) , compare o número de atributos entre carros diferentes e escolha a avaliação conjunta deles .

Na posição de vendedor, eu gostaria de definir o preço o mais alto possível e vender o carro o mais rápido possível. Portanto, se eu definir um preço muito alto e aguardar meses, ele poderá ser considerado como não exigido no mercado e marcado com 0 em comparação com conjuntos de atributos muito exigidos.

Observações: negócios reais que relacionam os atributos de um carro em particular com o preço estabelecido no processo de negociação (em relação à observação anterior, é importante saber quanto tempo leva para definir o negócio).

Prós: você observa as coisas que foram realmente compradas no mercado; portanto, você não está imaginando se existe uma pessoa com um preço de reserva alto o suficiente que queira comprar um carro específico

Contras:

  1. você assume que o mercado é eficiente, o que significa que os preços observados estão próximos do equilíbrio
  2. você ignora as variantes dos atributos do carro que não foram comprados ou demoraram muito para definir a oferta, o que significa que suas informações são tendenciosas ; portanto, você trabalha com modelos de variáveis ​​latentes
  3. Observando os dados por um longo tempo, você precisa esvaziá-los, embora a inclusão da idade do carro compense parcialmente isso.

Métodos de solução

O primeiro, como sugerido por whuber, é o modelo clássico de regressão de mínimos quadrados

Prós:

  1. na verdade, a solução mais simples, pois é o cavalo de trabalho da econometria

Contras:

  1. ignora que você observa as coisas incompletamente ( variáveis ​​latentes )
  2. age como os regressores são independentes um do outro, então o modelo básico ignora o fato de que você pode gostar do Ford azul de maneira diferente do azul da Mercedes , mas não é a soma da influência marginal que vem do azul e do Ford

No caso de regressão clássica, como você não está limitado nos graus de liberdade, tente também termos de interação diferentes.

Portanto, uma solução mais complicada seria o modelo tobit ou Heckman ; você pode consultar a AC Cameron e a PK Trivedi Microeconometrics: métodos e aplicativos para obter mais detalhes sobre os métodos principais.

Prós:

  1. você separa o fato de que as pessoas podem não gostar de alguns conjuntos de atributos ou de que um conjunto de atributos tem uma pequena probabilidade de ser comprado da configuração de preço real
  2. seus resultados não são tendenciosos (ou pelo menos menores que no primeiro caso)
  3. no caso da Heckman, você separa os motivos que motivam a comprar o carro em particular da decisão de preço de quanto eu gostaria de pagar por esse carro: o primeiro é influenciado pelas preferências individuais, o segundo pela restrição orçamentária.

Contras:

  1. Ambos os modelos são mais gananciosos em termos de dados , ou seja, precisamos observar o tempo entre a solicitação e o lance para equalizar (se for relativamente curto colocar 1, mais 0) ou observar os conjuntos que foram ignorados pelo mercado

E, finalmente, se você estiver simplesmente interessado em saber como o preço influencia a probabilidade de compra, poderá trabalhar com algum tipo de modelo de logit .

Concordamos que a análise conjunta não é adequada aqui, porque você tem diferentes contextos e observações.

Boa sorte.

Dmitrij Celov
fonte
Exatamente como você aplicaria um modelo de logit multinomial, cuja variável dependente é categórica, a preços que não são categóricos?
whuber
@Dmitrij Celov: Obrigado pela sua sugestão. Vou tentar responder suas perguntas. 1) Não há preço disponível, este é o desconhecido que eu gostaria de responder olhando carros semelhantes. 2) Não sei qual variável pesa mais - isso eu esperava obter. 3) Gostaria de, com base em uma lista de carros com recursos e preços, poder precificar qualquer carro com recursos.
murrekatt
Kj1j10P(yi=1|yj=0)=11+eβ(XiXj)yiyj
@murrekatt: 1) Então você apenas procura os atributos mais "valiosos"? 2) Os parâmetros estimados do Logit são bem interpretados como odds e odds ratio, mas o logit multinomial possui uma característica fraca conhecida como independência de alternativas irrelevantes. 3) Você pode ter certeza de que os preços listados são relevantes, ou seja, que os carros foram realmente comprados? @ whuber: regressão simples funciona aqui bem, se o dependente é o preço, mas novamente o preço? publicado onde? ou é a transação atual?
Dmitrij Celov
2
@Dimitrij O preço não é uma variável independente: é a variável dependente : "Gostaria de entender como modelar os preços de qualquer carro com base nessas informações básicas". Receio que, com essa má compreensão, você possa estar levando o @murrekatt muito longe.
whuber
4

Parece um problema de regressão linear para mim também, mas e K vizinhos KNN mais próximos . Você pode criar uma fórmula de distância entre cada carro e calcular o preço como a média entre o K (digamos 3) mais próximo. Uma fórmula de distância pode ser baseada em euclidianos, como a diferença de cilindros mais a diferença de portas, mais a diferença de potência e assim por diante.

Se você for com regressão linear, sugiro algumas coisas:

  • Escale o valor do dólar até os dias modernos para contabilizar a inflação.
  • Divida seus dados em épocas. Aposto que você encontrará que precisará de um modelo para pré-guerra e pós-guerra, por exemplo. Este é apenas um palpite embora.
  • Valide cruzadamente seu modelo para evitar o excesso de ajuste. Divida seus dados em 5 partes. Treine em 4 e coloque o modelo no quinto pedaço. Resuma os erros, enxágue, repita para os outros pedaços.

Outra idéia é fazer um híbrido entre os modelos. Use a regressão e o KNN como pontos de dados e crie o preço final como a média ponderada ou algo assim.

dwatson
fonte
3

Além do que foi dito, e não muito diferente de algumas das sugestões já feitas, você pode querer dar uma olhada na vasta literatura sobre modelos de preços hedônicos . Tudo se resume a um modelo de regressão que tenta explicar o preço de um bem composto em função de seus atributos.

Isso permitiria que você precisasse de um carro conhecendo seus atributos (potência, tamanho, marca etc.), mesmo se uma mistura exatamente semelhante de atributos não estiver presente em sua amostra. É uma abordagem muito popular para a avaliação de ativos essencialmente não replicáveis ​​- como propriedades de imóveis. Se você pesquisar no Google por "modelos hedônicos", encontrará muitas referências e exemplos.

F. Tusell
fonte
@F. Tusell: essa foi uma boa descrição. Eu já confundi isso com outras postagens, mas isso resumiu bem as coisas para um iniciante como eu.
Murrekatt