Werden wir Helden für einen Tag

Home | About | Archive

Week 4: Wer ist der stärkste Jäger bei Gefragt Gejagt?

Posted on Dec 29, 2018 by Chung-hong Chan

firststep

Das ist mein zweiter deutscher Blogeintrag. Ich stelle nicht vor, ob ich dieses technische Thema auf Deutsch schreiben kann. Troztdem versuche ich.

Nachdem ich in Deustchland gekommen bin, gucke ich viele Quizsendungen im Fernsehen. Quizsendungen sind gut, weil die Fragen und Antworten immer auf dem Bildschrim geschrieben werden. Davon habe ich viele Wörter gelernt, selbst mein Hörstverstehen schwach ist. Quizduell-Olymph und Gefragt Gejagt sind meine Lieblingsquizsendungen. Wenn ich nur eine auswählen muss, ist Gefragt Gejagt meine absolute Lieblingssendung.

Ich glaube die Leute, die Deutsch verstehen, haben eine Idee, was Gefragt Gejagt ist: vier Kandidaten im Team gegen einen Jäger. Ich war immer neugierig, wie die Kandidaten gewinnen kann. Außerdem möchte ich wissen, wer der stärkste Jäger ist. Deshalb habe ich eine Analyse gemacht.

In der Wikipedia-Seite der Sendung gibt es eine Analyse, die jemand gemacht hat. Die Analyse zeigt, dass der Quizgott Sebastian Jacobys Statistik sehr gut ist. Aber das ist eine univariate Analyse. Man kann auch multivariate Analyse machen.

In der Wikipedia-Seite gibt es die Rohdaten. Ich habe die Daten gesammelt und gereinigt. Die binäre abhängige Variable war in meiner Analyse der Sieg des Jägers (Ja = 1, Nein = 0). Die unabhängige Variable waren:

  1. Anzahl der Kanidaten
  2. Punkte
  3. Rücksetzer
  4. Geldsumme
  5. Jäger (Sebastian Jacoby ist die Dummy-Variable)
require(rvest)
require(tidyverse)

wiki <- read_html('https://de.wikipedia.org/wiki/Gefragt_%E2%80%93_Gejagt/Episodenliste')

wiki %>% html_nodes('table') %>% html_table -> all_tables

time_conv <- function(text) {
    if (str_detect(text, "Punkte")) {
        return(120)
    }
    minute <- str_extract(text, '[0-9]+ Min') %>% str_extract('[0-9]+') %>% as.numeric
    second <- str_extract(text, '[0-9]+ Sek') %>% str_extract('[0-9]+') %>% as.numeric
    if (is.na(minute)) {
        return(second)
    }
    if (is.na(second)) {
        return(minute * 60)
    }
    return((minute * 60) + second)
}

n_finalists_conv <- function(text) {
    text %>% str_extract_all(',') -> res
    if (is.na(res)) {
        return(1)
    }
    return(length(res[[1]]) + 1)
}

finalists_pt_conv <- function(text, plus_pt = FALSE) {
    text %>% str_extract('mit [0-9 \\+]+ P') %>% str_extract_all('[0-9]+') -> res
    if (!plus_pt) {
        return(as.numeric(res[[1]][1]))
    }
    if (length(res[[1]]) != 2) {
        return(0)
    }
    return(as.numeric(res[[1]][2]))
}


table_conv<- function(dtable) {
    dtable %>% select(Kandidaten, Jäger, `Zeit bzw. Punkte des Jägers`, Finalisten, Geldsumme) %>% rename(jaeger = "Jäger", djaeger_pt = "Zeit bzw. Punkte des Jägers", dfinalists_pt = "Finalisten", dmoney = "Geldsumme") %>% mutate(jaeger_win = !str_detect(djaeger_pt, "Punkte")) %>% mutate(jaeger_time = map_dbl(djaeger_pt, time_conv)) %>% mutate(n_finalists = map_dbl(dfinalists_pt, n_finalists_conv)) %>% mutate(finalists_pt_ori= map_dbl(dfinalists_pt, finalists_pt_conv, plus_pt = FALSE)) %>% mutate(finalists_pt_back = map_dbl(dfinalists_pt, finalists_pt_conv, plus_pt = TRUE)) %>% mutate(jaeger_pt = as.numeric(ifelse(str_detect(djaeger_pt, "Punkt"), str_extract(djaeger_pt, '[0-9]+'), finalists_pt_ori + finalists_pt_back))) %>% mutate(money = as.numeric(str_extract(str_replace_all(dmoney, '\\.', ""), "[0-9]+"))) %>% select(-djaeger_pt, -dfinalists_pt, -dmoney) %>% as.tibble
}

all_data <- map_dfr(all_tables, table_conv)
all_data$jaeger %>% unique -> unique_jaeger
jaeger_lv <- unique_jaeger[c(2, 1, 3:7)]
all_data %>% mutate(jaeger = factor(jaeger, levels = jaeger_lv)) -> all_data

glm(jaeger_win ~ n_finalists + finalists_pt_ori + finalists_pt_back + money + jaeger, data = all_data, family = binomial) %>% summary

Eine logistische Regression wurde von mir gemacht. Die folgende Tabelle zeigt das Ergebnis.


Dependent variable:
jaeger_win
Anzahl der Kandidaten-0.405*
(0.231)
Punkte-0.427***
(0.082)
Rücksetzer-1.042***
(0.129)
Geldsumme0.00001
(0.00001)
Holger Waldenberger-0.597
(0.639)
Sebastian Klussmann-1.609***
(0.555)
Klaus Otto Nagorsnik-1.603***
(0.557)
Grażyna Werner-4.183**
(1.716)
Manuel Hobiger-1.601
(1.303)
Thomas Kinne-2.227**
(0.993)
Constant11.201***
(1.416)
Observations355
Log Likelihood-96.091
Akaike Inf. Crit.214.181
Note:*p<1e-01; **p<5e-02; ***p<1e-02

Das Ergebnis ist sehr eindeutig: je höher die Punkte und Rücksetzer, desto schwieriger ist es für die Jäger zu gewinnen. Die Anzahl der Kandidaten und Geldsumme sind nicht wichtig.

Im Vergleich mit Sebastian Jacoby sind Sebastian Klussmann, Klaus Otto Nagorsnik, Grażyna Werner und Thomas Kinne schwächer, wenn alle Konditionen (z.B. Punkte der Kanidaten) sind gleich. In dieser Analyse kann nicht zeigen, ob Holger Waldenberger und Manuel Hobiger stärker oder schwächer als Sebastian Jacoby sind.

Das ist mir sehr schwer diesen Blogeintrag zu schreiben! Mein Deutsch is zu schwach.

4 down, 48 to go.


Powered by Jekyll and profdr theme