Torsummen

Interessantes ohne bestimmtes Thema!

Moderator: student

Antworten
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Torsummen

Beitrag von bigben »

Hi!

Drüben im Statistik-Forum ist dmeier mit der These aufgeschlagen, dass die Zahl der Tore bei Fußballspielen sehr gut angenähert poissonverteilt sein soll: http://www.statistik-forum.de/topic12792.html
Ich wollte es nicht glauben: Wenn eine Mannschaft mit 2:0 führt dann ändert sich doch deren Angriffs-/Verteildigungsverhalten so, dass danach weniger Tore fallen.
Also habe ich mir die Torsummen der Gruppenspiele der Euro-EM gegoogled und "erfasst":

Code: Alles auswählen

tore = read.table(header = TRUE, dec = ",",
text = "Tag tore
        11.6. 3
        12.6. 2
        12.6. 1
        12.6. 3
        13.6. 1
        13.6. 4
        13.6. 5
        14.6. 2
        14.6. 3
        14.6. 0
        15.6. 3
        15.6. 1
        16.6. 1
        16.6. 2
        16.6. 3
        17.6. 3
        17.6. 3
        17.6. 2
        18.6. 1
        18.6. 2
        18.6. 0
        19.6. 2
        19.6. 6
        19.6. 2
        20.6. 1
        20.6. 4
        21.6. 1
        21.6. 3
        21.6. 5
        21.6. 2
        22.6. 4
        22.6. 1
        23.6. 5
        23.6. 5
        23.6. 4
        23.6. 4
")
Drüben im Ausgangsforum kann man keine Grafiken posten, drum mach ich es hier: Die Durchschnittliche Torzahl ist

Code: Alles auswählen

> mean(tore$tore)
[1] 2.611111
Und hier ist die Verteilung der Tore im Vergleich zur passenden Poissonverteilung:

Code: Alles auswählen

plot(table(tore$tore)/36, col = "red", xlim = c(0,8), ylim = c(0, .25),
     xlab = "Anzahl Tore", ylab = "relative Häufigkeit")
abline(h = c(0, 2, 4, 6, 8)/36, lty = 2, col = "lightgrey")
points(0:8, dpois(0:8, 2.61), type = "b", pch = 16, lwd = 1.2)
axis(4, at = 0:8/36, labels = 0:8, col = "grey")
legend("topright", fill = c("red", "black"), 
       legend = c("n = 36 Euro EM", "Poisson (lambda = 2.61"),
       inset = .01)
Rplot01.png
Rplot01.png (5.59 KiB) 2944 mal betrachtet
Da hab ich wohl daneben gelegen. Bei diesen n = 36 Spielen passt das mit der Poisson-Verteilung ganz gut. Scheint so, als könne man die Zahl der Tore doch ganz gut als poissonverteilt modellieren.

Code: Alles auswählen

> summary(glm(tore$tore ~ 1, family = "poisson"))

Call:
glm(formula = tore$tore ~ 1, family = "poisson")

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-2.28522  -1.14135  -0.07978   0.79647   1.79054  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)    
(Intercept)   0.9598     0.1031   9.305   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 35.807  on 35  degrees of freedom
Residual deviance: 35.807  on 35  degrees of freedom
AIC: 132.56
Jetzt gleich ist Anpfiff England - Dänemark. Ich erwarte, dass etwa 2,6 Tore fallen werden.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Benutzeravatar
student
Beiträge: 674
Registriert: Fr Okt 07, 2016 9:52 am

Re: Torsummen

Beitrag von student »

Sehr interessant! Seltene Ereignisse sind oft Poisson-Verteilt.... :D

Muss vielleicht noch eine Abhängigkeit zur Anzahl der "Torschüsse" und/oder "Schüsse" und /oder "Ballbesitz" berücksichtigt werden? ;)

Ich denke, die Fußballprofis bekommen demnächst eine Schnittstelle implantiert, über die sie dann mit einem ML-System verbunden sind. Blitzschnell wird die Spielsituation über Kameras und das körperlichen Befinden der Akteure auf dem Spielfeld überwacht und eine Vorhersage über die nächsten Spielzüge des Gegners gemacht. Über die implantierte Schnittstelle bekommen dann die Spieler "Instruktionen" und hoppla, das Tor fällt! 8-)

Fast so ist es in dem Spiel Deutschland - Brasilien geschehen. Dazu habe ich mal einen Vortrag der SAP gehört, die im Auftrag des DFBs tätig war. Die ersten Tore entsprachen genau den vorhergesagten Spielzügen. Das SAP-Team hat dann den Sekt aufgemacht....

Fußball ist Business....
Dateianhänge
England_Daenemark.jpg
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Torsummen

Beitrag von Athomas »

Mich würde nur interessieren, welche Bedeutung dem glm-Aufruf (oder den Ergebnissen) beigemessen wird!
Oder war das ein Scherz :D ?
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Torsummen

Beitrag von bigben »

@Athomas Plausibilitätsprüfung für den mean-Aufruf weiter oben ;) :lol:
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Torsummen

Beitrag von Athomas »

Dazu habe ich auch was ausgegraben, es geht um die Häufigkeit von BuLi-Ergebnissen seit der Saison 1995/96 (Redaktionsschluss war der 08.03.2020):

http://www.hhoefs.de/Sport/Statistik-ne ... abelle.HTM

Darin sind angeblich 7.548 Spiele verwurstelt, wenn ich die Zahlen addiere, komme ich auf 7.561 - aber Schwamm drüber :D !
Die Daten gebe ich mal einlesefertig in der angehängten csv-datei mit.

Damit ergibt sich folgendes Bild:
Fussi.jpeg
Das finde ich auch überraschend - ich hätte zwar nicht dagegen gewettet, aber dass es so "passt", hätte ich nicht gedacht...
Der einzige "optische Ausreißer" sind (neben dem etwas erhöhten lieber-ein-Punkt-als-gar-nix-0:0) die 10-Tore-Spiele, von denen lediglich eines anstelle von 4 oder 5 erwarteten gemessen wurde.

Dazu ist die Seite https://www.weltfussball.de/statistik/bundesliga/4/ interessant: in früheren Zeiten hat es durchaus einige 10-Tore-Spiele mehr gegeben. Und sie hat mich an das legendäre 7:4 (Zwischenstand: 1:4!) von Kaiserslautern gegen die Bayern erinnert - das waren noch Zeiten, beim Kaiser damals :lol: !

Wobei das alles ja schon so eine Art Overkill ist - die gute Antwort auf die gestellte Frage wurde ja schon im verbotenen Forum mit dem "ausgeschlossenen 0:0" gegeben...
Dateianhänge
Daten.csv
(433 Bytes) 120-mal heruntergeladen
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Torsummen

Beitrag von bigben »

Athomas hat geschrieben: Do Jul 08, 2021 6:24 pm... die gute Antwort auf die gestellte Frage wurde ja schon im verbotenen Forum mit dem "ausgeschlossenen 0:0" gegeben...
Verbotenes Forum? Ich wollte doch nichts verbotenes tun!

Aus "ausgeschlossene 0:0" war auch mein erster Gedanke, als ich dort den Formelvorschlag 1 - exp(-x) gelesen habe. Wenn man da ein x = 0 einsetzt dann kommt eine Nullwahrscheinlichkeit heraus. Man muss aber vorsichtig lesen: X ist nicht die Zahl der fallenden Tore sondern die Zahl der zu erwartenden Tore, also Dein "müh". Berechnet werden soll damit die Wahrscheinlichkeit, dass mindestens ein Tor fällt. Also die Gegenwahrscheinlichkeit zu 0 Tore.

Der Formel dort zufolge 1 - exp(-x) = 1-exp(-2.89) = 0.944 und in der für dieses Forum geläufigeren Schreibweise 1 - dpois(0, 2.89) = 0.944.

Mit k = 0 kürzt sich der Bruch in der dpois-Formel komplett weg und es bleibt exp(-λ) übrig.

Eigentlich schade, dass einem so selten die Frage gestellt wird, wie wahrscheinlich bei einem Fußballspiel mindestens ein Tor fällt :lol:

LG,
Bernhard


PS: In Deinem Datensatz sind nur 5,6% der Spiele 0:0 ausgegangen, wo es nach der Poissonverteilung 6,7% hätten sein sollen.

Code: Alles auswählen

d <- read.csv2("http://forum.r-statistik.de/download/file.php?id=1512")
d$Tore <- with(d, Heim + Aus)
weighted.mean(d$Tore, d$Anzahl)
d$Anzahl[d$Tore == 0]/sum(d$Anzahl)
dpois(0, 2.8909)
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten