Як моделювати ціни?


15

Я задав це запитання на сайті matemathics stackexchange і мені рекомендували задати тут.

Я працюю над хобі-проектом і мені потрібна допомога з наступною проблемою.

Трохи контексту

Скажімо, є колекція предметів з описом особливостей та ціни. Уявіть список машин та ціни. Усі автомобілі мають перелік особливостей, наприклад, розмір двигуна, колір, потужність коня, модель, рік і т. Д. Для кожної марки щось подібне:

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

Подальше перелік автомобілів із цінами публікується з певним інтервалом часу, що означає, що ми маємо доступ до історичних даних про ціни. Не завжди можна включати абсолютно однакові машини.

Проблема

Я хотів би зрозуміти, як моделювати ціни на будь-який автомобіль, виходячи з цієї базової інформації, головне, щоб автомобілі не були в початковому списку.

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

Для вищезгаданого автомобіля він майже такий, як один у списку, лише трохи відрізняється потужністю коня та роком. Щоб цінувати це, що потрібно?

Що я шукаю - це щось практичне і просте, але я також хотів би почути про більш складні підходи, як моделювати щось подібне.

Що я спробував

Ось з чим я експериментував досі:

1) використання історичних даних для пошуку автомобіля X. Якщо його не знайдено, немає ціни. Це, звичайно, дуже обмежено, і можна використовувати це лише в поєднанні з деяким часом спаду, щоб змінити ціни на відомі автомобілі з часом.

2) використання схеми зважування автомобільних характеристик разом із ціною автомобіля-зразка. В основному, що існує базова ціна, а характеристики просто змінюють це з деяким фактором. Виходячи з цього, виходить ціна будь-якого автомобіля.

Перший виявився недостатньо, а другий виявився не завжди правильним, і я, можливо, не мав кращого підходу до використання ваг. Це також здається трохи важким для підтримки ваги, тому я вважав, що, можливо, є якийсь спосіб використати історичні дані як статистику, щоб отримати ваги або отримати щось інше. Я просто не знаю, з чого почати.

Інші важливі аспекти

  • інтегрувати в якийсь програмний проект, який у мене є. Або за допомогою власних бібліотек або алгоритму запису.
  • швидкий перерахунок, коли надходять нові історичні дані.

Будь-які пропозиції, як можна вирішити подібну проблему? Всі ідеї більш ніж вітаються.

Заздалегідь дякую та з нетерпінням чекаю ваших пропозицій!

Відповіді:


11

"Практичний" і "простий" припускають регресію найменших квадратів . Це легко налаштувати, легко зробити з великою кількістю програмного забезпечення (R, Excel, Mathematica, будь-який статистичний пакет), легко інтерпретувати, і його можна розширити багатьма способами залежно від того, наскільки точним ви хочете бути і наскільки ви важкі готові працювати.

Цей підхід, по суті, є вашою "схемою зважування" (2), але він легко знаходить ваги, гарантує максимальну точність і легко та швидко оновлюється. Є навантажень бібліотек для виконання розрахунків методом найменших квадратів.

Це допоможе включити не лише вказані вами змінні - тип двигуна, потужність тощо - але й вік автомобіля. Крім того, не забудьте скоригувати ціни на інфляцію.


Продається! Це звучить саме те, що я шукаю! Оскільки я все це нове, у мене виникають проблеми зі порівнянням пропозицій, тому мені цікаво, як би мінімум регресії квадратів порівняно з множинною регресією та "гедонічною ціною". Це пропозиції, які я потрапив на сайт з математики, де я спочатку розмістив повідомлення. Що я можу виправити, наприклад, використовуючи регресію найменших квадратів? По суті, чи є щось, що я маю знати, використовуючи цей підхід?
murrekatt

також дякую за цю пропозицію. Здається, це дуже добре. Мені доведеться прочитати більше, щоб зрозуміти, як я можу почати бачити, як ним користуватися.
murrekatt

3
Я хочу визнати і висловити свою згоду з застереженнями, опублікованими @mpiktas та @dimitrij celov. Аналіз цін може бути - і в багатьох випадках повинен бути - таким же складним, як і економічні системи, до складу яких вони входять. Однак, завдяки передбачуваному застосуванню (хобі) та чітко вираженим обмеженням у можливостях ОП щодо статистичного моделювання, ми повинні приділяти велике значення простоті, простоті використання та інтерпретації. Очевидно, що хтось ще не розмовляв з найменшими квадратами, не збирається стрибати прямо та починати створювати повномасштабні економетричні моделі.
whuber

5

Я погоджуюся з @whuber, що лінійна регресія - це шлях, але слід бути обережним при інтерпретації результатів. Проблема полягає в тому, що в економіці ціна завжди пов'язана з попитом. Якщо попит зростає, ціни ростуть, якщо попит знижується, ціни знижуються. Отже ціна визначається попитом, а взамін попит визначається ціною. Отже, якщо ми будемо моделювати ціну як регресію з деяких атрибутів без попиту, існує реальна небезпека, що оцінки регресії будуть помилковими через ухил змінної зміни .


@mpiktas: дякую. Я розумію, що ти маєш на увазі. Про це я думав, але не знав, як саме поставити запитання чи додати його. Як людина має справу з тим, що ви пояснюєте? Це проблема, яка є окремою, і, як ви пишете, її слід враховувати під час інтерпретації результатів, чи вона інтегрована в інші підходи та не є частиною регресії найменших квадратів? Не знаю, як сформулювати себе, але що я маю на увазі, чи є підходи, які враховують це, та інші, які не відповідають? Що означає, що для "ні" ми повинні інтерпретувати результати?
murrekatt

3
@murekatt, якщо у вас немає додаткових даних про попит, але вам потрібна модель за ціною, ви вирішите це, дотримуючись додаткової обережності. Це означає менше уваги до статистичної значущості коефіцієнтів, але більше уваги до прогнозування ефективності. По суті це означає трактувати регресію як чорну скриньку і використовувати результати прогнозування моделі як міру достовірності моделі. Це означає використання перехресної перевірки, поділу даних для підготовки та тестування зразків тощо
mpiktas

@mpiktas: що ви маєте на увазі під "додатковими даними"? Чи можете ви надати приклад цього в контексті автомобіля?
murrekatt

1
@murrekatt, подивись кінець оновленої відповіді Дмитра. Дані попиту важливі, тож якщо у вас буде продано кількість автомобілів із ціною, це допоможе надзвичайно. Крім того, якщо у вас є дані про те, як змінюється ціна на дану машину з фіксованими ознаками, це також має відображатися у вашій моделі
mpiktas

1
@murekatt, в принципі, так. Я думаю, що потрібно починати з малого і додавати додаткові функції пізніше. Початкові результати підкажуть, в якому напрямку рухатися далі.
mpiktas

4

Що я шукаю - це щось практичне і просте, але я також хотів би почути про більш складні підходи, як моделювати щось подібне.

Після якоїсь дискусії, ось мій повний погляд на речі

Проблема

Мета: зрозуміти, як краще оцінити ціни на автомобілі

Контекст: у процесі прийняття рішень люди вирішують декілька питань: чи потрібна мені машина, якщо я це роблю, які характеристики я найбільше віддаю перевагу (включаючи ціну, тому що, будучи раціональною, я хотів би мати автомобіль з найкращим співвідношенням якість / ціна) , порівняйте кількість ознак між різними автомобілями та обираючи їх спільну оцінку .

З позиції продавця, я хотів би встановити ціну якомога вище і продати машину якомога швидше. Тож якщо я встановив ціну занадто високою і чекаю місяцями, це може вважатися не затребуваним на ринку і позначено 0, порівняно з дуже затребуваними наборами атрибутів.

Спостереження: реальні угоди, що пов’язують атрибути конкретного автомобіля з ціною, встановленою в процесі переговорів (стосовно попереднього зауваження, важливо знати, скільки часу потрібно для встановлення угоди).

Плюси: ви спостерігаєте за речами, які були фактично придбані на ринку, тому ви не здогадуєтесь, чи існує людина з достатньо високою ціною бронювання, яка хоче придбати конкретний автомобіль

Мінуси:

  1. ваше припущення полягає в тому, що ринок ефективний, тобто ціни, які ви спостерігаєте, близькі до рівноважних
  2. ви ігноруєте варіанти атрибутів автомобіля, які не були придбані або зайняли занадто багато часу, щоб встановити угоду, тобто ваша думка упереджена , тому ви фактично працюєте з прихованими змінними моделями
  3. Спостерігаючи дані тривалий час, вам потрібно їх знизити, хоча включення віку автомобіля частково компенсує це.

Методи рішення

Перший, як запропонував Уубер, - це класична модель регресії найменших квадратів

Плюси:

  1. насправді найпростіше рішення, оскільки це робоча коня економетрики

Мінуси:

  1. ігнорує, що ви спостерігаєте за речами неповно ( приховані змінні )
  2. діє як регресори незалежні одна від одної, тому основна модель ігнорує той факт, що синій Ford вам може сподобатися інакше, ніж синій Mercedes , але це не сума граничного впливу, що виходить від синього та Ford

У випадку класичного регресу, оскільки ви не обмежені ступенями свободи, спробуйте також різні умови взаємодії.

Тому більш складним рішенням буде модель тобіта чи Гекмана , ви можете проконсультуватися з мікроекономічними методами AC Cameron та PK Trivedi : методами та додатками для отримання більш детальної інформації про основні методи.

Плюси:

  1. ви відокремлюєте той факт, що людям можуть не сподобатися деякі набори атрибутів взагалі, або якийсь набір атрибутів має малу ймовірність бути придбаним у фактичного встановлення ціни
  2. ваші результати не є упередженими (або принаймні меншими, ніж у першому випадку)
  3. у випадку Хекмана ви виокремлюєте причини, які спонукають придбати конкретний автомобіль від рішення про ціни, скільки я хотів би заплатити за цей автомобіль: на перший впливають індивідуальні переваги, на другий - обмеження бюджету.

Мінуси:

  1. Обидві моделі є більш жадібними , тобто нам потрібно дотримуватися або тривалості між запитом і пропозицією для вирівнювання (якщо вона досить коротка, ставимо 1, інакше 0), або спостерігати за наборами, які ринок проігнорував

І, нарешті, якщо вас просто цікавить, як ціна впливає на ймовірність купити, ви можете працювати з деякими моделями logit .

Ми погодилися, що спільний аналіз тут не підходить, тому що у вас різний контекст та спостереження.

Удачі.


Як би ви застосували багаточленну модель Logit, залежна змінна категорична, до цін, які не є категоричними?
whuber

@Dmitrij Celov: Дякую за вашу пропозицію. Я спробую відповісти на ваші запитання. 1) Ціна недоступна, це невідомо, на яке я хотів би відповісти, переглядаючи подібні машини. 2) Я не знаю, яка змінна важить найбільше - це я сподівався отримати. 3) Я хотів би, щоб на підставі переліку автомобілів з характеристиками та цінами вдалося цінувати будь-який автомобіль з будь-якими функціями.
murrekatt

@whuber: "Трюк" з категоричними атрибутами полягає у введенні фіктивних змінних, яким відповідають Кj-1 рівень рівня j-атрибут. Ціни "не категоричні" вводяться такими, якими вони є, тому це звичайна незалежна змінна в (багаточленній) моделі logit. Вубер, зараз я сумніваюся, що нам тут потрібен мультином, мабуть, це проста бінарна залежна змінна1 якщо обрано та інше 0. Ви порівнюєте з конкурентами колекцію атрибутів, тож існують певні відмінності між оцінкамиП(уi=1|уj=0)=11+е-β'(Хi-Хj) порівняння уi і уj.
Дмитро Челов

@murrekatt: 1) Отже, ти просто шукаєш найцінніші атрибути? 2) Оцінені параметри Logit добре інтерпретуються як коефіцієнти шансів та шансів, але багаточленний logit має слабку особливість, відому як незалежність від невідповідних альтернатив 3) Чи можете ви бути впевнені, що перераховані ціни є релевантними, тобто що машини були фактично придбані? @whuber: проста регресія працює тут чудово, якщо залежною є ціна, але знову ж таки яка ціна? де опубліковано? чи це актуальна угода?
Дмитро Челов

2
@Dimitrij Ціна не є незалежною змінною: це залежна змінна: "Я хотів би зрозуміти, як моделювати ціни на будь-який автомобіль на основі цієї базової інформації". Я побоююсь, що з цим непорозумінням ви, можливо, ведете @murrekatt дуже далеко.
whuber

4

Схоже, проблема з лінійною регресією теж у мене, але як бути з K найближчими сусідами KNN . Ви можете придумати формулу відстані між кожним автомобілем і обчислити ціну як середню серед K (скажімо, 3) найближчої. Формула відстані може бути заснована на евкліді, як різниця в циліндрах плюс різниця в дверцятах, плюс різниця в кінських силах тощо.

Якщо ви їдете з лінійним регресом, я б запропонував кілька речей:

  • Масштабуйте значення долара до сучасного дня, щоб врахувати інфляцію.
  • Розподіліть свої дані на епохи. Б'юсь об заклад, ви знайдете, що вам знадобиться одна модель для pre ww2 та post ww2, наприклад. Це все-таки придумка.
  • Перехресне підтвердження вашої моделі, щоб уникнути зайвих розмірів. Розподіліть свої дані на 5 частин. Тренуйтеся на 4 та урнуйте модель на 5-му шматку. Підсумуйте помилки, промийте, повторіть для інших шматочків.

Ще одна ідея - зробити гібрид між моделями. Використовуйте регресію та KNN як точки даних та створіть кінцеву ціну як середньозважену чи щось.


3

Крім того, що було сказано і не дуже відрізняється від деяких уже запропонованих пропозицій, ви можете поглянути на величезну літературу про моделі гедонічного ціноутворення. . Це зводиться до регресійної моделі, яка намагається пояснити ціну складеного товару як функцію його атрибутів.

Це дозволить вам оцінити автомобіль, знаючи його атрибути (потужність коня, розмір, марку тощо), навіть якщо у вашому зразку немає аналогічного поєднання атрибутів. Це дуже популярний підхід до оцінки фактично невідтворюваних активів - подібних до реальних властивостей. Якщо ви Google для "гедонічних моделей", ви знайдете багато посилань та прикладів.


@F. Туселл: це був хороший опис. Я вже спантеличив це разом з інших постів, але це підсумовувало речі для початківця, як я.
murrekatt
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.