SetUp

library(data.table)
library(dplyr)
library(plotly)
library(ggplot2)
library(DT)
library(lubridate)
library(hrbrthemes)
library(ggthemes)
library(ggprism)
library(knitr)
library(scales)
library(htmlwidgets)
library(stringr)

1. Deskriptiv təhlil

1.1 Dataset haqqında ümumi məlumat

1.1.1 Datasetin qısa xülaləsi

summary_movies=readRDS("C:/Users/user/Desktop/Yekun layihe/summary_movies.rds")
datatable(as.data.frame.matrix(summary_movies), rownames=F, options=list(dom='t'))
summary_ratings=readRDS("C:/Users/user/Desktop/Yekun layihe/summary_ratings.rds")
datatable(as.data.frame.matrix(summary_ratings), rownames=F, options=list(dom='t'))
summary_links=readRDS("C:/Users/user/Desktop/Yekun layihe/summary_links.rds")
datatable(as.data.frame.matrix(summary_links), rownames=F, options=list(dom='t'))
summary_tags=readRDS("C:/Users/user/Desktop/Yekun layihe/summary_tags.rds")
datatable(as.data.frame.matrix(summary_tags), rownames=F, options=list(dom='t'))
# Datada olan sətir və sütunların sayı

dataset_info=readRDS("C:/Users/user/Desktop/Yekun layihe/dataset_info.rds")
datatable(dataset_info, rownames=F, options=list(dom='t'))

Movies cədvəli haqqında məlumat Cədvəlin məzmunu: Sistemdə qeydiyyatda olan bütün filmlərin adlarını və janrlarını əks etdirən əsas kataloq bazasıdır. Həcm və sətr sayı: Cəmi 62,423 sətir və 3 əsas sütundan ibarətdir. moveId: Filmin unikal kodu Title: Filmin adı və buraxılış ili Genres: Filmin aid olduğu janrlar Filmlərin buraxılış illəri aralığı: 1874-2019 Əlaqələndirmə: movieId açarı vasitəsilə ratings cədvəli ilə əlaqələndirilir.

Ratings cədvəli haqqında məlumat Cədvəlin məzmunu: İstifadəçilərin müxtəlif filmlərə yazdığı qiymətləndirmə rəylərini əks etdirən əsas məlumat bazası Həcm və sətr sayı: Cəmi 25,000,095 sətir və 4 sütundan (userId, movieId, rating, timestamp) ibarətdir. Unikal istifadəçi sayı: 162,541 Unikal film sayı: 62,423 Qiymətləndirilmiş unikal film sayı: 59,047 Qiymətləndirmə miqyası: 0.5 – 5 (0.5 addımı ilə, cəmi 10 dərəcə) Rating verilməsində zaman aralığı: 1995-01-09 — 2019-11-21

Tags cədvəli haqqında məlumat Cədvəlin məzmunu: İstifadəçilərin filmlərə yazdığı açar sözlər (teqlər) vasitəsilə filmlərin məzmununu və xüsusiyyətlərini əks etdirən əlavə məlumat bazası. Həcm və sətr sayı: Cəmi 1093360 sətir və 4 sütundan ibarətdir userId: Teqi yazan istifadəçinin unikal kodu movieId: Teqin aid olduğu filmin unikal kodu Tag: İstifadəçinin daxil etdiyi mətn tipli açar söz (atmospheric, sci-fi, twist ending) timestamp: Teqin əlavə olunduğu vaxt qeydi Analitik tətbiq və nəticə: Teq məlumatları reytinqlərlə inteqrasiya edilərək, teqlər kəsişməsində orta reytinqlərin paylanma anomaliyaları hesablanmış və qeyri-adi meyillər aşkarlanmışdır.

Links cədvəli haqqında məlumat Filmləri digər məşhur xarici film platformaları ilə əlaqələndirmək üçün istifadə olunan unikal identifikatorları özündə saxlayan yardımçı cədvəldir. Bu cədvəl 62423 sətir və 3 əsas sütundan ibnarətdir. movieID: Həmin filmin MovieLens sistemindəki unikal nömrəsidir. Digər cədvəllərlə əlaqələndirmək üçün əsas açar sütun rolunu oynayır Imdbld: Filmin IMDb bazasındakı unikal identifikatorudur.(məsələn, Toy Story filmi üçün tt0114709) tmdbld: Filmin The Movie Database (TMDb) platformasındakı unikal rəqəmsal nömrəsidir

1.1.2 Unikal istifadəçi sayı

unikal_user=readRDS("C:/Users/user/Desktop/Yekun layihe/unikal_user.rds")

cat("**Unikal istifadəçi sayi:**", format(unikal_user, big.mark = ","))

Unikal istifadəçi sayi: 162,541

1.1.3 Unikal film sayı

movie_data=readRDS("C:/Users/user/Desktop/Yekun layihe/unikal_movie.rds")

cat("**Ümumi unikal film sayı:**", format(movie_data$total, big.mark = ","), "<br>")

Ümumi unikal film sayı: 62,423

cat("**Qiymətləndirilmiş unikal film sayı:**", format(movie_data$rated, big.mark = ","))

Qiymətləndirilmiş unikal film sayı: 59,047

1.1.4 Qiymətləndirmə miqyası

scale_ratings=readRDS("C:/Users/user/Desktop/Yekun layihe/scale_rating.rds")

cat("**Qiymətləndirmə miqyası:**", 
    scale_ratings$min_val, "–", scale_ratings$max_val, 
    paste0("(", scale_ratings$step_val, " addımı ilə, cəmi ", scale_ratings$total_levels, " dərəcə)"))

Qiymətləndirmə miqyası: 0.5 – 5 (0.5 addımı ilə, cəmi 10 dərəcə)

1.1.5 Datasetin zaman aralığı

time_data=readRDS("C:/Users/user/Desktop/Yekun layihe/time_data.rds")

cat("**Zaman aralığı:**", time_data$start_date, "—", time_data$end_date, 
    paste0("(", time_data$start_year, "–", time_data$end_year, " illəri)"))

Zaman aralığı: 1995-01-09 — 2019-11-21 (1995–2019 illəri)

1.2 Ratinglərin ümumi paylanması

1.2.1 Ratinglərin təsviri statistikası

mode_val=readRDS("C:/Users/user/Desktop/Yekun layihe/mode_rating.rds")

cat("**Ən çox verilən rating (Moda):**", mode_val, "<br>")

Ən çox verilən rating (Moda): 4

cat("**Orta rating (Mean):** 3.534 <br>")

Orta rating (Mean): 3.534

cat("**Median rating:** 3.500 <br>")

Median rating: 3.500

cat("**Minimum / Maksimum rating:** 0.5 — 5.0")

Minimum / Maksimum rating: 0.5 — 5.0

Şərh: Mərkəzi meyletmə göstəriciləri: Orta qiymət-(Mean: 3.534) və median 3 qiyməti olmuşdur. Dominant zirvə (Mode): Ən çox verilən reytinq 4.0 baldır. (6 milyondan çox müraciət ilə qrupun lideridir). Bunun ardınca 3.0 bal və 5.0 bal göstəriciləri gəlir. Minimum rating 0,5 və maksimum rating 5 olmuşdur.

1.2.2 İstifadəçi ratinglərinin paylanma qrafiki

include_graphics("C:/Users/user/Desktop/Yekun layihe/rating_graphics.png")

Şərh: Tam ədəd effekti (Psixoloji Faktor): Qrafikdən görünür ki, istifadəçilər yarım ballardan çox məhz tam ədədlərə üstünlük verirlər. Bunun əsas səbəbi insan psixologiyasının məlumatı sadələşdirməyə meyilli olması və gündəlik həyatdakı ənənəvi qiymətləndirmə vərdişlərimizdir. Pis, orta yaxşı, əla kimi… Ümumiyyətlə, qrafikə baxanda görünür ki, istifadəçilərin əksəriyyəti filmlərə yüksək bal verib.

1.2.3 Rating verilmə illərinə görə ortalama rating göstəricisi

rating_avg_time=readRDS("C:/Users/user/Desktop/Yekun layihe/ratings_avg_time.rds")

datatable(rating_avg_time,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
include_graphics("C:/Users/user/Desktop/Yekun layihe/ratings_avg_time.png")

Şərh: İllər Üzrə Eniş-Qalxışın Əsas Səbəbləri İstifadəçi Bazasının Genişlənməsi (Kütləviləşmə Effekti): Platformanın ilk illərində (məsələn, 1995ci illərdə) sistemdən istifadə edən azsaylı insanlar adətən daha seçici kinomanlar olurdu. İllər keçdikcə platformaya kütləvi şəkildə fərqli zövqlərə malik istifadəçilərin qoşulması orta balın aşağıya doğru enməsinə səbəb olub. Həmin İl Buraxılan Filmlərin Kontent Keyfiyyəti: (zirvələr üçün) Kino sənayesində hər il eyni səviyyədə uğurlu filmlər çəkilmir. Məsələn, 2013-cü il kimi zirvə illərində qlobal miqyasda çox bəyənilən, yüksək reytinqli blockbasterlərin və ya kult filmlərin çıxması həmin ilə yazılan reytinqlərin ümumi ortalamasını kəskin qaldırıb. Əksinə, zəif repertuarlı illər enişlərlə nəticələnib. Reytinq Vermə Davranışının Dəyişməsi: Zamanla istifadəçilərin qiymətləndirmə mədəniyyəti də dəyişir. Bəzi dövrlərdə istifadəçilər daha sərt tənqidçi mövqe sərgiləyərək hər filmə yüksək bal vermirlər, digər dövrlərdə isə daha səxavətli qiymətləndirmələr müşahidə olunur. Kontent keyfiyyəti: (2004-2005) Həmin illərdə platformada aktiv şəkildə qiymətləndirilən filmlərin ümumi keyfiyyət ortalamasının nisbətən aşağı olması və ya istifadəçilərin məhz həmin dövrdə daha çox tənqid olunan layihələrə rəy yazması səbəbindən də ola bilər.

1.2.4 Rating səviyyəsinə görə unikal istifadəçi sayı

rating_user_counts=readRDS("C:/Users/user/Desktop/Yekun layihe/rating_user_counts.rds")

datatable(rating_user_counts,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
include_graphics("C:/Users/user/Desktop/Yekun layihe/rating_user_counts.png")

Şərh: Əsas Zirvələr (Maksimum İstifadəçi İştirakı): Ən çox unikal istifadəçi sayı 3, 4 və 5 bal kateqoriyalarında qeydə alınıb (xüsusilə 4 bal üzrə rəy verən unikal istifadəçilərin sayı 150,000-dən çoxdur). Bu, auditoriyanın əsas hissəsinin filmləri məhz bu diapazonda qiymətləndirdiyini göstərir. Müsbət Meyllilik: Unikal istifadəçilərin böyük əksəriyyəti izlədikləri məzmuna orta və ya yüksək (3, 4, 5) bal verməyə üstünlük verir. Bu da platforma istifadəçilərinin ümumi olaraq daha çox müsbət və ya balanslı qiymətləndirmə tendensiyasına malik olduğunu təsdiqləyir. Tam Balın Populyarlığı (5 Bal): 5 tam bal verən unikal istifadəçilərin sayının da zirvəyə yaxın olması (~150,000) tamaşaçıların bəyəndikləri layihələrə maksimum qiymət verməkdən çəkinmədiyini nümayiş etdirir. Aşağı Aktivlikli Sərhədlər: Ən az unikal istifadəçi sayı 0.5 və 1.5 bal kimi fraksion/ çox aşağı qiymətlərdə müşahidə olunur (50,000-dən az). Bu, filmləri hədsiz tənqidi və ya kəskin aşağı ballarla qiymətləndirən unikal istifadəçi dairəsinin nisbətən məhdud olduğunu bildirir.

1.3 Filmlərin populyarlığı

1.3.1 Rating sayına görə Top 10 film

Top10_ratings=readRDS("C:/Users/user/Desktop/Yekun layihe/TOP10.rds")

datatable(Top10_ratings,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
include_graphics("C:/Users/user/Desktop/Yekun layihe/Top10_Populyar_ratings.png")

Şərh: Bu qrafik bizə platformada ən çox səs və rəy toplayan filmləri göstərir ki, bu da bir növ həmin filmlərin kütləvi izlənmə və müzakirə olunma səviyyəsini əks etdirir: 1994-cü ilin Mütləq Hegemonluğu: Siyahının zirvəsində qərarlaşan ilk üçlük — “Forrest Gump”, “The Shawshank Redemption” və “Pulp Fiction” — hamısı eyni ilə, yəni 1994-cü ilə aiddir. Hər üç film 80,000-dən çox səs toplayaraq digərlərindən açıq-aşkar öndədir. Bu, 1994-cü ilin dünya kino tarixində olduğu kimi, bu platformanın istifadəçiləri üçün də ən məhsuldar və kult dövr olduğunu göstərir. Klassiklərin Davamlı Populyarlığı: Siyahıda 1977-ci il istehsalı olan “Star Wars: Episode IV - A New Hope” kimi köhnə kult filmlərin belə yüksək səs toplayaraq yer alması göstərir ki, platforma istifadəçiləri təkcə müasir layihələri deyil, həm də kino tarixinə damğa vurmuş klassikləri fəal şəkildə qiymətləndirirlər. Aktivlik Diapazonu: Top 10-luğa daxil olan filmlərin ümumi səs sayı təqribən 60,000 ilə 80,000 arasındadır. Siyahının aşağı pillələrini tamamlayan “Braveheart” (1995) və “Fight Club” (1999) də göstərir ki, 90-cı illərin sonlarına aid olan filmlər istifadəçilərin marağına səbəb olmuşdur.

1.3.2 Rating sayına görə ən aşağı 10 film

Bottom10_ratings=readRDS("C:/Users/user/Desktop/Yekun layihe/BOTTOM10.rds")

datatable(Bottom10_ratings,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
include_graphics("C:/Users/user/Desktop/Yekun layihe/Bottom10_Populyar_set1.png")

Şərh: Minimal İştirak Həddi (1 Səs): X-oxundakı göstəricilərdən aydın görünür ki, bu siyahıdakı filmlərin hər biri cəmi 1 səs toplayıb. Bu, həmin filmlərin dataset daxilində demək olar ki, tamamilə diqqətdən kənarda qaldığını və istifadəçilər tərəfindən demək olar ki, qiymətləndirilmədiyini göstərir. Geniş Zaman Diapazonu: Sağdakı illər şkalasından göründüyü kimi, buraxılış tarixləri 1948-ci ildən 2003-cü ilə qədər müxtəlif dövrləri əhatə edir. Bu da az səs toplamağın təkcə filmin köhnəliyi ilə deyil, həm də platforma istifadəçilərinin həmin məzmunlara ümumi marağının olmaması ilə bağlı olduğunu sübut edir. Niş və Unudulmuş Məzmunlar: Siyahıdakı filmlər geniş kütləyə tanış olmayan, qapalı və ya niş kateqoriyaya aid layihələrdir. Onların minimal reytinq alması platformadakı populyarlıq qütbləşməsini (çox izlənənlər ilə tamamilə unudulanlar arasındakı fərqi) açıq şəkildə nümayiş etdirir.

1.3.3 Ən yüksək ratingli Top 10 film

top_rated=readRDS("C:/Users/user/Desktop/Yekun layihe/top_rated.rds")

datatable(top_rated,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
include_graphics("C:/Users/user/Desktop/Yekun layihe/Top10_Reytinq_Ilerle.png")

Şərh: Etibarlı Filtr Şərti (Minimum 100 səs): Siyahının tərtibində tətbiq olunan “Minimum 100 səs” məhdudiyyəti təsadüfi səslərin reytinqi təhrif etməsinin qarşısını alaraq nəticələrin obyektivliyini təmin edir. Janr Müxtəlifliyi və Sənədli Filmlərin Zirvəsi: Siyahıda bədii filmlərlə yanaşı sənədli filmlərin və serialların da ön sıralarda qərarlaşması auditoriyanın estetik və intellektual zövqünün geniş diapazonunu əks etdirir. Yüksək bal sıxlığı: Top 10 luğa daxil olan yüksək diazpazonda (4.27-4.48 arası cəmləşib. Klassiklərin Sarsılmaz Nüfuzu:The Godfather və The Shawshank Redemption kimi illərin sınağından çıxmış kino şedevrləri yüksək reytinq balı ilə ən yaxşılar siyahısındakı mövqelərini qoruyub saxlayırlar.

1.3.4 Ən az ratingli 10 film

bottom_10=readRDS("C:/Users/user/Desktop/Yekun layihe/BOTTOM_10.rds")

datatable(bottom_10,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
include_graphics("C:/Users/user/Desktop/Yekun layihe/Bottom10_Reytinq_illerle.png")

Şərh: Kritik Aşağı Reytinq Diapazonu: Top 10-luğa daxil olan ən uğursuz layihələrin orta reytinq balı olduqca aşağı səviyyədə – təqribən 0.9 ilə 1.32 arasında cəmləşib. Obyektivlik Filtri (Minimum 100 səs): Bu siyahıda da tətbiq olunan “Minimum 100 səs” baryeri təsadüfi və ya tək-tük mənfi rəylərin nəticəni təhrif etməsinin qarşısını alıb. Dövri Xüsusiyyət (2000-ci illərin əvvəlləri): Ən aşağı reytinqli filmlərin əsasən 1996–2008ci illər aralığını əhatə etməsi, həmin dövrdə çəkilən müəyyən kommersiya layihələrinin tamaşaçılar tərəfindən kəskin tənqid olunduğunu nümayiş etdirir.

1.4 Filmlərin rating göstəriciləri

1.4.1 Buraxılış illərinin orta ratingdən asılığı

year_rating=readRDS("C:/Users/user/Desktop/Yekun layihe/year_rating.rds")

datatable(year_rating,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
include_graphics("C:/Users/user/Desktop/Yekun layihe/il_ve_rating_elaqesi.png")

Şərh: Erkən Dövrün Dalğalanması (1870–1920): Kino tarixinin başlanğıc mərhələsində film sayının azlığı (seçmə həcmi) səbəbindən orta reytinqlərdə kəskin eniş-çıxışlar müşahidə olunur. Uzunmüddətli Stabilik (1920–2010): Sənayenin genişlənməsi ilə orta reytinq xətti sabitləşərək uzun illər boyu dar bir intervalda (2.8 – 3.33 arası) qərarlaşıb. Buraxılış İlinə Görə Keyfiyyət Dinamikası: Qrafik göstərir ki, 1920-ci ildən sonra kino sənayesi kütləvi istehsal mərhələsinə keçdikdən sonra, müxtəlif illərdə buraxılan filmlərin orta reytinqi təxminən eyni sabit səviyyədə qalır. Bu o deməkdir ki, zaman faktoru (filmin köhnə və ya yeni olması) onun orta reytinqinə birbaşa kəskin təsir göstərmir (uzunmüddətli perspektivdə kəskin təsiri yoxdur). Kino Sənayesinin Keyfiyyət Sıçrayışı: Məhz 1920–1930-cu illərdən etibarən səssiz kinodan səsli kinoya keçid baş verdi, kino dili təkmilləşdi və Hollivud başda olmaqla qlobal kino sənayesi peşəkarlaşma mərhələsinə qədəm qoydu. Bu dövrdə çəkilən əsas əsərlər bu gün də yüksək qiymətləndirilir. Son İllərin Geriləmə Trendi (2010–2019): Qrafikin son dövründə müşahidə olunan kəskin eniş həmin illərə aid verilənlərin və ya səs faizinin məhdud olması ilə izah olunur.

1.5 Janr analizi

1.5.1 Ən çox film olan janrlar

janr_statitika=readRDS("C:/Users/user/Desktop/Yekun layihe/janr_statistika.rds")

datatable(janr_statitika,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
include_graphics("C:/Users/user/Desktop/Yekun layihe/janr_statistika.png")

Şərh: Mütləq Liderlər (Drama və Komediya): Drama və Komediya janrları ümumi film istehsal həcmində digər bütün kateqoriyaları açıq şəkildə üstələyərək bazarın əsasını təşkil edir (Drama 20,000-dən çox film ilə zirvədədir). Orta Seqmentin Populyarlığı: Thriller, Romance, Action və Horror kimi janrlar geniş yayılmış orta seqmenti formalaşdıraraq izləyici kütləsinin əsas tələbatını ödəyir. Dar çərçivəli kateqoriyalar və Məlumat Boşluğu: Siyahının sonunda yer alan FilmNoir, IMAX və (no genres listed) kimi kateqoriyalar azlıq təşkil edir; xüsusilə “no genres listed” qeydi verilənlər bazasındakı bəzi metadata çatışmazlıqlarını göstərir. İstehsalın Janr Üzrə Konsentrasiyası: Qrafik açıq şəkildə göstərir ki, kino sənayesi kütləvi şəkildə insan emosiyalarına və əyləncəyə (Drama və Komediya) köklənib. Dramanın digər janrları bu qədər böyük fərqlə qabaqlaması onun həm də geniş tematik diapazona malik olması ilə bağlıdır.

1.5.2 Janrlar üzrə orta rating

janr_rating_stat=readRDS("C:/Users/user/Desktop/Yekun layihe/janr_rating_stat.rds")

datatable(janr_rating_stat,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
include_graphics("C:/Users/user/Desktop/Yekun layihe/janr_rating_stat.png")

Şərh: Filtrasiya Şərti (Obyektivlik): Təsadüfi və ya tək-tük səslərin yaratdığı statistik təhriflərin qarşısını almaq məqsədilə analiz yalnız ən az 30 səs almış filmlərin orta reytinqləri əsasında aparılmışdır. Lider Janrlar (Keyfiyyət Zirvəsi): Siyahının zirvəsində Film-Noir, Documentary (Sənədli) və War (Müharibə) janrları qərarlaşmışdır ki, bu da həmin kateqoriyalardakı filmlərin izləyicilər tərəfindən daha yüksək qiymətləndirildiyini göstərir. Reytinqlərin Sıx Paylanması: Bütün janrlar üzrə orta reytinq göstəriciləri bir-birinə çox yaxındır (əsasən 3.0 bal ətrafında cəmləşib), bu da tamaşaçıların ümumi qiymətləndirmə meyarlarının janrdan asılı olmayaraq nisbətən sabit olduğunu nümayiş etdirir. Kəmiyyət və Keyfiyyət Fərqi: Əvvəlki slaydlarda film sayına (kəmiyyətə) görə lider olan Drama və Komediya burada zirvədə deyil. Bu da onu göstərir ki, kütləvi janrlarda film sayı çox olsa da, Film-Noir və ya Sənədli kimi xüsusi auditoriyaya hesablanmış niş janrlarda izləyici məmnuniyyəti (reytinq) daha yüksəkdir.

1.5.3 Janrlar üzrə rating sayi

janr_rating_sayi=readRDS("C:/Users/user/Desktop/Yekun layihe/janr_rating_sayi.rds")

datatable(janr_rating_sayi,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
include_graphics("C:/Users/user/Desktop/Yekun layihe/janr_rating_sayi.png")

Şərh: İstifadəçi Aktivliyinin Zirvəsi (Drama və Komediya): Ümumi reytinq sayına görə Drama və Komediya digər bütün janrları açıq şəkildə üstələyərək ən çox səs toplayan (interaksiya edilən) kateqoriyalar olmuşdur (Drama ~10 milyon, Komediya ~8 milyon reytinqlə liderdir). Kəmiyyət və Populyarlıq Əlaqəsi: Əvvəlki slaydın nəticələri ilə uzlaşdırdıqda görünür ki, ən çox film istehsal olunan və ən çox səs yığılan janrlar məhz kütləvi izlənilən əsas kateqoriyalardır. İzləyici İştirakı (Engagement) Analizi: Bu qrafik bizə yalnız filmlərin sayını deyil, izləyicilərin hansı janrlara daha çox reaksiya verdiyini, yəni platformada hansı mövzularda daha aktiv səs toplandığını göstərir. Müqayisəli Nəticə: Əvvəlki slaydlarda gördük ki, Film-Noir və ya Sənədli filmlərin orta reytinqi yüksək idi, lakin bu qrafik göstərir ki, ümumi səs həcmi (kütləvilik) baxımından həmin janrlar çox aşağıdadır. Əksinə, Drama və Komediya həm film sayına, həm də ümumi reytinq sayına görə sənayenin əsas sütunlarıdır.

1.5.4 Janrlar üzrə ən çox rating verilən illər

top_years_per_genre=readRDS("C:/Users/user/Desktop/Yekun layihe/top_years_per_genre.rds")

datatable(top_years_per_genre,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
include_graphics("C:/Users/user/Desktop/Yekun layihe/top_years_per_genre.png")

Şərh: 2000-ci İlin Zirvəsi (Bənövşəyi Rəng): Drama, Komediya, Horror, War və Musical kimi əsas janrlar ümumi səs aktivliyinin pik həddinə 2000-ci ildə çatmışdır. Bu da həmin dövrdə insanlar arasında drama və komediya janrının daha populyar olduğunu göstərir. 2016-cı İlin Zirvəsi: Action, Thriller, Adventure və Sci-Fi, Crime, Fantasy, Imax, Animation, Mystery, children kimi kateqoriyalar 2016-cı ildə maksimum səs həcminə malik olmuşdur. Dövri Müxtəliflik: Qrafik göstərir ki, müxtəlif janrlar eyni vaxtda deyil, platformanın inkişaf mərhələlərinə uyğun olaraq fərqli illərdə kulminasiya nöqtəsinə çatıb. 1996cı unikal istifadəçi sayı çox olsa da toplam səs sayı çox az olmuşdur. Film Kataloqunun Hələ Çox Kiçik Olması: 1996-cı ildə platforma yeni yarandığı üçün bazada olan filmlərin ümumi sayı və çeşidi sonrakı illərlə müqayisədə qat-qat az idi. Yəni həmin il platformada adam (istifadəçi) çox olsa da, qiymətləndirə biləcəkləri filmlərin sayı məhdud idi. 2015-ci il Məcrası (Documentary) Sənədli filmlərin 2000 və ya 2016-cı ildə deyil, məhz 2015-ci ildə öz pik nöqtəsinə çatdığını görürük. Bu onu göstərir ki, kütləvi janrlardan əlavə, sırf niş (xüsusi) bir janr da zamanla özünəməxsus hansısa ildə (2015-də) ayrı bir canlanma və aktivlik dalğası yarada bilər.

1.6 İstifadəçi davranışı

1.6.1 İstifadəçi başı düşən orta rating sayı

avg_per_user=readRDS("C:/Users/user/Desktop/Yekun layihe/avg_per_user.rds")

datatable(avg_per_user,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
cat("İstifadəçi başına düşən orta reytinq sayı:", avg_per_user$orta_reytinq_sayi, "qədərdir.\n")
## İstifadəçi başına düşən orta reytinq sayı: 153.81 qədərdir.
include_graphics("C:/Users/user/Desktop/Yekun layihe/avg_per_user.png")

Şərh: Paylanmanın Xarakteri (Sağa Çəp Paylanma - Right-Skewed): Qrafikdən aydın görünür ki, istifadəçilərin mütləq əksəriyyəti sol tərəfdə — yəni nisbətən az sayda filmə reytinq verən təsadüfi və ya standart istifadəçi qrupunda cəmləşib. Uzun Quyruq Effekti və Power-User Təbəqəsi: Qrafikin sağ tərəfə doğru uzanan ‘quyruq’ hissəsi platformada fəallığı ilə seçilən kiçik, lakin çox aktiv ‘power-user’ (super-istifadəçi) kütləsinin mövcudluğunu göstərir. Bu şəxslər yüzlərlə, hətta minlərlə filmə səs verərək verilənlər bazasının əsas həcmini formalaşdıran interaktivliyi təmin edirlər. Hər istifadəçiyə düşən orta rating sayı 153.81 təşkil etsə də, əsas kütlə aşağı və orta aktivlik zonasında sıxlaşmışdır. Ortalamanın reallığı: Hər istifadəçiyə ortalama 153 səs düşdüyünü desək də, bu o demək deyil ki, hər kəs bu qədər fəaldır. Əslində, istifadəçilərin böyük əksəriyyəti bundan xeyli az filmə səs verib. Sadəcə, platformada minlərlə filmə baxan bir neçə çox aktiv istifadəçi var ki, məhz onların verdiyi çoxlu səslər bu ortalamanı ümumi olaraq yuxarı çəkib.

1.7 Zaman üzrə analiz

1.7.1 Rating verilmə ilinin unikal istifadəçi sayından aslılığı

users_by_year=readRDS("C:/Users/user/Desktop/Yekun layihe/users_by_year.rds")

datatable(users_by_year,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
include_graphics("C:/Users/user/Desktop/Yekun layihe/users_by_year.png")

Şərh: İstifadəçi Dinamikasının Xarakteri: Qrafik göstərir ki, platformadakı unikal istifadəçilərin sayı illər üzrə qeyri-bərabər paylanıb. 1995-ci ildəki kəskin partlayış sistemin ilk test mərhələsi və ya kütləvi ilkin qeydiyyat dalğası ilə əlaqədardır. Başlanğıc Həvəsi və “Novelty” (Yenilik) Effekti: Platforma yenicə istifadəyə veriləndə (və ya tədqiqat məqsədilə kütləvi testə açılanda) ilk mərhələdə qısamüddətli böyük bir maraq və həvəs dalğası olur. İnsanlar sistemə baxmaq üçün kütləvi şəkildə qeydiyyatdan keçib səs verirlər. Lakin ilkin həvəs səngidikdən sonra təsadüfi və ya qısamüddətli istifadəçilər sistemdən uzaqlaşır, nəticədə aktiv istifadəçi sayı kəskin şəkildə aşağı düşüb normallaşırAuditoriyanın Stabilləşməsi: İlk illərdəki kəskin eniş-çıxışlardan sonra 2000-2010-cu illər arasında istifadəçi sayının müəyyən bir diapazonda daralması auditoriyanın daha sabit və daimi istifadəçilərdən ibarət olduğunu göstərir. Nisbi sabitlik dövrü Müasir Dövrün Artımı: Sonrakı illərdə (xüsusilə 2015-dən sonra) aktivliyin yenidən artması platformaya olan marağın təzələndiyini və ya yeni istifadəçi axınının yarandığını təsdiq edir.

1.7.2 Rating verilmə aylarına görə rating aktivliyi

ratings_by_month=readRDS("C:/Users/user/Desktop/Yekun layihe/ratings_by_month.rds")

datatable(ratings_by_month,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
include_graphics("C:/Users/user/Desktop/Yekun layihe/ratings_by_month.png")

1.7.3 Buraxılış ilinə görə film sayı

movies_by_year=readRDS("C:/Users/user/Desktop/Yekun layihe/movies_by_year.rds")

datatable(movies_by_year,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
include_graphics("C:/Users/user/Desktop/Yekun layihe/movies_by_year.png")

Şərh: Səbəb-Nəticə Əlaqəsi (Ötən qrafiklə bağlayaraq): Bu qrafik əvvəlki slayddakı (Buraxılış illəri üzrə orta reytinq) bütün suallara cavab verir. Gördüyümüz kimi, 1920cü ilə qədər olan dövrdə film sayı çox az olduğu üçün orta reytinq xətti çox həssas və dalğalı idi. Film sayı artdıqca xətt normallaşdı. Sənayenin Kütləviləşməsi: 1920-cı illərdən sonrakı dövrdə film istehsalının dəfələrlə artması göstərir ki, kino artıq elitar sənətdən kütləvi qlobal sənaye sahəsinə çevrilib. Anomaliyanın İzahı: 2014-cü ildən sonra xəttin aşağı düşməsi tamaşaçıların film çəkməsini dayandırması demək deyil; bu, sadəcə olaraq analiz üçün istifadə edilən məlumat bazasının (Kaggle datasetinin) həmin dövrdən sonrakı məlumatları tam əhatə etməməsinin göstəricisidir.

2. Anomaliyalar

2.1 Rating üzrə anomaliyalar

2.1.1 Qeyri-adi ratingə malik Top 10 film

top_anomalies=readRDS("C:/Users/user/Desktop/Yekun layihe/top_anomalies.rds")

datatable(top_anomalies,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
include_graphics("C:/Users/user/Desktop/Yekun layihe/rating_anomaliaysıı.png")

Şərh Qrafikin zirvəsində gördüyümüz bu top 10 anomaliya təsadüfi seçilməyib. Məsələn, məşhur ‘The Room’ və ya ‘Santa with Muscles’ kimi filmlər az sayda insan tərəfindən qiymətləndirilsə də, onların standart sapması 1.7-yə yaxındır. Bu o deməkdir ki, bu filmlər tamaşaçıları tamamilə iki əks qütbə bölüb — bir qrup ona ən yüksək ulduz verərkən, digər qrup kəskin tənqid edib. Bu da sistemimizdəki ekstremal istifadəçi reaksiyalarını və zövq fərqlərini açıq şəkildə nümayiş etdirir.

2.1.2 Ratinglərin normal paylanma olub-olmaması

cat("p-value<2.2e-16")
## p-value<2.2e-16
include_graphics("C:/Users/user/Desktop/Yekun layihe/normal_paylanma.png")

Şərh: Bu qrafik reytinq verilənlərimizin riyazi olaraq normal paylanmaya uyğun olub-olmadığını açıq şəkildə nümayiş etdirir. İlk olaraq, pqiymətinin p < 2.2e-16 olması onu sübut edir ki, paylanmamız normal paylanmadan kəskin şəkildə fərqlənir. Qrafikə nəzər salsaq, qırmızı xətlə göstərilən nəzəri normal paylanma ilə mavi rəngli faktiki paylanma arasında böyük uyğunsuzluq görürük. Normal paylanma üçün xarakterik olan hamar, tək zirvəli qövs əvəzinə, burada çoxlu sayda hündür pik nöqtələrindən ibarət çoxzirvəli struktur mövcuddur. Bu da onu göstərir ki, istifadəçilər sərbəst rəqəmlər deyil, məhz sabit addımlarla — tam və ya yarı ulduzlarla səs veriblər. Nəticə etibarilə, reytinqlərimiz simmetrik deyil və qeyri-normal paylanma xarakteri daşıyır.

2.1.3 Janrlar üzrə orta ratingin paylanma anomaliyası

include_graphics("C:/Users/user/Desktop/Yekun layihe/rating_anomaliyasi.png")

Şərh: Bu qrafik müxtəlif film janrları üzrə orta reytinqlərin paylanmasını və kənar dəyərləri (outlier-ları) qutu diaqramları vasitəsilə əks etdirir. Təhlilin obyektivliyi üçün yalnız ən az 30 səs toplamış filmlər nəzərə alınmışdır. Ümumi mənzərəyə baxdıqda, əksər janrların median reytinqlərinin 3.0 və 3.5 arasında qruplaşdığını görürük. Lakin qrafikin ən diqqətçəkən hissəsi kənar dəyərlərdir. Sol tərəfdəki qırmızı nöqtələr median səviyyəsindən kəskin geri qalan, yəni çoxluğun xoşuna gəlməyən filmləri göstərir. Xüsusilə Drama və Comedy kimi kütləvi janrlarda bu cür fərqli rəylərin diapazonu daha genişdir. Sağ tərəfdə — məsələn, Documentary janrında müşahidə olunan tək-tük yuxarı kənar dəyərlər isə ümumi tendensiyadan seçilərək xüsusi rəğbət qazanan istisna filmləri nümayiş etdirir. Bu da tamaşaçı auditoriyasının zövq fərqliliklərini və hər janr daxilindəki qiymətləndirmə ziddiyyətlərini açıq şəkildə ortaya qoyur.

2.1.4 Tag-lar üzrə orta ratingin paylanma anomaliyası

include_graphics("C:/Users/user/Desktop/Yekun layihe/tag_ve_rating_anomaliyasi.png")

Şərh: Bu qrafik, ən çox istifadə olunan teqlər (taglar) üzrə filmlərin orta reytinq paylanmasını və yaranan anomaliyaları qutu diaqramları (boxplot) vasitəsilə vizuallaşdırır. Təhlilin obyektivliyini qorumaq məqsədilə burada da yalnız ən az 30 səs almış filmlər əsas götürülüb. Qrafikə nəzər saldıqda ilk növbədə teqlərin xarakteri ilə median reytinqlər arasındakı əlaqə diqqət çəkir. ‘Twist ending’, ‘thought-provoking’ və ya ‘atmospheric’ kimi tamaşaçıdan intellektual yanaşma tələb edən spesifik teqlərin median reytinqləri ən yüksək səviyyələrdə qruplaşır. Lakin maraqlı məqam odur ki, hətta bu qabaqcıl kateqoriyalarda belə qrafikin sol tərəfinə səpələnmiş xeyli sayda mavi nöqtələr – yəni aşağı kənar dəyərlər (outliers) müşahidə edirik. Bu anomaliyalar göstərir ki, mövzu nə qədər cəlbedici və dərin olsa da, bəzi filmlər geniş kütlənin zövqünə uyğun gəlməyərək gözləntilərin kəskin şəkildə altında qalıb. Eyni zamanda, ‘comedy’, ‘action’ və ya ‘funny’ kimi daha kütləvi teqlərə düşən filmlərdə həm median reytinq nisbətən aşağıdır, həm də sol tərəfdəki outlier nöqtələr daha geniş bir diapazonu əhatə edir. Qutu diaqramlarının ümumi qəlibindən tamamilə kənara çıxan bu qiymətləndirmələr, populyar janrlarda tamaşaçı zövqlərinin nə qədər ziddiyyətli olduğunu və eyni teq altında fərqli auditoriya qütbləşmələrinin yarandığını əyani şəkildə sübut edir.”

2.2 İstifadəçi davranışında anomaliyalar

2.2.1 Həddindən artıq çox rating verən istifadəçilər

ratings_top10=readRDS("C:/Users/user/Desktop/Yekun layihe/ratings_top10.rds")

datatable(ratings_top10,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
include_graphics("C:/Users/user/Desktop/Yekun layihe/ratings_top10.png")

Şərh: Bu qrafik platformada ən çox reytinq verən top 10 istifadəçini və onların fəallıq həcmini əks etdirir. Məlumata ümumi nəzər saldıqda, sistemdə qeyri-adi dərəcədə fərqlənən kəskin bir lider anomaliyasının mövcudluğu dərhal diqqəti cəlb edir. 72315 nömrəli istifadəçi 30,000-dən çox reytinq verməklə digər bütün istifadəçilərdən kəskin şəkildə seçilir və qrafikdə bariz kənar dəyər (outlier) təşkil edir. Müqayisə üçün qeyd edək ki, siyahıdakı ikinci və üçüncü yerləri tutan 80974 və 137293 nömrəli istifadəçilər təxminən 9000 və 8000 reytinq göstəricisinə malikdirlər. Qalan digər istifadəçilərin fəallıq səviyyəsi isə 5,000 ilə 7,000 reytinq aralığında daha stabil şəkildə qruplaşır. Bu cür kəskin miqyas fərqi və qısa müddətdə həddindən artıq çox reytinqin qeydə alınması, xüsusilə 72315 ID-li hesabın fəaliyyətində avtomatlaşdırılmış bot skriptlərinin və ya qeyri-adi istifadəçi davranışlarının mövcudluğunu ehtimal etməyə əsas verir.

2.2.2 Çox qısa müddətdə çoxlu rating verilməsi

speed_rating=readRDS("C:/Users/user/Desktop/Yekun layihe/speed_rating.rds")

datatable(speed_rating,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
include_graphics("C:/Users/user/Desktop/Yekun layihe/speed_rating.png")

include_graphics("C:/Users/user/Desktop/Yekun layihe/ortaq_user.png")

Şərh: 1 Saniyədən Qısa İntervallar: 1 saniyədən az müddətdə qeydə alınan ardıcıl reytinqlər əsasında qurulan bu qrafik insan fiziki imkanlarını aşan sürətli əməliyyatları əks etdirir. Kəskin Sürət Lideri (72315 ID): 30,000-dən çox sürətli reytinq sayı ilə 72315 nömrəli istifadəçi digər bütün hesabları qat-qat üstələyərək bariz anomaliya təşkil edir. Digər Şübhəli Hesablar: 33844, 30879 və digər top istifadəçilər də qısa müddətdə minlərlə sürətli əməliyyat yerinə yetirərək oxşar aktivlik nümayiş etdirirlər.

Həm çox, həm də sürətli rating verən ortaq istifadəçilər: Bu o deməkdir ki, 72315 id-li istifadəçinin sistemdə qeydə alınan bütün reytinqlərinin demək olar ki, 100%-i 1 saniyədən az müddətdə həyata keçirilib. Digər ortaq istifadəçilərdə də (33844 və 30879) ümumi aktivliyin əsas hissəsinin sürətli reytinqlərdən təşkil olunması təsadüfi ola bilməz. Bu join əməliyyatı vizual olaraq sübut edir ki, platformadakı ən aktiv görünən bu hesablar real insan istifadəçiləri deyil, ardıcıl sorğular göndərən avtomatlaşdırılmış bot skriptləridir.

2.2.3 Həmişə eyni və çox yüksək/aşağı rating verən istifadəçilər

top_10_eyni_bal=readRDS("C:/Users/user/Desktop/Yekun layihe/top_10_eyni_bal.rds")

datatable(top_10_eyni_bal,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
include_graphics("C:/Users/user/Desktop/Yekun layihe/top_10_eyni_bal.png")

top_10_qerezli=readRDS("C:/Users/user/Desktop/Yekun layihe/top_10_qerezli.rds")

datatable(top_10_qerezli,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
include_graphics("C:/Users/user/Desktop/Yekun layihe/top_10_qerezli.png")

Həmişə eyni bal verən istifadəçilər: Birinci qrafik platformada həmişə eyni balı verən, yəni heç bir qiymətləndirmə müxtəlifliyi nümayiş etdirməyən şübhəli istifadəçiləri əks etdirir. Qrafikin ən diqqətçəkən tərəfi odur ki, təhlilə cəlb olunan top 10 istifadəçinin hamısında orta bal 5, standart kənarlaşma (sd) isə məhz 0-dır. İnsan psixologiyası və kino zövqü təbii olaraq müxtəlif olduğu üçün minlərlə filmi qiymətləndirən real istifadəçinin hər zaman yalnız maksimum bal verməsi statistika baxımından qeyri-mümkündür. Lakin 75309 nömrəli istifadəçi başda olmaqla bu hesablar minlərlə reytinq yerinə yetirməsinə baxmayaraq, istisnasız olaraq hər dəfə 5 bal veriblər. Standart kənarlaşmanın sıfır olması (sd = 0) o deməkdir ki, bu hesablar heç bir tərəddüd etmədən, avtomatlaşdırılmış şəkildə sistemə yalnız maksimum reytinq ötürüblər. Bu da reytinq sisteminin obyektivliyini süni şəkildə pozan qərəzli reytinq şişirtməsi və ya bot əməliyyatlarının mövcudluğunu qəti şəkildə sübut edir.

Qərəzli rating verənlər: İkinci qrafikdə sistemdə ifrat qərəzli və ya qütbləşmiş davranış sərgiləyən, orta reytinqi 1.2-dən az və ya 4.8-dən çox olan top 10 istifadəçi analiz edilib. Qrafik iki əks qütbü — həm neqativ aşağılama, həm də pozitiv şişirtmə qruplarını açıq şəkildə nümayiş etdirir: Neqativ Qərəz (Boykot) Qrupu: 57548, 109210 və 45040 kimi istifadəçilər filmlərə kütləvi şəkildə 1-ə yaxın aşağı ballar verərək neqativ anomaliya yaradırlar. Xüsusilə 5,500-dən çox reytinqə malik 57548 nömrəli hesab həcm baxımından bu qrupun lideridir. Pozitiv Qərəz (Şişirtmə) Qrupu: Əks tərəfdə isə 129440 , 141830və 157063 nömrəli istifadəçilər dayanır. Bu hesablar 4.8-dən yüksək orta bala və çox aşağı standart kənarlaşmaya (sd) malikdirlər; bu da onların demək olar ki, hər filmə maksimum bal verərək reytinqləri süni şəkildə şişirtdiyini (rating inflation) sübut edir. Ümumilikdə, bu ikiqütblü mənzərə platformada həm filmləri qəsdən boykot edən, həm də süni şəkildə reytinq qazandıran manipulyativ davranışların mövcudluğunu aşkar edir.

3. Proqnoz və fərziyyələr

3.1 Fərziyyələrin formalaşdırılması

3.1.1 Orta rating ilə rating sayı arasında əlaqə

H0: Orta rating ilə rating sayı arasında əlaqə yoxdur.

H1: Əlaqə vardır

movie_summary=readRDS("C:/Users/user/Desktop/Yekun layihe/movie_summary.rds")

datatable(movie_summary,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
cor.test(
  movie_summary$orta_rating,
  movie_summary$rating_sayi,
  method = "pearson"
)
## 
##  Pearson's product-moment correlation
## 
## data:  movie_summary$orta_rating and movie_summary$rating_sayi
## t = 26.101, df = 59045, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.09882023 0.11476796
## sample estimates:
##      cor 
## 0.106801
include_graphics("C:/Users/user/Desktop/Yekun layihe/Səs_Sayı_və_Reytinq_Əlaqəsi.png")

kor_qiymeti=round(cor(movie_summary$rating_sayi, movie_summary$orta_rating, use="complete.obs"),2)

Şərh: Səs sayı ilə orta reytinq arasındakı korrelyasiya əmsalı 0.11 olaraq təyin edilmişdir.

İlk olaraq fərziyyə testinə nəzər salsaq, p dəyəri 2.2e-16 (< 0.05) təşkil etdiyi üçün H0 fərziyyəmiz rədd edilir. Bu o deməkdir ki, statistik baxımdan dəyişənlər arasında sıfırdan fərqli bir əlaqə mövcuddur. Lakin burada statistik əhəmiyyətlilik ilə praktiki əhəmiyyətliliyi bir-birindən ayırmaq vacibdir. Məlumat bazamızın həcmi çox böyük olduğundan p dəyəri həddindən artıq kiçik çıxmışdır, lakin korrelyasiya əmsalımız cəmi 0.11-dir. Bu isə o deməkdir ki, praktikada səs sayı ilə orta reytinq arasında güclü xətti əlaqə yoxdur — yəni filmin çox səs alması onun mütləq yüksək bal alacağına zəmanət vermir. Qrafikin strukturuna diqqət etsək, açıq şəkildə huni effekti müşahidə olunur. Sol tərəfdə — az səs alan filmlərdə — ballar 1-dən 5-ə qədər bütün şkala boyunca pərakəndə şəkildə səpələnib. Bu, azsaylı səslərin yaratdığı təsadüfi dalğalanmalardır. Lakin səs sayı artdıqca (sağa doğru) bu səpələnmə daralır və göstəricilər daha stabil, obyektiv orta nöqtədə cəmləşir.”Azsaylı Səs Təsiri: Məhdud sayda səslə qiymətləndirilən filmlərdəki tək-tük ekstremal ballar təsadüfi dalğalanmalar və subyektiv sapmalar yaradır.

3.2 Orta Rating üçün reqresiya modelinin qurulması

regression_data=readRDS("C:/Users/user/Desktop/Yekun layihe/regression_data.rds")

datatable(regression_data,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
multiple_model <- lm(
  avg_rating ~ buraxilis_ili+user_count + tag_count,
  data = regression_data
)

summary(multiple_model)
## 
## Call:
## lm(formula = avg_rating ~ buraxilis_ili + user_count + tag_count, 
##     data = regression_data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.0863 -0.3820  0.0661  0.4462  1.9526 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   2.924e+00  2.430e-01  12.032  < 2e-16 ***
## buraxilis_ili 6.483e-05  1.219e-04   0.532    0.595    
## user_count    1.161e-05  1.854e-06   6.260 3.86e-10 ***
## tag_count     7.049e-04  4.873e-05  14.465  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7319 on 58649 degrees of freedom
##   (3770 observations deleted due to missingness)
## Multiple R-squared:  0.01509,    Adjusted R-squared:  0.01504 
## F-statistic: 299.4 on 3 and 58649 DF,  p-value: < 2.2e-16
include_graphics("C:/Users/user/Desktop/Yekun layihe/Residuals_histogram.png")

Reqressiya modelinin izahı: Asılı dəyişən (Y): avg_rating (Filmin orta reytinqi). Asılı olmayan dəyişənlər (X): buraxilis_ili, user_count (İstifadəçi sayı), tag_count (Teq sayı) Ümumi Modelin Əhəmiyyətliliyi: p qiyməti < 2.2e-16 olduğu üçün ümumi model statistik cəhətdən tamamilə əhəmiyyətlidir və etibarlıdır. Determinasiya əmsalı (R²): Multiple R-squared: 0.01509 — Bu o deməkdir ki, daxil etdiyimiz bu 3 amil reytinqdəki dəyişkənliyin təxminən 1.5%-ni izah edir. Film reytinqləri kimi nəhəng bazalarda reytinq əsasən ssenari, aktyor oyunu kimi subyektiv faktorlardan asılı olduğu üçün R²-in aşağı olması normaldır, lakin bu, mövcud əlaqələrin statistik olaraq güclü olduğunu inkar etmir. buraxilis_ili: p qiyməti=0.595 (> 0.05). Bu o deməkdir ki, filmin buraxılış ilinin onun orta reytinqinə statistik cəhətdən əhəmiyyətli bir təsiri yoxdur (yəni köhnə və ya yeni film olması reytinqə birbaşa təsir edən əsas amil deyil). user_count (İstifadəçi sayı): p qiyməti = 3.86e-10 (< 0.05). Çox güclü əhəmiyyətə malikdir. İstifadəçi sayının artması orta reytinqə müsbət təsir göstərir. tag_count (Teq sayı): p qiyməti < 2e-16 (< 0.05). Ən yüksək əhəmiyyət dərəcəsinə malik amillərdən biridir. Filmin daha çox teqlərlə zəngin olması onun orta reytinqinə əhəmiyyətli dərəcədə müsbət təsir edir.

Residualların paylanması Residualların paylanmasının 0 (sıfır) nöqtəsi ətrafında sıxlaşması və medianın sıfıra çox yaxın olması (0.0661) onu göstərir ki, modelin səhvlərinin riyazi gözləntisi sıfırdır. Bu, modelin hər hansı sistemli meyilliliyə (systematic bias) malik olmadığını göstərir. Qərəzsizlik: Səhvlərin sıfır nöqtəsindən müsbət, həm də mənfi istiqamətdə tarazlı paylanması modelin heç bir tərəfə süni şəkildə meyilli olmadığını sübut edir. Kənar Sapmaların (Outliers) Qiymətləndirilməsi: Qalıqların minimum (-4.08) və maksimum (+1.95) hədləri arasında dəyişməsi, eləcə də sol tərəfdəki uzanan quyruq göstərir ki, bəzi qeyri-standart və ya unikal filmlər üzrə modelin proqnoz səhvləri bir qədər yüksək ola bilər. Lakin MovieLens kimi milyonlarla subyektiv istifadəçi qiymətləndirməsini ehtiva edən nəhəng verilənlər bazalarında bu cür ekstemumların mövcudluğu təbii statistik reallıqdır və modelin ümumi strukturuna xələl gətirmir.

3.3 Gələcəkdə rating sayının dəyişməsi

combined_predict=readRDS("C:/Users/user/Desktop/Yekun layihe/combined_predict.rds")

datatable(combined_predict,
          extensions = 'Buttons',
          options = list(paging=TRUE,
                         searching=TRUE,
                         fixedColumns=TRUE,
                         autoWidth=TRUE,
                         ordering=TRUE,
                         dom='Bftp',
                         buttons=c('copy', 'csv', 'excel','print')
                         ))
include_graphics("C:/Users/user/Desktop/Yekun layihe/combined_predict.png")

Şərh: Qara xəttə nəzər salsaq, 1995-2019-ci illər ərzində reytinq saylarında çox kəskin dalğalanmalar, qeyri-bərabər eniş-çıxışlar müşahidə edirik. Məsələn, 2000-ci illərin əvvəlləri və 2016-cı il ətrafında pik nöqtələri, ardınca isə enişlər var. Bu, keçmiş illərdə istifadəçi aktivliyinin qeyri-sabit olduğunu göstərir. Lakin, modelimiz 2020-ci ildən etibarən tamamilə fərqli, daha sabit və yüksələn bir trend proqnozlaşdırır. Qırmızı xətt göstərir ki, əvvəlki illərdəki kəskin tərəddüdlərə baxmayaraq, qarşıdakı illərdə reytinq həcmi artmağa davam edəcək və bu artım 2030-cu ilə qədər davam edəcək. (Ümumiləşdirmə): Nəticə etibarilə, bizim zaman sırası (time series) modelimiz bazarda uzunmüddətli sabit artım tendensiyasının olacağını və platformaya olan marağın getdikcə güclənəcəyini təsdiqləyir.

4. Xülasə

4.1 Son istifadəçiyə verə biləcəyim tövsiyələr

  1. Köhnə filmlərə önyargıyla yanaşmayın (Buraxılış ilinə aldanmayın): Reqressiya modeli göstərdi ki, filmin buraxılış ili onun reytinqinə statistik cəhətdən əhəmiyyətli bir təsiri yoxdur. Yalnız təzə çıxan filmlərə deyil, keçmiş illərin klassik və yüksək qiymətləndirilmiş “gizli incilərinə” də şans tanıyın.

  2. Səs sayına (rating_count) mütləq baxın: Az sayda səs toplamış filmlərdə bir neçə nəfərin həddindən artıq yüksək və ya aşağı qiyməti orta reytinqi süni şəkildə dəyişə bilər. Daha obyektiv nəticə üçün kifayət qədər səs və rəy toplamış filmlərə üstünlük verin.

  3. Teqlərdən (tags) istifadə edərək seçim edin: Təhlillər göstərir ki, teq sayı zəngin olan filmlər istifadəçilər tərəfindən daha dərindən qiymətləndirilir. Film seçərkən teqlərə baxmaq sizə filmin əsl məzmunu və ab-havası haqqında daha dəqiq məlumat verəcək.

  4. Populyar filmlərdən qorxmayın: Statistika göstərir ki, geniş kütlə tərəfindən izlənilən və populyar olan filmlərin reytinqləri ümumilikdə stabil və etibarlı bir baza təşkil edir. Ən çox izlənənlər siyahısına hər zaman şübhə ilə yanaşmayın.

  5. Tək-tük “ekstremal” rəylərə aldanmayın: Bazada bəzən hər hansı filmə qəsdən çox aşağı və ya həddindən artıq şişirdilmiş qiymət verənlər olur. Reytinqə baxarkən tək bir şəxsin emosional rəyinə deyil, ümumi rəylərin paylanmasına və strukturuna güvənin.

  6. Statistikanı bələdçi hesab edin, son sözü öz zövqünüzə buraxın: Zaman və statistik təhlillər göstərir ki, böyük kütlələrin rəyləri və ümumi tendensiyalar müəyyən bir keyfiyyət meyarıdır. Lakin statistika yalnız bir bələdçidir — hər yüksək səs toplamış və ya populyar film mütləq sizin şəxsi zövqünüzə uyğun olmaya bilər. Kəmiyyət göstəricilərini və reytinqləri istiqamət kimi istifadə edin, amma son qərarı həmişə öz kino zövqünüzə görə verin.