Mengevaluasi kelompok rantai Markov orde pertama

10

Saya mengelompokkan dataset saya dari beberapa ribu rantai Markov orde pertama menjadi sekitar 10 cluster.

Apakah ada beberapa cara yang direkomendasikan bagaimana saya dapat mengevaluasi kluster ini dan mencari tahu item apa yang ada di kluster dan bagaimana mereka berbeda dari kluster lain? Jadi saya dapat membuat pernyataan seperti "Proses dalam klaster A cenderung tetap dalam keadaan Y begitu mereka sampai di sana, yang tidak benar untuk proses di cluster lain."

Matriks transisi dari rantai Markov itu terlalu besar untuk hanya "melihat dan melihat". Mereka relatif jarang, jika itu bisa membantu.

Gagasan saya adalah mengambil semua matriks transisi dalam sebuah cluster, menjumlahkannya dan memplotnya sebagai intensitas dalam gambar (dalam skala dari 0 hingga 255). Apakah ada sesuatu yang lebih "profesional" yang harus saya coba?

pengguna7610
sumber
Apakah Anda tahu bahwa proses ini merupakan rantai pasar urutan pertama (dan, jika ya, bagaimana)? Dengan asumsi jawaban untuk ini adalah afirmatif, lalu apa tambahan informasi apriori yang Anda ketahui tentang struktur? Saya mencoba mengidentifikasi mengapa Anda tertarik mengelompokkan pada awalnya; Saya menduga mengetahui ini akan membantu pembaca kami membimbing Anda lebih efisien untuk solusi.
kardinal
Data asli adalah aliran klik yang dihasilkan oleh pengguna di situs saya. Saya membuat proses markov sehingga setiap proses adalah untuk mendeskripsikan clickstream dari satu pengguna. Saya tahu ada buku dan makalah yang mengatakan bahwa rantai markov tidak memadai untuk ini, tetapi data saya tidak menyertakan URL persis yang diminta pengguna, hanya "aplikasi" yang dimiliki URL. (Situs saya adalah sistem informasi yang terbagi menjadi 105 yang disebut "aplikasi" yang sebagian besar merupakan bagian dari situs, yang terhubung melalui halaman beranda dan menu samping di setiap halaman)
user7610
Saya tertarik mengelompokkan karena saya ingin mengungkap kelompok pengguna yang memiliki pola serupa dalam menggunakan situs ini. Saya berhipotesis bahwa pola yang ditangkap rantai Markov cukup untuk membedakan kelompok-kelompok tersebut. Saya memeriksa bagaimana cluster yang saya buat sesuai dengan peran yang dimiliki pengguna di situs dan selalu terlihat seperti itu dalam sebuah cluster ada banyak pengguna dari satu peran dan hanya beberapa dari peran lain, sehingga terlihat menjanjikan. Semoga membantu
user7610
Hai, saya mengalami masalah yang sama. Akhirnya, bagaimana Anda memecahkan masalah?
nan
@nan saya tidak, saya membutuhkan ini hanya dalam proyek jangka, jadi saya hanya melakukan sesuatu yang lain. Jika saya harus menyelesaikannya sekarang, saya akan mencoba mencari di en.wikipedia.org/wiki/… untuk pengelompokan awal. t-SNE sangat populer saat ini dan cocok untuk IMO. Saya berharap bahwa hasil yang saya dapatkan akan lebih bermakna daripada hasil yang saya dapatkan dengan pendekatan ad-hoc saya. Dan menggunakan hal super-keren yang relatif baru akan memuaskan guru;)
user7610

Jawaban:

1

Untuk membuat pernyataan tentang perilaku steady state dari masing-masing cluster, Anda bisa menghitung distribusi steady state dari setiap matriks transisi dengan vektor eigen, lalu membandingkan box-plot dengan cluster. Anda cenderung mengalami masalah dalam perhitungan kondisi mapan tanpa menerapkan semacam perataan terlebih dahulu.

Bagaimana Anda mengelompokkan matriks transisi? Jika itu saya, saya akan menerapkan aditif smoothing untuk setiap baris kemudian mengambil log-rasio centered setiap baris kemudian meratakan matriks.

Jika Anda mengelompokkan dengan K-means atau varian, Anda bisa menganalisis pusat cluster yang dinormalisasi. Atau cukup ambil beberapa pengamatan dari masing-masing kelompok dan analisislah.

Jessica Collins
sumber
0

Pertama, untuk mendapatkan ide, apakah matriks Anda berdimensi 105 x 105, sesuai dengan aplikasi yang Anda sebutkan? Ketika Anda mengatakan 'tetap dalam kondisi Y', apakah itu berarti tetap menggunakan aplikasi Y?

Kemudian, saya akan berasumsi bahwa hasil seperti "Proses dalam klaster A cenderung tetap dalam keadaan Y begitu mereka sampai di sana, yang tidak benar untuk proses di kluster lain" agak terlalu halus dengan hanya 10 klaster. Sudahkah Anda mencoba pengelompokan domain aplikasi - jika saya mengerti benar Anda dapat mengelompokkan 105 aplikasi berdasarkan perilaku pengguna. Selanjutnya, sudahkah Anda melihat kehadiran pengguna yang sederhana alih-alih transisi, yaitu melihat profil pengguna di 105 aplikasi? Kedengarannya Anda dapat menggunakan koefisien Pearson di antara profil pengguna; baik pada kelompok aplikasi, atau pada aplikasi itu sendiri. Ini mungkin dapat diperluas menuju transisi antar aplikasi, tetapi saat ini saya merasa ada ketidakcocokan besar antara jumlah cluster dan jenis hasil yang Anda minati.

micans
sumber