Mix Model

Mixture modelling (Mixture Modeling atau Mixture Model) adalah suatu metode penganalisaan data atau data mining yang juga disebut dengan istilah-istilah lain seperti clustering, intrinsic classification dan numerical taxonomy. Metode ini memodel atau mengelompokkan data-data di dalam suatu dataset menjadi kelompok-kelompok data yang sebelumnya tidak terdifinisikan. Di dalam tulisan ini, metode yang diulas adalah pengelompokan data yang memodel suatu distribusi statistik bercampur dengan distribusi statistik yang lain dalam bentuk mixture (penjumlahan berproporsi). Penganalisaan data menggunakan mixture modelling (mixture modeling atau mixture model) menghasilkan analisa berupa jumlah kelompok di dalam model tersebut, persentase data di dalam setiap kelompok relatif terhadap jumlah keseluruhan data (mixing proportion), parameter yang menerangkan setiap kelompok yang ditemukan dan keterangan data-data yang tercakup di dalam setiap kelompok. Mixture modelling (mixture modeling atau mixture model) dirumuskan dengan persamaan sebagai berikut:

f(x|M,Pi_1,…,Pi_M-1,Theta_1,…,Theta_M) = SUM(m=1 to M) Pi_m x f_m(x|Theta_m)

Dengan:

  • M : Jumlah kelompok
  • Pi_m : Mixing proportion kelompok ke-m
  • Theta_m : Parameter kelompok ke-m
  • f_m(x|Theta_m) : fungsi likelihood dari kelompok ke-m

Dalam melakukan mixture modelling (mixture modeling atau mixture model), penentuan jumlah kelompok yang paling sesuai untuk dataset yang sedang dianalisa merupakan masalah yang cukup komplek. Untuk bisa melaksanakan proses ini, keseimbangan antara kesempurnaan suatu model dengan pas tidaknya suatu model terhadap data yang dianalisa harus benar-benar terjaga. Dengan kata lain, model yang dipilih untuk suatu dataset haruslah cukup sempurna agar bisa mencakup semua informasi yang terkandung di dalam dataset tersebut, tetapi tidak harus terlalu sempurna agar tidak mengalami permasalahan over-fit.

Banyak teori yang telah digunakan dalam mengembangkan metode ini, termasuk diantaranya Minimum Message Length (MML), Maximum Likelihood (ML), Akaike Information Criterion (AIC), Schwarz’s Bayesian Information Criterion (BIC), Maximum A Posterior (MAP) dan Markov Chain Monte Carlo (MCMC). Teori-teori ini juga telah diimplementasikan menjadi paket-paket program pengelompokan data seperti SNOB yang menggunakan MML dalam proses pengestimasian parameter dan pemilihan model, EMMIX yang menggunakan ML untuk pengestimasian parameter dan AIC serta BIC untuk pemilihan model dan MCLUST yang juga menggunakan ML untuk pengestimasian parameter dan BIC untuk pemilihan model.

Berikut ini beberapa kumpulan link yang terkait dengan mixture modelling:
David Dowe Mixture Modelling (Mixture Modeling atau Mixture Model) Page memuat link yang lengkap terkait Mixture Modelling (Mixture Modeling atau Mixture Model) dan orang-orang yang menelitinya. David Dowe dengan beberapa peneliti lainnya mengembangkan program Mixture Modelling (Mixture Modeling atau Mixture Model) Snob yang menggunakan prinsip Minimum Message Length dalam pemodelannya. Beberapa peneliti lainnya (berikut software yang dikembangkan) termasuk Geoff McLachlan (EMMIX), Peter Cheeseman (AutoClass), Chris Fraley (MClust), Murray Jorgensen (MultiMix) dan peneliti-peneliti lainnya.

Gaussian Mixture dengan EM Algorithm

Expectation Maximisation (EM) algorithm adalah salah satu alternatif algoritma yang banyak digunakan dalam melakukan pemodelan mixture (mixture modelling – mixture modeling – mixture model). Penjelasan singkat mengenai EM Algoritm dapat dilihat di posting ini.

Dalam sebuah model Gaussian Mixture, data sebanyak m (y_1,…, y_m) diasumsikan berasal dari satu atau lebih distribusi Gaussian (diasumsikan sejumlah n). Kalau z_j diasumsikan sebagai distribusi Gaussian dari mana y_j berasal, maka probabilitas dari suatu y untuk berasal dari distribusi Gaussian tersebut dirumuskan sebagai:

p(y|z=i,theta) = N(mu_i, sigma_i)
= (2*PI)^(D/2) * |sigma_i|^(-1/2) * exp(-(y-mu_i)^T*sigma_i^(-1)*(y-mu_i)/2)

Tujuannya di sini adalah mengestimate parameter yang tidak diketahui theta = {mu_1, …,mu_n,sigma_1,…,sigma_n,p(z=1),…,p(z=n)}

Expectation Step

Dalam E-Step, dilakukan pengestimasian nilai z, dengan kondisi yang terdapat di dalam sample yang ada dan nilai estimasi parameter yang didapatkan dari tahap M-Step sebelumnya dengan rumus seperti berikut ini:

p(z_j=i|y_j,theta_t) = p(z_j=i,y_j|theta_t)/p(y_j|theta_t)
=p(y_j|z_j=i,theta_t)*p(z_j=i|theta_t)/SUM(k=1ton)(p(y_j|z_j=k,theta_t)*p(z_i=k,theta_t))

Maximisation Step

Dalam M-Step, kita perlu untuk memaksimalkan expected log-likelihood dari probability density function (pdf) sebagai berikut:

Q(theta) = E_z [ln TIMES(j=1 to m) p(y_j,z|theta)|y_j)]
= E_z [SUM (j=1 to m) ln p(y_j,z|theta)|y_j]
= SUM (j=1 to m) E_z [ln p(y_j,z|theta)|y_j]
= SUM (j=1 to m) SUM (i=1 to n) p(z_j = i|y_j,theta_t) ln p(z_j=i,y_j|theta)
= SUM (j=1 to m) SUM (i=1 to n) p(z_j = i|y_j,theta_t) ln (p(y_j|z_j=i,theta)*p(z_j=i| theta))

Di sini, terdapat contsrain :

SUM(i=1 to n) p(z_j = i|theta) = 1

Dengan menggunakan Lagrange Multiplier, pdf di atas dapat dikembangkan menjadi:

L(theta) = (SUM (j=1 to m) SUM (i=1 to n) p(z_j = i|y_j,theta_t)
* (-D*ln(2*PI)-ln|sigma_i|/2 – (y-mu_i)^T*sigma_i^(-1)*(y-mu_i)/2 + ln (p(z_j=i|
theta)))) + lambda (SUM(i=1 to n) p(z_j = i|theta) – 1)

Estimasi terhadap theta_(t+1) didapatkan dengan mencari nilai maksimum dari pdf terhadap parameter yang diestimasi dimana dL(theta)/dtheta = 0

Dari hasil penurunan didapatkan (selengkapnya dapat dilihat di wikipedia), estimasi parameter mu_i, sigma_i dan p(z_j=i|theta) dihitung dengan rumus sebagai berikut :

mu_i = (SUM (j=1 to m) p(z_j = i|y_j,theta_t) * y_j) / SUM (j=1 to m) p(z_j = i|y_j,theta_t)

sigma_i = (SUM (j=1 to m) p(z_j = i|y_j,theta_t)*(y-mu_i)*(y-mu_i)^T) / SUM (j=1 to m) p(z_j = i|y_j,theta_t)

p(z_j=i|theta) = SUM (j=1 to m) p(z_j = i|y_j,theta_t) / m

Referensi:
Dempster A., Laird N., and Rubin D. (1977). Maximum Likelihood From Incomplete Data Via the EM Algorithm. Journal of the Royal Statistical Society, Series B, 39(1): 1-38.

Modelling Criteria

Likelihood Ratio
Under Construction.

Akaike Information Criterion (AIC)
Under Construction

Schwarz’s Bayesian Information Criterion (BIC)
Under Construction

Information Bottleneck
Under Construction

79 responses

10 11 2009
Rizky

Maaf pak..mw nanya lagi :)
klo datanya memiliki skala pengukuran yg campuran (kategori dan kontinu) bagaimana bentuk model campurannya ?
pak, untuk ukuran sampel minimumnya u/ LCCA, brp y ? sy blm menemukan referensinya..
terima kasih banyak pak..mohon bantuannya

10 11 2009
Yudi Agusta

Sdr. Rizky,

Untuk data campuran bisa menggunakan distribusi campuran juga (distribusi continues dan distribusi categorical), misalnya distribusi normal dengan distribusi binomial/multinomial. Akan tetapi, korelasi antara variabel continuous dan variabel categical susah untuk dihitung, maka dalam kondisi seperti ini diasumsikan tidak ada korelasi antara variabel categorical dengan variabel continuous.

Untuk ukuran sampel, tidak ada batasan. Tetapi katanya kalau suatu populasi jumlah anggotanya kurang dari 30, mempunyai tendensi untuk tidak normal.

Demikian dan semoga membantu.

6 11 2009
Rizky

salam pak…
pak, maaf mau nanya..
pak kebetulan TA sy menggunakan LCCA dg data yg memiliki skala pengukran nominal dan ordinal
Pak, model umumnya seperti apa u/ LCCA yg datanya kategorik (nominal dan ordinal) ? apakah modelnya sma dg yg berskala kontinu
Pak, apakah untuk LCCA ini ada aturan khusus dalam penentuan ukuran sampelnya ?
jika pada metode cluster biasanya yg digunakan u/ menunjukan kesamaan/similiarity dg “jarak”(euclidian distance dll), u/ LCCA sendiri melihat tingkat similiaritynya menggunakan apa y ?
terima kasih banyak pak..mohon bantuannya

9 11 2009
Yudi Agusta

Sdr/Sdri. Rizky,

Dalam LCCA umumnya data dimodel dalam bentuk distribusi statistik. Kalau data continues biasanya menggunakan distribusi normal. Sedangkan untuk data catergorical (nominal atau ordinal) bisa menggunakan distribusi binomial (untuk variabel categorical yang mempunyai wilayah nilai 2) atau multinomial (untuk variabel categorical yang mempunyai wilayah nilai lebih dari 2).

Untuk ukuran similaritynya, dapat menggunakan nilai probabilitas. Kalau suatu data probabilitasnya tinggi untuk menjadi anggota suatu kelompok tertentu, data tersebut akan dikelompokkan masuk ke dalam kelompok tersebut. Jadi pengorganisasian data dengan kelompok ini tidak menghitung jarak absolut antar data, tetapi dimodel dulu dalam bentuk model distribusi, baru kemudian data ditentukan apakah dia mempunyai probabilitas tinggi untuk masuk kelompok yang satu atau kelompok yang lain.

Demikian semoga membantu.

10 11 2009
Rizky

terima kasih banyak Pak..atas jawabannya…

2 11 2009
Yudi Agusta

AIC merupakan criterion yang mungkin bisa dikatakan pertama kali muncul sebagai kriteria pemilihan model. Tetapi, dalam pengaplikasiannya, banyak pemodelan yang tidak bisa diselesaikan dengan baik oleh kriteria ini. Paper aslinya:

Akaike, H. (1974). A New Look at the Statistical Model Identification. IEEE Transaction on Automatic Control AC-19(6): 716-723.

Ada juga beberapa turunan dari kriteria ini dan kalau dicari di internet ada banyak sekali penerapan yang dilakukan memanfaatkan kriteria ini. Tetapi seperti dikatakan di atas, AIC mungkin masih banyak kekurangan dalam mengidentifikasi model yang ada di dalam data dibandingkan BIC dan kriteria pemodelan yang lain.

Semoga membantu.

30 10 2009
salman basri

Pak,, saya mw bertanya tentang AIC,,, kira2 kelemahan AIC apa ya pak? dan dimana saya bisa dapat referensi tentang AIC ini,,

Mohon Jawabannya,,,

17 08 2009
adi

mau tanya pa, kalo dynamic cluster analysis tu gmn ya? saya kurang ngerti,,, bisa tolong jelaskan pak.. makasi..

1 09 2009
Yudi Agusta

Dynamic cluster analysis sebenarnya secara teori tidak begitu baru, tetapi pendekatan yang digunakan sangat aplicable terhadap kenyataan saat ini. Informasi yang dapat berubah setiap saat mengharuskan kita untuk melakukan pemodelan dengan mengikuti perubahan informasi tersebut. Karena itulah muncul dynamic cluster analysis.

Dynamic cluster analysis merefer pada penambahan beberapa data baru dan penghapusan beberapa data yang lama dalam proses clustering serta melakukan penyesuaian metode terhadap perubahan tersebut.

Metode yang digunakan pada dasarnya berbasiskan metode clustering yang telah ada. Tetapi bagaimana mengakomodasi perubahan data untuk melakukan clustering yang lebih cepat, yang menjadi tambahan poin pada dynamic cluster analysis ini.

Demikian mungkin, semoga bisa membantu.

28 07 2009
Yudi Agusta

Idem dengan pertanyaan di atas ya

20 07 2009
edie

Saya ingin bertanya tentang homogenitas dan heterogenitas dalam cluster.Apakah heterogentias dan homogenitas K-Mean lebih baik dari pada cluster EM? Dari mana saya dapat mengetahuinya?

Apakah information gain diperlukan dalam menentukan data dalam cluster?Bisakah beri informasi lebih lanjut tentang information gain?

Terima kasih, Pak Yudi

19 07 2009
mahmud

Pak Yudi, saya ingin bertanya tentang homogenitas dan heterogenitas antara cluster EM dan cluster K-Mean, apakah heteregonitas dan homogenitas K-Mean lebih baik dari cluster EM? Dari mana saya bisa mengetahuinya?

Apakah ada kriteria khusus dalam pemilihan data untuk diclusterkan? Saya diberitahu oleh teman saya adanya tentang Information Gain untuk pemilihan data yang akan dicluster, bisa tolong jelaskan lebih lanjut tentang Information Gain dan apa kegunaannya? Terima kasih Pak Yudi

28 07 2009
Yudi Agusta

K-Means dan EM mempunyai asumsi yang berbeda dalam melakukan pengclusteran, walaupun algoritmanya hampir sama. Jadi definisi homogeneitas dan heterogeneitas kedua metode tidak bisa dibandingkan mana yang lebih baik.

Information Gain, sesuai dengan namanya, mempunyai arti seberapa besar informasi yang kita dapatkan apabila kita memilih variabel atau data tertentu dalam melakukan pemodelan. Semakin banyak kita mendapatkan informasi (yang biasanya diukur dengan nilai bits-nya), makin bagus variabel ataupun data tersebut digunakan untuk pengklasifikasian.

Demikian dan semoga membantu.

6 06 2009
puji

pak, maaf mau nanya lagi..
pak emang kalo d LCCA ada model nya yah??
model nya itu kayak yang d regresi pak?
di jurnal vermund kok g dibahas model nya ya pak,,,hanya equal n unequal saja..
serta error vara\ians dan kovarians nya saja..
tidak ada penjelasan mengenai model nya,,emang model ny seperti apa se pak?
kayak regresi?
maaaaf ya pak nanya terus,,cos dah baca jurnal vermund, tapi ga ada,,
ada referensi lain ga pak?
makasiiiiiiiiiiiih

28 07 2009
Yudi Agusta

LCCA itu modelnya berupa cluster/pengelompokan yang munkin dari sudut pandang tertentu bisa seperti regresi juga dengan nomor clusternya sebagai dependent variabel. Modelnya sendiri merupakan suatu persamaan yang berbentuk weighting sum yang kalau dilihat memang seperti model regresi.

Demikian dan semoga menjawab.

29 05 2009
puji

pak,,saya lagi..
pak mau nanya lagi, ketika saya mengeluarkan output dari latent gold,ada beberapa hal yang ingin saya tanyakan,,:
1. error kovarians nya itu apa nya ya pak? saya baca di jurnal magidson,,untuk menginterpretasikan error kovarians, nilai error kovarians tersebut di ubah ke korelasi untuk mengetahui hubungannya, sedangkan yang saya pahami, korelasi itu bisa di bentuk dari kovarians,, bukan dari error kovarians,, gimana y pak??
2. Pak, kan ada banyak kriteria ya pak,, seperti AIC,BIC,dan CAIC..tapi kok kita lebih cenderung hanya melihat BIC nya saja ya pak??
makasiiih pak

28 07 2009
Yudi Agusta

Sdri Puji,

Saya kurang tahu metode latent gold ataupun software yang digunakan utnuk itu, sehingga saya tidak bisa menjawab tentang maksud dari error kovarians ini. Kalau dalam Mixture modelling, kalau kita mengasumsikan bahwa antar variabel itu ada korelasinya, maka akan dipakai variance covariance, bukan standard deviasi setiap variabel yang ikut.

Kecenderungan untuk memperhatikan BIC karena secara eksperimen terbukti bahwa BIC menghasilkan model dengan lebih akurat daripada AIC, ataupun CAIC. Secara teori, mungkin belum pernah ada yang membuktikan apa salahnya metode AIC mapun CAIC.

Demikian, semoga menjawab

16 05 2009
Yudi Agusta

Jawaban untuk 1, 2, dan 3, bisa dibaca di tulisan saya di http://yudiagusta.wordpress.com/k-means/

Untuk yang nomor 4, terkadang, kita menemukan suatu cluster yang isinya kosong, tidak ada data yang cocok masuk ke kelompok tersebut. Ataupun kalaupun ada jumlahnya tidak begitu banyak, sehingga lebih efektif untuk digabungkan dengan kelompok yang lain. Maka dari itu, suatu cluster bisa saja dihilangkan dari pemodelan.

Demikian dan semoga menjawab

15 05 2009
darmawan

pagi pak. mau nanya nih.
atau bisa dikatakan minta bantuan tuk non-sekripsi w.
judul yang saya ambil “cara kerja GLobal k-means.”
sedangkan k-means tu apa saya pun tidak tahu.
jadi pertanyaan saya adalah
1. bagaimana cara kerja k-means.
mohon di berikan contoh perhitnunganya.
2. yang saya binggung bagaimana penentuan titik pusat pada k-means.
3. proses membentukan pusat cluster yg baru gimana pada k-means
4 . mengapa ada cluster yg dihilangkan pada k-means? apa dasarnya sehingga cluster itu hilang?

mohon bantuannya y pak

15 05 2009
Yudi Agusta

Sdr/i Puji, Latent Class Cluster Analysis memang sama dengan Mixture model. Priornya diambil menyesuaikan pada parameter yang tercakup di dalam pemodelan cluster. Misalnya untuk jumlah class, priornya biasanya uniform prior. Untuk yang lainnya seperti means dan standard deviation, juga ada prior yang memang sering digunakan. Parameter yang diestimasi antara lain means dan standard deviation (atau varcov), mixing proportion, dan jumlah cluster. Asumsi yang digunakan misalnya, variabel di dalam suatu data point dianggap tidak berkorelasi atau berkorelasi. Data dalam satu cluster dianggap normal atau tidak normal. dll. K-Means dan mixture model pada intinya sama, tetapi k-means mempunyai jumlah parameter yang jauh lebih sedikit untuk diestimasi dibandingkan dengan mixture model.

Mudah-mudahan menjawab.

1 05 2009
puji

pak, maaf ,,mau nanya lagi,,sebenernya perbedaan kmeans klaster dengan LCCA itu
apa se pak????
kan semua variabel itu punya laten nya,,,trus beda nya apa?

30 04 2009
puji

pak,,,mau nanya buat skripsi saya..,
1. mixture model itu sama dengan latent class cluster ga???
atau LCCA itu berangkatnya dari mixture model
2. kalo di LCCA kan ngelompokiny melalui peluang posteriornya ya pak..
nah kalo gitu prior nya dapet dari mana?
3, parameter yang di taksir dalam LCCA itu “miu” aja atau varkov nya juga
pak? atau ada asumsi kalo varkov nya sama…
4. asumsi dari LCCA itu apa aja y pak?
makasiiiiih banyak pak…

3 02 2009
Yudi Agusta

ARIMA itu sepengetahuan saya bukan metode mixture model, mungkin di luar wilayah pembahasan materi di halaman ini. AIC dan BIC digunakan karena kedua metode secara statistik umumnya bisa memilih model yang paling cocok untuk data yang kita miliki.

3 02 2009
Nursa

Langsung aj ya… nich ada beberapa pertanyaan,
1. apa kelebihan dan kekurangan menggunakan model ARIMA (p,d,q)?
2. waktu kita memilih kriteria model yang baik, kenapa sich banyak yang menggunakan AIC dan BIC? apa kelebihanya?
hmmm… itu aja dulu… Thx atas jawabanx…

10 01 2009
Yudi Agusta

P Budi yth,

Data apa saja bisa dimodel dengan EM asalkan numerik. Termasuk data categorical juga bisa, tapi kategorinya direpresentasikan dalam bentuk angka dulu untuk memudahkan pemodelan.

Demikian

10 01 2009
Yudi Agusta

Pak Ahmad dan Pak Yanto Yth,
K-Means sebenarnya sejenis dengan EM, cuman karakteristik kelas dan cara menentukan model yang sedikit berbeda. EM mempunyai model karakteristik yang lebih kompleks dibandingkan dengan K-Means. Baik EM maupun K-Means menggunakan prinsip homogenitas dan heterogenitas dalam melakukan proses clustering.

Untuk jumlah minimal data yang harus disediakan untuk dimodel, tidak ada batasan yang jelas. Mungkin ada suatu acuan suatu populasi harus terdiri dari minimal 30 data. Tetapi dalam proses clustering itu tidak bisa ditentukan. Misalnya kalau kita ingin memodel clustering dengan 3 cluster, menyediakan 3×30 data belum tentu mencukupi, karena kemungkinan satu cluster terdiri dari 60 data, cluster kedua 20 data dan cluster ketiga 10 data. Dan itu tidak bisa diprediksikan. Yang bagus dipersiapkan adalah kita menggunakan metode clustering yang akurat, sehingga walaupun datanya cuman 5, karakteristik cluster itu masih bisa kita tangkap dengan baik.

EM itu adalah pada dasarnya Gaussian Mixture Model. Proses E (Expectation) pada EM Algorithm adalah mencari karakteristik dari masing-masing cluster dan Proses M (Maximization) adalah proses mencari komposisi cluster dan data agar memaksimalkan nilai likelihood data terhadap model cluster yang dihasilkan.

Demikian dan semoga menjawab.

6 01 2009
yanto

Pak Yudi, saya ada pertanyaan ttg cluster EM (Expectation Maximation)

1. Apa kelebihan dan kekurangan Cluster EM dibandingkan cluster K-Mean ?

2. Cluster yg baik adalah cluster yang memiliki karakterisitik homogenitas dan heterogenitas. Cluster EM lebih condong memiliki karakterisitik yang mana ?

3. Apakah ada hubungannya input data yang dipakai dalam cluster dgn jumlah cluster yg dihasilkan dan jumlah data yang akan dipakai dalam cluster EM. Misal bila jumlah input = 3 dan jumlah cluster yg dibuat = 3 maka jumlah data yang boleh digunakan minimal berjumlah 50.

4. Data yg seperti apa yg cocok untuk di cluster menggunakan Cluster EM ?

5. Mengapa cluster EM disebut mixture model atau Gaussian Mixture Model ?

Mohon bantuannya, Pak Yudi.
Terima kasih

6 01 2009
budi

Saya ingin bertanya data seperti apa yang bisa di cluster menggunakan cluster EM (Expectation Maximation). Terima kasih

6 01 2009
Ahmad

Pak Yudi, ada yang ingin saya tanyakan tentang cluster EM (Expcectation Maximation)

1. Apa kelebihan dan kekurangan cluster EM dengan cluster K-Mean ?

2. Cluster yang baik adalah cluster yang memiliki karakteristik homogenitas dan heteroginitas, Cluster EM lebih condong memiliki karakteristik yang mana ?

3. Apakah ada hubungannya input yang akan dicluster dengan jumlah data yang akan dicluster dan jumlah cluster yg ingin dibuat. Misal bila input =3 dan jumlah cluster = 3 maka jumlah data yg harus dicluster minimal berjumlah 50.

4. Mengapa cluster EM disebut juga mixture model clustering ?, apakah ada kaitannya dgn Gaussian Mixture Model.

Mohon bantuannya Pak Yudi, maaf kalau pertanyaaannya banyak.

Leave a comment