Analisis Faktor Penentu Popularitas dan Kualitas Film Teratas IMDb Menggunakan Principal Component Analysis (PCA)

PENDAHULUAN

Latar Belakang

Industri perfilman di era digital menghadapi persaingan yang semakin ketat dengan ratusan film baru dirilis setiap tahunnya. Perlunya pemahaman tentang faktor-faktor yang memengaruhi kesuksesan suatu film. Platform daring seperti IMDb (Internet Movie Database) telah menjadi sumber informasi bagi penonton dalam menilai kualitas, popularitas, dan genre berbagai film. IMDb menyediakan data yang mencakup informasi rating penonton, skor dari kritikus, jumlah suara, pendapatan kotor, serta kategori genre, yang memberikan gambaran komprehensif mengenai popularitas dan kesuksesan suatu film.

Analisis faktor menjadi metode yang efektif dalam menyederhanakan kompleksitas data dengan mengidentifikasi struktur dasar dan mengelompokkan variabel yang saling berkaitan ke dalam faktor-faktor utama. Principal Component Analysis (PCA) merupakan teknik analisis yang bertujuan untuk mereduksi dimensi data, namun tetap mempertahankan variansi utama dari data. Dengan menggunakan PCA, dataset IMDb dapat dialokasikan ke dalam sejumlah komponen utama yang dapat menjelaskan faktor-faktor penting, seperti bagaimana genre dan popularitas mempengaruhi rating dan penerimaan penonton. Maka analisis ini digunakan untuk memahami interaksi antar variabel dalam data film teratas IMDb, dan mengidentifikasi komponen utama untuk menentukan elemen penentu popularitas suatu film.

Tujuan

  1. Menganalisis faktor-faktor yang memengaruhi popularitas dan kualitas film
  2. Mengidentifikasi komponen utama yang berkontribusi secara signifikan dengan PCA
  3. Memberikan rekomendasi dan wawasan untuk produsen film secara objektif

Tinjauan Pustaka

Analisis Multivariat

Analisis Multivariat merupakan metode statistik yang memungkinkan peneliti melakukan penelitian terhadap lebih dari dua variabel, menganalisis pengaruh beberapa variabel terhadap variabel lain secara bersamaan. Analisis Multivariat digunakan karena kenyataannya masalah yang terjadi tidak dapat diselesaikan dengan hanya menghubungkan dua variabel atau melihat pengaruh satu variabel terhadap variabel lainnya.

Teknik analisis multivariat secara dasar diklasifikasi menjadi dua, analisis dependensi dan analisis interdependensi. Analisis dependensi berfungsi untuk memprediksi variabel dependen dengan dua atau lebih variabel bebas, seperti analisis regresi berganda, analisis diskriminan, analisis MANOVA, dan analisis korelasi kanonikal. Analisis interdependensi berfungsi untuk memberikan makna terhadap seperangkat variabel atau membuat kelompok-kelompok secara bersama-sama, seperti analisis faktor, analisis komponen utama (PCA), analisis kluster, dan multidimensional scaling.

Analisis Faktor

Analisis faktor adalah kajian tentang saling ketergantungan antara variabel-variabel, untuk menemukan himpunan variabel baru dengan jumlah lebih sedikit dari sebelumnya yang menunjukkan mana variabel semula yang merupakan faktor-faktor persekutuan. Variabel dalam jumlah besar dikelompokkan dalam faktor yang mempunyai karakteristik serupa.

Teknik analisis faktor terbagi menjadi eksploratori dan konfirmatori. Analisis faktor eksploratori adalah teknis analisis yang memiliki beberapa faktor yang akan terbentuk berupa variabel laten dan belum dapat ditentukan, sama seperti analisis komponen utama (PCA). Analisis faktor konfirmatori sudah diketahui jumlah faktor yang dibentuk, serta variabel apa saja yang termasuk ke dalam setiap faktor.

Principal Component Analysis (PCA)

Principal Component Analysis bertujuan untuk menyederhanakan variabel yang diamati dengan cara mereduksi dimensinya namun tetap mempertahankan total keragaman dari peubah asalnya. Hal ini dilakukan dengan menghilangkan korelasi antara variabel bebas melalui transformasi. Setelah beberapa komponen hasil PCA yang bebas multikolinieritas diperoleh, maka komponen-komponen tersebut menjadi variabel bebas baru yang akan dianalisa pengaruhnya terhadap variabel dependen dengan analisis regresi.

Keuntungan penggunaan PCA dibandingkan metode lain sebagai berikut :

1. Dapat menghilangkan korelasi, sehingga masalah multikolinearitas dapat teratasi

2. Dapat digunakan untuk segala kondisi data

3. Dapat digunakan tanpa mengurangi jumlah variabel asal

Data

Cuplikan Data

> imdb_data <- read.csv("C:/Users/Dell/Documents/Kuliah/ANMUL/imdb_top_1000.csv")
> 
> data <- imdb_data[, c("IMDB_Rating", "score", "Runtime", "No_of_Votes", "revenue", "budget_x")]
> 
> head(data)
  IMDB_Rating score Runtime No_of_Votes    revenue budget_x
1         9.3    73     142     2343110  271616668 7.50e+07
2         9.2    78     175     1620367 2316794914 4.60e+08
3         9.0    76     152     2303232  724459031 1.00e+08
4         9.0    70     202     1129952   34200000 1.23e+07
5         9.0    61      96      689845  340941959 7.70e+07
6         8.9    66     201     1642758   80000000 3.50e+07

Variabel

Penelitian ini menggunakan 6 Variabel sebagai aspek yang dapat memengaruhi popularitas dan rating film.

IMDB_Rating = Rating IMDb

score = Skor kritikus

Runtime = Durasi film dalam menit

No_of_Votes = Jumlah suara yang diberikan pengguna IMDb

Revenue = Pendapatan yang dihasilkan oleh film

budget_x = Pengeluaran produksi film

SOURCE CODE

Library

> library(stats) #Analisis Statistik
> library(corrplot) #Plot korelasi
> library(REdaS) #KMO dan Uji Bartlett
> library(psych) #Analisis Faktor

Impor Data

Menginput data dengan fungsi read.csv(), menyimpan kolom yang ingin digunakan dengan nama data. Kemudian melakukan cleaning data, menghilangkan data NA dengan fungsi na.omit().

> imdb_data <- read.csv("C:/Users/Dell/Documents/Kuliah/ANMUL/imdb_top_1000.csv")
> data <- imdb_data[, c("IMDB_Rating", "score", "Runtime", "No_of_Votes", "revenue", "budget_x")]
> 
> #Cleaning Data
> data <- na.omit(data)

Eksplorasi dan Visualisasi Data

Menghitung statistika deskriptif dengan fungsi summary() kemudian dihasilkan nilai rata-rata, median, nilai minimum, maksimum, kuartil 1, dan kuartil 3 dari setiap variabel.

> summary(data)

Fungsi cor() digunakan untuk menghitung korelasi antar variabel, sedangkan fungsi corrplot() untuk membuat plot korelasi antar variabel.

> r = cor(data)
> corrplot(r, method = "number", type = "lower")

Uji KMO

Package yang digunakan pada uji ini adalah {r}REdaS dan fungsi {r}KMOS untuk menghitung nilai KMO, dan MSA setiap variabel. Jika nilai MSA < 0.5 maka variabel tersebut tidak dapat dianalisis lebih lanjut.

> KMOS(data)

Input Data tanpa variabel dengan MSA < 0.5

Memasukkan ulang data setelah membuang variabel dengan MSA < 0.5, proses memasukkan dan cleaning data dilakukan kembali.

> data2 <- imdb_data[, c("IMDB_Rating", "Runtime", "No_of_Votes")]
> 
> #Cleaning Data
> data2$Runtime <- as.numeric(gsub(" min", "", data2$Runtime))
> data2 <- na.omit(data2)
> 
> #Transformasi Normal baku
> data2 <- data.frame(scale(data2[,1:3]))
> head(data2)

Uji Bartlett

Menguji korelasi antar variabel, jika lebih dari taraf nyata maka terdapat korelasi. Fungsi yang digunakan adalah bartlett.test().

> bartlett.test(data2)

Scree Plot

Membuat scree plot dengan menghitung korelasi cor() dan nilai eigen eigen() terlebih dahulu.

Korelasi dan Nilai Eigen

> korelasi <- cor(data2)
> eigen <- eigen(korelasi)

Visualisasi Scree Plot

> screeplot <- plot(eigen$values, main = "Scree Plot", xlab = "Faktor", ylab = "Nilai Eigen", pch = 16, type = "b", col = "blue", lwd = 1) + axis(1, at = seq(1,3)) 
Error in eigen$values: object of type 'closure' is not subsettable

Scree Plot dibuat dengan function plot() dengan sumbu-x Faktor, dan sumbu-y Nilai Eigen.

Ekstraksi dan Rotasi Vektor

Melakukan ekstraksi dan rotasi menggunakan fungsi principal(). Dengan mendefinisikan r sebagai matriks korelasi, nfactors sebagai banyak komponen yang akan diekstrak, rotate untuk metode rotasi yang akan digunakan.

> PCA <- principal(r = korelasi, nfactors = 2, rotate = "varimax")
> PCA

PCA dengan prcomp

> PCA2 <- prcomp(x = data2, scale. = TRUE, center = TRUE)
> PCA2
> summary(PCA2)

Ekstraksi Faktor dengan PFA

Melakukan ekstraksi faktor dengan PFA menggunakan fungsi fa().

> PFA <- fa(r = data, nfactors = 2, rotate = "varimax", fm = "pa", SMC = FALSE)
> PFA

Visualisasi

Menampilkan diagram faktor dengan fungsi fa.diagram() dengan menggunakan hasil PFA tadi.

> loads <- PFA$loadings
> fa.diagram(PFA)

HASIL DAN PEMBAHASAN

Eksplorasi dan Visualisasi Data

  IMDB_Rating        score           Runtime       No_of_Votes     
 Min.   :7.600   Min.   :  0.00   Min.   : 45.0   Min.   :  25088  
 1st Qu.:7.700   1st Qu.: 63.00   1st Qu.:103.0   1st Qu.:  55526  
 Median :7.900   Median : 69.00   Median :119.0   Median : 138549  
 Mean   :7.949   Mean   : 67.95   Mean   :122.9   Mean   : 273693  
 3rd Qu.:8.100   3rd Qu.: 75.00   3rd Qu.:137.0   3rd Qu.: 374161  
 Max.   :9.300   Max.   :100.00   Max.   :321.0   Max.   :2343110  
    revenue             budget_x        
 Min.   :0.000e+00   Min.   :0.000e+00  
 1st Qu.:4.638e+07   1st Qu.:3.500e+07  
 Median :1.714e+08   Median :9.290e+07  
 Mean   :2.918e+08   Mean   :1.443e+08  
 3rd Qu.:4.649e+08   3rd Qu.:1.679e+08  
 Max.   :2.924e+09   Max.   :1.333e+09  

Berdasarkan output diatas, ditampilkan nilai terkecil, terbesar, nilai median, rata-rata, kuartil 1, dan kuartil 3 dari setiap variabel.

Berdasarkan plot korelasi diatas, nilai yang mendekati 1 dan -1 menandakan korelasi yang kuat antar variabel. Korelasi antar 6 variabel yang digunakan cenderung rendah.

Uji KMO


Kaiser-Meyer-Olkin Statistics

Call: KMOS(x = data)

Measures of Sampling Adequacy (MSA):
IMDB_Rating       score     Runtime No_of_Votes     revenue    budget_x 
  0.5188738   0.4509044   0.7161399   0.5215444   0.4783901   0.4336155 

KMO-Criterion: 0.5260191

Berdasarkan output diatas, diperoleh statistik KMO-Criterion sebesar 0.53 > 0.5 maka analisis faktor dapat diterapkan menggunakan matriks korelasi antar variabel data.

Variabel score, revenue, dan budget tidak dapat dianalisis lebih lanjut karena nilai MSA < 0.5

Input Data tanpa variabel dengan MSA < 0.5

Dilakukan input data kembali tanpa variabel score, revenue, dan budget

Uji Bartlett


    Bartlett test of homogeneity of variances

data:  data2
Bartlett's K-squared = -1.1086e-13, df = 2, p-value = 1

Hipotesis:

\(H_0 : R = I\) (Tidak terdapat korelasi yang signifikan antar variabel)

\(H_1 : R \neq I\) (Terdapat korelasi yang signifikan antar variabel)

Keputusan:

Berdasarkan output di atas, nilai-p < α (0.01), maka tolak \(H_0\).

Kesimpulan:

Dengan taraf nyata 1%, dapat disimpulkan bahwa terdapat korelasi yang signifikan antar variabel, sehingga dapat dilanjutkan dengan analisis faktor.

Scree Plot

Berdasarkan scree plot diatas, dapat dilihat bahwa penurunan tajam dari faktor pertama ke faktor kedua, setelah itu cenderung landai. Maka faktor bermakna yang akan diekstrak sebanyak 2 faktor.

Ekstraksi dan Rotasi Vektor

Principal Components Analysis
Call: principal(r = korelasi, nfactors = 2, rotate = "varimax")
Standardized loadings (pattern matrix) based upon correlation matrix
             RC1  RC2   h2    u2 com
IMDB_Rating 0.84 0.18 0.74 0.263 1.1
Runtime     0.12 0.99 0.99 0.007 1.0
No_of_Votes 0.88 0.02 0.77 0.229 1.0

                       RC1  RC2
SS loadings           1.49 1.01
Proportion Var        0.50 0.34
Cumulative Var        0.50 0.83
Proportion Explained  0.60 0.40
Cumulative Proportion 0.60 1.00

Mean item complexity =  1
Test of the hypothesis that 2 components are sufficient.

The root mean square of the residuals (RMSR) is  0.15 

Fit based upon off diagonal values = 0.81

Berdasarkan output diatas, model dengan dua komponen utama cukup memadai, karena secara kumulatif kedua komponen menjelaskan varians sebesar 83%.

PCA dengan prcomp

Standard deviations (1, .., p=3):
[1] 1.2776896 0.9318690 0.7064908

Rotation (n x k) = (3 x 3):
                   PC1        PC2        PC3
IMDB_Rating -0.6536612 -0.2121305  0.7264487
Runtime     -0.4231168  0.8983049 -0.1184078
No_of_Votes -0.6274546 -0.3847712 -0.6769430
Importance of components:
                          PC1    PC2    PC3
Standard deviation     1.2777 0.9319 0.7065
Proportion of Variance 0.5442 0.2895 0.1664
Cumulative Proportion  0.5442 0.8336 1.0000

Berdasarkan output diatas, komponen pertama adalah yang paling signifikan karena menjelaskan varians sebesar 54% dan didukung oleh komponen kedua dengan menjelaskan varians sebesar 29%. Sehingga secara kumulatif, komponen pertama dan kedua menjelaskan varians sebesar 83% dan sudah memadai karena > 80% total keragaman data.

Komponen utama yang terbentuk :

\[{PC_1} = - 0.654 IMDBRating - 0.423 Runtime - 0.627 NumVotes\] \[{PC_2} = - 0.212 IMDBRating + 0.898 Runtime - 0.384 NumVotes\]

Ekstraksi Faktor dengan PFA

Factor Analysis using method =  pa
Call: fa(r = data2, nfactors = 2, rotate = "varimax", SMC = FALSE, 
    fm = "pa")
Standardized loadings (pattern matrix) based upon correlation matrix
             PA1  PA2   h2   u2 com
IMDB_Rating 0.66 0.14 0.46 0.54 1.1
Runtime     0.16 0.98 0.99 0.01 1.1
No_of_Votes 0.73 0.06 0.54 0.46 1.0

                       PA1  PA2
SS loadings           1.00 0.99
Proportion Var        0.33 0.33
Cumulative Var        0.33 0.66
Proportion Explained  0.50 0.50
Cumulative Proportion 0.50 1.00

Mean item complexity =  1.1
Test of the hypothesis that 2 factors are sufficient.

df null model =  3  with the objective function =  0.35 with Chi Square =  344.93
df of  the model are -2  and the objective function was  0 

The root mean square of the residuals (RMSR) is  0 
The df corrected root mean square of the residuals is  NA 

The harmonic n.obs is  1000 with the empirical chi square  0  with prob <  NA 
The total n.obs was  1000  with Likelihood Chi Square =  0  with prob <  NA 

Tucker Lewis Index of factoring reliability =  1.009
Fit based upon off diagonal values = 1
Measures of factor score adequacy             
                                                   PA1  PA2
Correlation of (regression) scores with factors   0.81 0.99
Multiple R square of scores with factors          0.66 0.98
Minimum correlation of possible factor scores     0.32 0.96

Berdasarkan output diatas, setiap variabel memiliki nilai < 1. Maka metode PFA sudah tepat sebagai metode ekstraksi faktor kasus ini.

Model analisis faktor yang terbentuk sebagai berikut : \[\text{IMDB_Rating} = 0.66 PA_1 + 0.14 PA_2 + u_1\]

\[\text{Runtime} = 0.16 PA_1 + 0.98 PA_2 + u_2\]

\[\text{No_of_Votes} = 0.73 PA_1 + 0.06 PA_2 + u_3\]

Pada output bagian Proportion Variance, faktor PA_1 dapat menjelaskan variansi sebesar 33% dan faktor PA_2 dapat menjelaskan variansi sebesar 33%, sehingga kumulatif kedua faktor dapat menjelaskan variansi sebesar 66%

Visualisasi

PENUTUP

Kesimpulan

Dapat disimpulkan bahwa :

1. Terdapat 3 variabel (Score, Revenue, dan Budget) dengan nilai MSA < 0.5, maka ketiga variabel tersebut dieliminasi dan variabel yang digunakan sebanyak 3

2. Terdapat 2 faktor bermakna yang dapat diekstrak dari ketiga variabel

3. Faktor-faktor tersebut dapat didefinisikan sebagai Faktor Popularitas Film dengan variabel IMDB_Rating dan No_of_Votes, dan Faktor Durasi Film dengan variabel Runtime.

Saran

  1. Produsen film dapat lebih fokus terhadap peningkatan kualitas film dan strategi pemasaran yang dapat meningkatkan jumlah audiens
  2. Perlu dipertimbangkan penyesuaian durasi film dengan preferensi audiens

DAFTAR PUSTAKA

Annisa, S. (2023, November 10). Penerapan Principal Component Analysis (PCA) untuk Mengidentifikasi Faktor-Faktor yang mempengaruhi Gaya Hidup Sehat dalam Kehidupan di Kota. Retrieved from rpubs: https://rpubs.com/sabillaannisah17/1112252

Mangkunegoro, S. (2023, November 10). Penerapan Analisis Faktor pada Data Indikator Kualitas Tidur dan Gaya Hidup. Retrieved from rpubs: https://rpubs.com/satrio0126/1111592

Prakoso, N. (2023, October 22). Analisis Multivariat : Principal Component Analysis (PCA). Retrieved from rpubs: https://rpubs.com/nobby_nugraha/pca

Purnomo, & Sutadji, E. (2022). Analisis Data Multivariat. Banyumas: Omera Pustaka.

Riswan, & Khairudin. (2019). Statistik Multivariate. Bandar Lampung: AURA.

Wijaya, T., & Budiman, S. (2016). Analisis Multivariat untuk Penelitian Manajemen. Yogyakarta: POHON CAHAYA.