Bangun pohon probabilitas jalur untuk perjalanan melalui situs web

10

Saat ini saya sedang melakukan analisis pada situs web yang mengharuskan saya membuat diagram pohon keputusan yang menunjukkan kemungkinan rute yang diambil orang ketika mereka tiba di situs web. Saya berurusan dengan data.frameyang menunjukkan jalur semua pelanggan ke situs, mulai dari beranda. Misalnya, pelanggan dapat mengambil jalur berikut:

Homepage - pg 1
Kitchen Items page - pg 2
Pots and Pans page - pg 3

jadi pelanggan ini akan memiliki 3 halaman perjalanan. Apa yang ingin saya coba lakukan di R adalah menggabungkan semua jalur pelanggan dan dengan demikian menetapkan probabilitas kepada pelanggan mengikuti jalur tertentu di situs. Misalnya, jika saya harus memeriksa semua jalur, saya dapat menemukan bahwa 34% orang yang tiba di Beranda membuka 'Halaman barang dapur'. Apakah R memiliki fasilitas ini?

Saya telah mencari metode yang berbeda melalui paket rpart dan partykit tetapi mereka tampaknya tidak membantu.

Setiap mengarahkan ke arah yang benar untuk ini sangat dihargai!

nellington
sumber
1
Saya tidak tahu banyak tentang bidang ini, tetapi igraphpaket tampaknya cukup komprehensif.
richiemorrisroe
3
ya, igraph adalah cara untuk melakukan visualisasi. Anda harus menghitung probabilitas transisi sebelumnya sendiri. Secara umum, saya merekomendasikan untuk melihat Markov Chains
steffen
1
Bisakah Anda memposting beberapa data sampel? Itu akan membantu kita memahami situasinya dengan lebih baik.
curious_cat

Jawaban:

1

Bukan salah satu cara untuk memulai, adalah dengan memiliki matriks (katakanlah ) di mana adalah jumlah halaman. Kemudian berdasarkan elemen matriks kenaikan data mentah Anda oleh satu setiap kali Anda memiliki pengguna melompat dari halaman ke halaman . Itu membuat Anda probabilitas transisi.M n × n n M r c r cn×nMn×nnMrcrc

Pertanyaan pertama Anda sudah dijawab dengan ini: "Berapa persen pengguna di beranda (katakan halaman 1) yang bepergian di samping, katakanlah, Barang Dapur (katakanlah halaman 2)?"

M12cM1c

Atau apakah ini terlalu sederhana?

curious_cat
sumber
1
Tidak, ini benar. Dari sini - apakah ada cara untuk membuat grafik masing-masing secara dinamis menjadi pohon di R? Jika tidak, apakah ada alat lain yang bisa saya gunakan?
nellington
@nellington: Pohon apa yang ada dalam pikiranmu?
curious_cat
1
Lebih disukai pohon probabilitas, dengan simpul akar menjadi beranda (tetapi jika saya dapat mengubah simpul akar, ke halaman lain di situs - itu akan menjadi fitur yang hebat), setiap cabang dari simpul akar akan mewakili halaman berikutnya yang dikunjungi setelah simpul akar. Idealnya, setiap cabang akan memiliki% probabilitas terpasang. Akan dinamis dalam arti bahwa saya harus dapat memperluas dan berkontraksi pada setiap sub-node. Apakah Anda tahu ada perangkat lunak visualisasi yang dapat menangani ini?
nellington
@nellington: Untuk memvisualisasikan murni, Anda dapat mencoba graphviz. Pohon itu akan menjadi grafik terarah dan ada banyak alat yang berorientasi pada graphviz untuk mengatasinya.
curious_cat
0

Sepertinya Anda sedang mencoba membuat ulang algoritma PageRank dari Google. Sebagian besar algoritma PageRank dikembangkan menggunakan Markov Chains. Anda dapat menemukan banyak menyebutkan pengembangan metode PageRank di R.

igraph.sourceforge.net/doc/R/page.rank.htm

IEORTools
sumber
1
Sejauh yang saya lihat, ini bukan tentang pagerank. IMHO, satu-satunya tumpang tindih adalah bahwa jalur pengguna kemungkinan besar akan berkorelasi dengan desain situs (tautan), tetapi hanya itu. Selain itu, tautan yang disediakan tidak berfungsi.
steffen
1
Saya rasa saya menemukan tautannya, mungkin ada di halaman web igraph di beberapa titik karena tampaknya menggunakan igraph dengan berat. stat.berkeley.edu/users/vigre/undergrad/reports/…
geneorama
Oh, begitu ... dan page.rank adalah fungsi dalam igraph. Beberapa dokumentasi: link1 link2 link3
geneorama
Setelah membaca sekilas laporan pertama, saya benar-benar berpikir ini adalah jawaban yang cukup bagus, dan saya memilihnya (walaupun bisa menggunakan beberapa elaborasi!). Fungsionalitas peringkat halaman tampaknya menjadi jawabannya.
geneorama
0

Dari apa yang saya lihat di sini, saya setuju bahwa igraphs / Markov Chains mungkin adalah cara untuk pergi, namun Anda pasti bisa menggunakan rpart dan / atau partykit.

Sulit bagi saya untuk memberikan jawaban sederhana dengan contoh Anda yang terbatas, tetapi saya dapat menjelaskan secara umum bagaimana Anda akan melakukannya.

Anda ingin melihat di mana semua pengguna Anda berada, dan meringkasnya menjadi string misalnya

"Home / product4 / product3 / product4 / buynow"
"Home / product3 / buynow"
"Home / product3 / product4"

Anda kemudian dapat mengelompokkan pengguna Anda ke dalam kategori, mengatakan yang berakhir di halaman "beli sekarang", dan yang tidak. Maka Anda bisa mulai memprediksi hasil terminal itu. Dalam contoh ini, mungkin Anda akan mengetahui bahwa orang-orang yang melakukan perbandingan toko paling banyak / tidak membeli sesuatu.

Anda juga dapat membuat lebih banyak variabel, seperti "berapa halaman sebelum halaman buynow" "berapa banyak halaman yang mereka kunjungi sebelum membeli sesuatu" atau "kapan mereka membuat akun pertama mereka", dan Anda dapat menambahkan metrik tersebut ke analisis Anda.

Ada banyak cara berbeda yang bisa Anda tempuh, dan ini mulai menjawab pertanyaan yang berbeda, tetapi poin saya adalah bahwa Anda dapat menggunakan pohon dan untuk beberapa masalah mungkin ini merupakan rute wawasan yang lebih cepat dan lebih sederhana.

Ngomong-ngomong, Anda perlu membuat faktor variabel non-numerik dengan menggunakan factoratau as.factor, jika Anda akan menggunakan party. Party memiliki beberapa sketsa bagus untuk Anda mulai.

geneorama
sumber
1
Sejujurnya, saya ingin mengoptimalkan beranda, jadi memprediksi ke mana orang pergi dari beranda ke halaman 2 dan kemudian halaman 2 ke halaman ketiga adalah bagian terpenting dari data yang saya inginkan. Halaman terminal tidak terlalu menarik. Saya memiliki url halaman dan nomor halaman dalam perjalanan sehingga kemungkinan transisi sepertinya merupakan cara untuk melakukannya. Meskipun demikian, sepertinya sedikit manual dan saya
pikir
Setelah membaca ulang pertanyaan dan komentar terakhir Anda, saya pikir Anda hanya ingin tabel apa yang dilakukan orang dari halaman beranda. (untuk memulai)
geneorama
Apa yang dilakukan orang-orang dari beranda dan halaman setelah beranda itu paling penting, tetapi bisa menggabungkan semua data pengguna di r dan menetapkan probabilitas adalah di mana itu paling rumit. Mungkin excel jalan yang harus ditempuh? Saya akan menuruni rute vertex / edge di igraph tetapi tampaknya menyebabkan lebih banyak kerusakan daripada bantuan.
nellington
Saya menambahkan beberapa info kontak ke profil saya. Mungkin kita bisa bicara offline?
geneorama
itu akan sangat membantu terima kasih - surat terkirim
nellington