Close

„Game of Thrones” – końcowe rozczarowanie.

I za nami ostatni odcinek serialu Gra o Tron, serialu który od 2011 roku przykuwał wielu widzów przed ekranami telewizora lub komputera. Czy wszystkie tajemnice i wątki zostały rozwiązane tego osobiście rozstrzygać nie będę. Kto oglądał ten wie. To co mnie intersuje, to jak serial odbierali widzowie? Czy z sezonu na sezon poprawiały się oceny serialu, czy wręcz przeciwnie? Który z odcinków, i w którym sezonie był najwyżej oceniany, a który najsłabiej? Który odcinek miał największą ilość ocen, a który najmniej? Jak wygląda rozkład ocen dla serialu. Oczywiście to wszystko można próbować odczytywać ze stron internetowych. Ale po co, skoro mamy program R i możemy poprzez kilka prostych poleceń kazać mu wszystkiego się dowiedzieć i nam zaprezentować.

Serwis IMDb stanowi największą na świecie internetową bazę danych na temat filmów, seriali oraz ludzi związanych z kinematografią. W tej największej bazie poszukamy informacji na temat „Gry o Tron”. Będziemy potrzebować identyfikator dla serialu. Łatwo bo znaleźć najpierw wpisując tytuł serialu w wyszukiwarce na stronie, a następnie analizując wyświetlony adres. Dla serialu „Gra o Tron” wygląda on następująco:

https://www.imdb.com/title/tt0944947/

Najważniejszy element to fragment „tt0944947”. Podmieniając go, analizę można przeprowadzić dla dowolnego filmu czy serialu. Ale no właśnie, czy dane które na stronie widzimy można pobrać jedynie z osobnych stron dla każdego odcinka. Jak się okazuje serwis IMDb codziennie aktualizowane dane udostępnia w postaci baz danych gotowych do pobrania ze strony https://datasets.imdbws.com/
(Pobrane dane – 21 maja 2019, godz: 15:18)

Dane jakie są dostępne w bazach opisane są na stronie https://www.imdb.com/interfaces/ Do analizy wykorzystam bazy:

  • title.episode.tsv.gz
  • title.ratings.tsv.gz

Zatem do dzieła. Wczytujemy tabele, wyodrębniamy część dotyczącą Gry o tron, a następnie łączymy je w jedną ramkę danych.

id <- 'tt0944947'
file <- read.table(file = 'episodes.tsv', sep = '\t', header = TRUE)
serial <- file %>% filter(parentTconst == id)
rating <- read.table(file = 'ratings.tsv', sep = '\t', header = TRUE)
episodes <- left_join(serial, rating, by = 'tconst')

Wynikowa tabela nosi nazwę episodes. Sprawdźmy ile mamy wierszy, będzie to ilość odcinków serialu.  

nrow(episodes)

Mamy 73 odcinki serialu. Przeprowadźmy krótką analizę statystyczną dla wartości z kolumny Ocena.

summary(episodes$ocena)

Jak widać, maksymalna ocena jaka została wystawiona to 9.9 a minimalna to 4.5. Mediana ocen wynosi 9.0, średnia arytmetyczna 8.918, kwartyl dolny, czyli wartość dla której 25% ocen jest mniejsza wynosi 8.700. Z kolei kwartyl górny, czyli wartość dla której 75% ocen jest mniejsza wynosi 9.400.

Rzućmy okiem na wykres słupkowy dla ocen i ilości oddanych głosów. Na pierwszy rzut oka widać, że ostatnie odcinki serialu nie cieszyły się zbytnim powodzeniem wśród widzów, którzy je ocenili.

I to dość sporej widowni, gdyż jeżeli zerkniemy na ilość oddanych głosów, to w szczególności dla tych końcowych liczba przekracza dla każdego odcinka wartość 100 tysięcy. Sporo 😊. Nie każdy film czy serial może się cieszyć aż taką oglądalnością. Ba wystarczy wspomnieć, że finałowy odcinek „Gry o Tron” obejrzało w USA 19,3 mln widzów. To rekord dla HBO i serialów fantasy.

Tak przedstawione dane, mimo że pozwalają na wyciągniecie pierwszych wniosków to jednak nie są łatwe do odczytu. Stąd do oceny poszczególnych sezonów serialu skorzystam z popularnego wykresu statystycznego, jakim jest wykres ramka-wąsy (ang. boxplot). Na nim przedstawione jest pięć liczb Tukeya, tzn. wartość minimalna, maksymalna oraz trzy kwartyle: pierwszy, drugi (mediana) i trzeci. Mediana rysowana jest w postaci poziomej kreski w ramce, natomiast pierwszy i trzeci kwartyl wykorzystywane są do budowy ramki. Wąs w górę pnie się w kierunku wartości maksymalnej, wąs w dół w kierunku wartości minimalnej. Poza tym, w obszarze takiego wykresu mogą znaleźć się dwa symbole: gwiazdka i kółko. Są to odpowiednio wartości ekstremalne i odstające. Wartości te stanowią nietypowy wynik, odstający od reszty, który może negatywnie wpłynąć na wynik przeprowadzanych testów statystycznych. Stąd dobrze wiedzieć, że takie wartości występują w naszym zbiorze danych. Stąd rzut oka na wykres ramka-wąsy pozwala szybko zorientować się w rozkładzie danych. Zatem zobaczmy jak to wygląda w przypadku serialu „Gra o tron”. Jak oceny odcinków różnią się między poszczególnymi sezonami, który sezon uzyskał najlepsze wyniki, a który jest najsłabszym w ocenie widzów.

boxplot(episodes$ocena ~ episodes$sezon)

I troszkę inaczej to pokazane z wykorzystaniem pakietu ggplot2, ocena dla każdego odcinka w poszczególnym sezonie.

ggplot(data=episodes,aes(x=odcinek,y=ocena)) +
  geom_point() +
  geom_line() + 
  facet_grid(~sezon) +
  theme_bw() +
  scale_x_continuous(labels = NULL, breaks = NULL) +
  xlab("")

Najciekawsze obserwacje:

  1. Żaden z odcinków nie uzyskał maksymalnej noty, czyli 10 punktów. Owszem były takie odcinki, które o mały włos się o to otarły lecz brakło przysłowiowego „ciut ciut”. Które, o tym w dalszej części.
  2. To co rzuca się w oczy, to najgorsze oceny uzyskuje sezon 8, a w szczególności odcinek finałowy. Widać, że długie oczekiwanie nie wyszło serialowi na dobre. Widzowie oczekiwali chyba czegoś innego. Wcześniej żaden sezon nie był aż tak źle oceniany. To zresztą nie przypadek, ze właśnie w tym sezonie znajduje się najgorzej oceniany odcinek serialu. Cała ramka wykreślona przez kwartyle Q1 i Q3 jest poniżej wszystkich ramek poprzednich sezonów serialu.
  3. Jednocześnie to właśnie ten sezon charakteryzuje się największą zmiennością ocen.
  4. Poprzednie sezony, począwszy od pierwszego a skończywszy na siódmym były w miarę równomiernie oceniane. Najwyższa mediana charakteryzuje sezon czwarty. Jednocześnie kwartyl Q3 jest wartością maksymalną ocen sezonu. Oznacza to, że 1/4 odcinków otrzymała jednakowe maksymalne noty w sezonie.

Który z odcinków i z którego sezonu uzyskał najlepszą ocenę, a który najsłabszy. Aby się o tym dowiedzieć możemy w prosty sposób wykonać sortowanie naszych danych w dowolnym kierunku: rosnąca lub malejąco.

rank.episodes <- arrange(episodes,desc(ocena))

I wiemy że, mamy cztery odcinki z notą 9,9. Są to: The Rains of Castamere, Harhome, Battle of the Bastards, The Winds of Winter, a najgorzej, no cóż, finał serialu, odcinek 6 z sezonu 8 The Iron Throne (trailer)

Na pocieszenie można powiedzieć, że to nie jedyny tego typu incydent, kiedy serial kończy znacznie gorzej niż zaczyna. Trzeba jednak przyznać jedno, serial wzbudził ogromne zainteresowanie widzów na całym świecie, wystarczy zerknąć na ogólną liczbę ocen – ponad 1,5 mln oddanych głosów, średnia ocena 9,5. Zatem nie ma się co dziwić, że HBO szykuje już prequel. Oby z ocenami było lepiej niż w finale.

Dodatkowe materiały

IMDb

dr hab. inż., prof. PCz (Politechniki Częstochowskiej); zainteresowania: gospodarowanie odpadami (praktyczne), danologia, analiza danych (hobbystycznie)

Leave a Reply

Your email address will not be published. Required fields are marked *