Bagaimana memodelkan harga?

15

Saya mengajukan pertanyaan ini di situs stackexchange matematik dan direkomendasikan untuk bertanya di sini.

Saya sedang mengerjakan proyek hobi dan butuh bantuan dengan masalah berikut.

Sedikit konteks

Katakanlah ada koleksi item dengan deskripsi fitur dan harga. Bayangkan daftar mobil dan harga. Semua mobil memiliki daftar fitur, misalnya ukuran mesin, warna, tenaga kuda, model, tahun dll. Untuk setiap make, kira-kira seperti ini:

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

Lebih jauh lagi, daftar mobil dengan harga diterbitkan dengan beberapa interval waktu yang berarti kita memiliki akses ke data harga historis. Mungkin tidak selalu termasuk mobil yang persis sama.

Masalah

Saya ingin memahami bagaimana memodelkan harga untuk setiap mobil berdasarkan informasi dasar ini, yang paling penting mobil tidak ada dalam daftar awal.

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

Untuk mobil di atas, hampir sama dengan yang ada di daftar, hanya sedikit berbeda dalam tenaga kuda dan tahun. Untuk harga ini, apa yang dibutuhkan?

Apa yang saya cari adalah sesuatu yang praktis dan sederhana, tetapi saya juga ingin mendengar tentang pendekatan yang lebih kompleks bagaimana membuat model seperti ini.

Apa yang saya coba

Inilah yang telah saya coba sejauh ini:

1) menggunakan data historis untuk mencari mobil X. Jika tidak ditemukan, tidak ada harga. Ini tentu saja sangat terbatas dan seseorang hanya dapat menggunakan ini dalam kombinasi dengan beberapa pembusukan waktu untuk mengubah harga mobil yang dikenal dari waktu ke waktu.

2) menggunakan skema pembobotan fitur mobil bersama-sama dengan mobil sampel yang diberi harga. Pada dasarnya ada harga dasar dan fitur hanya mengubah itu dengan beberapa faktor. Berdasarkan ini harga mobil apa pun diturunkan.

Yang pertama terbukti tidak cukup dan yang kedua terbukti tidak selalu benar dan saya mungkin tidak memiliki pendekatan terbaik untuk menggunakan bobot. Ini juga tampaknya agak berat untuk mempertahankan bobot, jadi itu sebabnya saya pikir mungkin ada beberapa cara untuk menggunakan data historis sebagai statistik dalam beberapa cara untuk mendapatkan bobot atau untuk mendapatkan sesuatu yang lain. Aku hanya tidak tahu harus mulai dari mana.

Aspek penting lainnya

  • mengintegrasikan ke dalam beberapa proyek perangkat lunak yang saya miliki. Baik dengan menggunakan perpustakaan yang ada atau menulis algoritma sendiri.
  • perhitungan ulang cepat ketika data historis baru masuk

Adakah saran bagaimana masalah seperti ini bisa didekati? Semua ide lebih dari diterima.

Terima kasih banyak sebelumnya dan berharap untuk membaca saran Anda!

murrekatt
sumber

Jawaban:

11

"Praktis" dan "sederhana" menyarankan regresi kuadrat terkecil . Mudah diatur, mudah dilakukan dengan banyak perangkat lunak (R, Excel, Mathematica, paket statistik apa pun ), mudah diinterpretasikan, dan dapat diperluas dengan berbagai cara tergantung pada seberapa akurat Anda ingin menjadi dan seberapa keras Anda mau bekerja.

Pendekatan ini pada dasarnya adalah "skema pembobotan" Anda (2), tetapi menemukan bobotnya dengan mudah, menjamin keakuratan sebanyak mungkin, dan mudah dan cepat untuk diperbarui. Ada banyak perpustakaan untuk melakukan perhitungan kuadrat terkecil.

Ini akan membantu untuk memasukkan tidak hanya variabel yang Anda daftarkan - jenis mesin, tenaga, dll - tetapi juga usia mobil. Selanjutnya, pastikan untuk menyesuaikan harga untuk inflasi.

whuber
sumber
Terjual! Itu terdengar persis seperti apa yang saya cari! Karena saya semua baru dalam hal ini, saya kesulitan membandingkan saran, jadi saya bertanya-tanya bagaimana paling tidak kuadrat regresi dibandingkan dengan regresi berganda dan "harga hedonis". Ini adalah saran yang saya dapatkan di situs matematika tempat saya awalnya diposting. Apa yang saya perbaiki saat menggunakan regresi kuadrat terkecil misalnya? Pada dasarnya, apakah ada sesuatu yang perlu saya waspadai ketika menggunakan pendekatan ini?
murrekatt
juga terima kasih atas saran ini. Sepertinya sangat bagus. Saya harus membaca lebih banyak untuk mendapatkan ide bagaimana saya bisa mulai melihat bagaimana menggunakannya.
murrekatt
3
Saya ingin mengakui dan menyatakan persetujuan saya dengan peringatan yang diposting oleh @mpiktas dan @dimitrij celov. Analisis harga dapat - dan dalam banyak kasus harus - serumit sistem ekonomi yang menjadi bagiannya. Namun, karena aplikasi yang dituju (hobi) dan keterbatasan yang ditandai dengan jelas dalam kemampuan OP untuk pemodelan statistik, kita harus menempatkan nilai besar pada kesederhanaan, kemudahan penggunaan, dan interpretabilitas. Jelas seseorang yang belum fasih berbicara dengan kuadrat terkecil tidak akan langsung masuk dan mulai membuat model ekonometrik lengkap.
Whuber
5

Saya setuju dengan @whuber, bahwa regresi linier adalah cara untuk pergi, tetapi kehati-hatian harus diambil ketika menafsirkan hasil. Masalahnya adalah bahwa dalam ekonomi harga selalu terkait dengan permintaan. Jika permintaan naik, harga naik, jika permintaan turun, harga turun. Jadi harga ditentukan oleh permintaan dan sebaliknya permintaan ditentukan oleh harga. Jadi jika kita memodelkan harga sebagai regresi dari beberapa atribut tanpa permintaan ada bahaya nyata bahwa estimasi regresi akan salah karena bias variabel dihilangkan .

mpiktas
sumber
@mpiktas: terima kasih. Aku mengerti apa yang kamu maksud. Ini adalah sesuatu yang saya pikirkan, tetapi tidak tahu persis bagaimana bertanya atau menambah pertanyaan. Bagaimana seseorang berurusan dengan apa yang Anda jelaskan? Apakah ini masalah yang terpisah dan ketika Anda menulis untuk dipertimbangkan ketika menginterpretasikan hasil, atau ini terintegrasi dalam beberapa pendekatan lain dan bukan bagian dari regresi kuadrat terkecil? Tidak yakin bagaimana memformulasikan diri saya, tetapi yang saya maksud adalah apakah ada pendekatan yang memperhitungkan hal ini dan yang lain tidak? Yang berarti bahwa untuk "tidak" kita harus menafsirkan hasil?
murrekatt
3
@murekatt, jika Anda tidak memiliki data tambahan sesuai permintaan, tetapi Anda membutuhkan model untuk harganya, Anda menangani ini dengan lebih berhati-hati. Ini berarti kurang memperhatikan signifikansi koefisien secara statistik, tetapi lebih memperhatikan kinerja perkiraan. Pada dasarnya ini berarti memperlakukan regresi sebagai kotak hitam dan menggunakan model kinerja peramalan sebagai ukuran validitas model. Ini berarti menggunakan validasi silang, pembagian data untuk melatih dan menguji sampel, dll.
mpiktas
@mpiktas: apa yang Anda maksud dengan "data tambahan"? Bisakah Anda memberi contohnya dalam konteks mobil?
murrekatt
1
@murrekatt, lihat akhir jawaban Dmitrij yang diperbarui. Data permintaan penting, jadi jika Anda memiliki berapa banyak mobil yang dijual dengan harga tertentu, ini akan sangat membantu. Lebih jauh lagi jika Anda memiliki data tentang bagaimana perubahan harga untuk mobil yang diberikan dengan atribut tetap ini juga harus tercermin dalam model Anda
mpiktas
1
@murekatt, pada prinsipnya ya. Saya pikir Anda perlu memulai dari yang kecil dan menambahkan fitur tambahan nanti. Hasil awal akan memberi tahu Anda arah apa yang harus diambil.
mpiktas
4

Apa yang saya cari adalah sesuatu yang praktis dan sederhana, tetapi saya juga ingin mendengar tentang pendekatan yang lebih kompleks bagaimana membuat model seperti ini.

Setelah semacam diskusi, di sini adalah pandangan lengkap saya tentang hal-hal itu

Masalah

Tujuan: untuk memahami cara memberi harga mobil dengan cara yang lebih baik

Konteks: dalam proses pengambilan keputusan mereka, orang memecahkan beberapa pertanyaan: apakah saya memerlukan mobil, jika saya melakukannya, atribut apa yang paling saya sukai (termasuk harga, karena, karena rasional, saya ingin memiliki mobil dengan rasio kualitas / harga terbaik) , bandingkan jumlah atribut antara mobil yang berbeda dan pilih nilai mereka secara bersama .

Dari posisi penjual, saya ingin menetapkan harga setinggi mungkin, dan menjual mobil secepat mungkin. Jadi jika saya menetapkan harga terlalu tinggi dan saya menunggu berbulan-bulan itu dapat dianggap tidak diminta di pasar dan ditandai dengan 0 dibandingkan dengan set atribut yang sangat dituntut.

Pengamatan: transaksi nyata yang menghubungkan atribut mobil tertentu dengan harga yang ditetapkan dalam proses tawar-menawar (mengenai komentar sebelumnya, penting untuk mengetahui berapa lama waktu yang dibutuhkan untuk mengatur kesepakatan).

Pro: Anda mengamati hal-hal yang sebenarnya dibeli di pasar, jadi Anda tidak menebak apakah ada orang dengan harga pemesanan cukup tinggi yang ingin membeli mobil tertentu

Cons:

  1. Asumsi Anda adalah bahwa pasar itu efisien, artinya harga yang Anda amati dekat dengan keseimbangan
  2. Anda mengabaikan varian atribut mobil yang tidak dibeli atau terlalu lama untuk mengatur kesepakatan, yang berarti wawasan Anda bias , sehingga Anda benar-benar bekerja dengan model variabel laten
  3. Mengamati data untuk waktu yang lama Anda harus mengempiskannya, meskipun dimasukkannya usia mobil sebagian mengkompensasi ini.

Metode solusi

Yang pertama, seperti yang disarankan oleh whuber, adalah model regresi kuadrat terkecil klasik

Pro:

  1. memang solusi paling sederhana karena ini adalah pekerjaan-kuda ekonometrik

Cons:

  1. mengabaikan bahwa Anda mengamati hal-hal yang tidak lengkap ( variabel laten )
  2. bertindak sebagai regressor independen satu sama lain, sehingga model dasar mengabaikan fakta bahwa Anda mungkin menyukai Ford biru berbeda dari Mercedes biru , tetapi itu bukan jumlah pengaruh marjinal yang berasal dari biru dan Ford

Dalam kasus regresi klasik, karena Anda tidak dibatasi dalam derajat kebebasan, untuk mencoba juga istilah interaksi yang berbeda.

Oleh karena itu solusi yang lebih rumit akan berupa model tobit atau Heckman , Anda mungkin ingin berkonsultasi dengan AC Cameron dan PK Trivedi Microeconometrics: metode dan aplikasi untuk detail lebih lanjut tentang metode inti.

Pro:

  1. Anda memang memisahkan fakta bahwa orang mungkin tidak menyukai beberapa set atribut sama sekali, atau beberapa set atribut memiliki kemungkinan kecil untuk dibeli dari pengaturan harga aktual
  2. hasil Anda tidak bias (atau setidaknya kurang dari pada kasus pertama)
  3. dalam kasus Heckman Anda memisahkan alasan yang memotivasi untuk membeli mobil tertentu dari keputusan penetapan harga berapa banyak saya ingin membayar untuk mobil ini: yang pertama dipengaruhi oleh preferensi individu, yang kedua oleh kendala anggaran

Cons:

  1. Kedua model lebih serakah data , yaitu kita perlu mengamati baik panjang waktu antara permintaan dan tawaran untuk menyamakan (jika cukup pendek menempatkan 1, selain 0), atau untuk mengamati set yang diabaikan oleh pasar

Dan, akhirnya, jika Anda hanya tertarik pada bagaimana harga mempengaruhi probabilitas untuk dibeli, Anda dapat bekerja dengan beberapa jenis model logit .

Kami sepakat, bahwa analisis konjoin tidak cocok di sini, karena Anda memiliki konteks dan pengamatan yang berbeda.

Semoga berhasil.

Dmitrij Celov
sumber
Bagaimana Anda akan menerapkan model logit multinomial, yang variabel dependennya kategorikal, terhadap harga, yang tidak kategorikal?
whuber
@ Dmitrij Celov: Terima kasih atas saran Anda. Saya akan mencoba menjawab pertanyaan Anda. 1) Tidak ada harga yang tersedia, ini adalah hal yang tidak diketahui yang ingin saya jawab dengan melihat mobil yang sama. 2) Saya tidak tahu variabel mana yang paling berat - ini yang saya harapkan. 3) Saya ingin berdasarkan pada daftar mobil dengan fitur dan harga dapat memberi harga mobil apa pun dengan fitur apa pun.
murrekatt
@whuber: "Trik" dengan atribut kategoris adalah untuk memperkenalkan variabel dummy yang sesuai Kj-1 tingkat jatribut -th. Harga "tidak kategoris" diperkenalkan sebagaimana adanya, sehingga merupakan variabel independen biasa dalam model logit (multinomial). Whuber, sekarang saya ragu bahwa kita perlu multinomial di sini, mungkin itu adalah variabel dependen biner sederhana1 jika dipilih dan lainnya 0. Anda memang membandingkan dengan koleksi atribut saingan, jadi semacam perbedaan antara perkiraan sukaP(ysaya=1|yj=0)=11+e-β(Xsaya-Xj) perbandingan ysaya dan yj.
Dmitrij Celov
@murrekatt: 1) Jadi Anda hanya mencari atribut "paling berharga"? 2) Parameter estimasi logit ditafsirkan dengan baik seperti rasio odds dan odds, tetapi multinomial logit memiliki fitur lemah yang dikenal sebagai independensi dari alternatif yang tidak relevan 3) Dapatkah Anda yakin bahwa harga yang tercantum relevan, yaitu bahwa mobil-mobil itu sebenarnya dibeli? @whuber: regresi sederhana berfungsi dengan baik di sini, jika ketergantungannya adalah harga, tapi sekali lagi berapa harganya? diterbitkan dimana? atau apakah itu transaksi aktual?
Dmitrij Celov
2
@ Dimitrij Price bukan variabel independen: ini adalah variabel dependen : "Saya ingin memahami cara memodelkan harga untuk mobil apa pun berdasarkan informasi dasar ini." Saya takut bahwa dengan kesalahpahaman ini Anda mungkin mengambil @ murrekatt sangat jauh.
whuber
4

Sepertinya masalah regresi linear saya juga, tapi bagaimana dengan K tetangga terdekat KNN . Anda dapat menemukan formula jarak antara setiap mobil dan menghitung harga sebagai rata-rata antara K (katakanlah 3) terdekat. Formula jarak dapat berdasarkan euclidian seperti perbedaan dalam silinder plus perbedaan di pintu, ditambah perbedaan tenaga kuda dan sebagainya.

Jika Anda menggunakan regresi linier, saya akan menyarankan beberapa hal:

  • Skala nilai dolar hingga hari modern untuk memperhitungkan inflasi.
  • Bagilah data Anda menjadi zaman. Saya yakin Anda akan menemukan bahwa Anda memerlukan satu model untuk pre ww2 dan memposting ww2 misalnya. Ini hanya dugaan.
  • Cross memvalidasi model Anda untuk menghindari over fitting. Bagilah data Anda menjadi 5 bongkahan. Latih pada 4 dan gosok model pada potongan ke-5. Ringkas kesalahan, bilas, ulangi untuk potongan lainnya.

Gagasan lain adalah membuat hibrida antar model. Gunakan regresi dan KNN sebagai titik data dan buat harga akhir sebagai rata-rata tertimbang atau sesuatu.

dwatson
sumber
3

Selain apa yang telah dikatakan, dan tidak jauh berbeda dari beberapa saran yang telah dibuat, Anda mungkin ingin melihat literatur yang luas tentang model penetapan harga hedonis . Apa yang menjadi intinya adalah model regresi yang mencoba menjelaskan harga barang komposit sebagai fungsi dari atributnya.

Ini akan memungkinkan Anda memberi harga pada mobil yang mengetahui atributnya (tenaga kuda, ukuran, merek, dll.), Bahkan jika campuran atribut yang persis sama tidak ada dalam sampel Anda. Ini adalah pendekatan yang sangat populer untuk menilai aset yang pada dasarnya tidak dapat direplikasi - seperti properti negara nyata. Jika Anda Google untuk "model hedonis" Anda akan menemukan banyak referensi dan contoh.

F. Tusell
sumber
@F. Tusell: itu deskripsi yang bagus. Saya sudah bingung ini dari posting lain, tapi ini merangkum hal-hal baik untuk pemula seperti saya.
murrekatt