Principal Component Analysis

Andaikan kita memiliki data observasi dgn jumlah variable (independent dan dependent) yg sangat banyak. Kita ingin mengetahui dr variable yg sebanyak itu, variable manakah yg sebenarnya berkontribusi terhadap variasi data. Variable2 yg terpilih ini lah yg nantinya akan terus digunakan. Dengan cara ini kita dapat nantinya mengurangi jumlah variable yg mesti diukur atau dihitung tanpa harus kehilangan informasi di dalam seluruh data secara signifikan . Salah satu cara utk mengetahuinya adalah dgn menggunakan Principal Component Analysis (PCA). Dan, masalah yg spt ini termasuk dlm kategori multivariate analysis.

PCA jg dapat digunakan sbg alat utk mengetahui variable2 manakah yg saling berkaitan. Principal component yg didapat jg dpt digunakan membuat model yg memprediksi dependent variablenya. Langkah2 utk melakukan PCA secara garis besar adalah sbb:

Standardisasikan data2 yg ada.

Ada kalanya data2 yg kita dapatkan memiliki perbedaan skala yg cukup mencolok. Satu data berkisar antara 10-1, sementara lainnya bernilai 102. Perbedaan skala ini akan menyebabkan ketidaksimetrisan persebaran (variance) data. Oleh karena itu, data2 tersebut mesti distandardisasikan dgn cara spt berikut:

Buat covariance matriks dr variable2 yg ada

Covariance adalah variance antara dua variable, misalnya x dan y. Dengan merujuk ke formula variance, maka covariance dihitung sbb:

Semakin banyak variable yg terlibat, maka semakin besar matriks covariance-variance nya. Contoh utk 3 variabel dpt dilihat di table di bawah:

x y z
x Variance (x,x) Covariance (x,y) Covariance (x,z)
y Covariance (y,x) Variance (y,y) Covariance (y,z)
z Covariance (z,x) Covariance (z,y) Variance (z,z)

Covariance (x,y) sama dgn covariance (y,x).

Cari eigen value dan eigen vector dr covariance matriks tersebut

Nilai eigenvalue menentukan principal component yg terlibat (principal components that account for the most variations in the data). Nilai ini dihitung dgn menyelesaikan persamaan berikut:

Di mana:

A = covariance matriks

λ = eigen value

I = identity matrix

Dari persamaan di atas, jumlah eigenvalue akan sebanyak jumlah variable yg terlibat. Kemudian, eigenvector dihitung dgn menyelesaikan persamaan di bawah:

X = eigenvector utk eigenvalue yg digunakan.

Persamaan di atas diselesaikan utk setiap eigenvalue yg didapat. Eigenvector dgn eigenvalue terbesar disebut principal component pertama, dst. Biasanya, dua principal component sudah cukup utk merangkum sekitar 80-90% variations di data.

Jika posisi setiap variable di dalam eigenvector2 tsb diplot akan diperoleh loading plot. Biasanya loading plot menggunakan principal component yg pertama sbg sumbu x, dan principal component kedua sbg sumbu y. Loading plot ini lah yg memvisualisasikan hubungan antara variabel2 tsb. Variable2 yg sgt dekat ke titik pusat adalah variabel2 yg dpt dihilangkan, those variables do not account for much variations in the data. Variable2 yg berdekatan satu sama lain memiliki hubungan yg berbanding lurus (directly proportional) dan disebut jg sebagai co-linearity. Sementara variable2 yg berjauhan dan terlihat saling berlawanan adalah variable2 yg berhubungan secara terbalik (inversely proportional).

Jika masing2 data diletakkan pada loading plot ini, maka akan diperoleh score plot. Dari sini kita akan melihat kecenderungan setiap data. Apakah mereka berdekatan satu sama lain yg menunjukkan kemiripannya? Atau apakah mereka akan lebih cenderung utk mengarah ke satu variabel tertentu?

Jika PCA di atas hanya dilakukan utk dependent variables, maka principal component yg diperoleh dapat digunakan utk memprediksi independent variable nya. Ini disebut sbg Principal Component Regression (PCR).

3 Comments (+add yours?)

  1. amin
    Jun 08, 2011 @ 22:37:38

    nice artikel
    saya sekarang menggunakan PCA untuk reduksi dimensi data yang saya gunakan
    tapi untuk mencari eigen value dan eigenvektornya saya ingin menggunakan metode jacobi…bisa di jelaskn gak tentang penggaan iterasi jacobi
    terimkasih

    Best regards
    amin

    Reply

    • zapthegreat
      Jun 09, 2011 @ 22:06:29

      Terima kasih. Metode Jacobi mmg sering digunakan utk menyelesaikan persamaan aljabar linear. Sayangnya saya blom pernah make🙂 Coba aja liat di wikipedia atau google ttg penggunaannya. Barusan saya liat di wikipedia, ada algoritmanya. Ntar klo udah berhasil share ke saya ya, hehehe..

      Reply

  2. liahrp
    Nov 15, 2014 @ 06:53:46

    Reblogged this on tulanglunak and commented:
    biar PCA eksis di tulanglunak

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: