Redazione del report da: Italo Persechino (1107784), Sahar Imtiaz (1093453), Dennis Pesenti (1099652), Giorgia Pizzini (1100603)
DISCIPLINA DELLO SPORT E DATABASE
Lo short track è un tipo di pattinaggio su ghiaccio basato sulla velocità (speed skating). In questo tipo di gare un certo numero di pattinatori competono gli uni contro gli altri in una serie di round a eliminazione diretta: i più veloci di ogni batteria passano ai round successivi. La particolarità dello short track è la partenza in gruppo: nella distanza dei 500m, il regolamento prevede cinque atleti per ogni gruppo. Generalmente i primi due classificati di ogni batteria avanzano al turno successivo, che culmina nella finale, dove i pattinatori si sfidano per la vittoria della competizione.
La pista dello short track speed skating è solitamente circa 100 metri (rispetto a una tradizionale pista da 400 metri), ha una forma ovale e deve essere percorsa diverse volte in base al tipo di speed skating (nella tipologia presa in analisi sono 5 giri da 100 metri). Gli atleti indossano attrezzature speciali, da tute anti-taglio a guanti speciali che offrono miglior tenuta sul ghiaccio. Spesso, per assicurarsi prestazioni migliori, gli atleti eseguono mosse rischiose che possono risultare in cadute, fenomeno molto ricorrente nel gioco in questione.
L’obbietivo dello studio è trovare quali variabili influiscono di più sulle prestazioni degli atleti. Inizalmente si è ipotizzato che la presenza di un connazionale in squadra potesse influire sulla qualificazione dell’atleta. Successivamente si è ipotizzato che anche la posizione di partenza potesse influire, seppur portando a risultati completamente diversi dal primo studio.
Dunque, la domanda di ricerca principale è: Cosa influenza le prestazioni di un giocatore? Nello specifico, quali fattori possono influenzarle positivamente? A questo punto, si può riassumere l’intero studio in due casi, che possono influenzare significativamente le prestazioni di un giocatore:
Caso 1: Presenza di compagni di squadra in una competizione
Caso 2: Posizione di partenza del giocatore nella competizione
Lo studio è stato costruito interamente sul dataset1, contenente tutte le gare di speed skating internazionali, maschili, sui 500m, dalla stagione 2012/2013 alla stagione 2016/2017. Vista la presenza di 28 variabili nel dataset a disposizione, si è deciso di proseguire ad una valutazione di variabili e riducendo la focalizzazione alle variabili utili allo studio in oggetto:
la fase della gara registrata: Round
La nazionalità dell’atleta: Nationality
la posizione dell’atleta nella classifica a fine gara: Rank_In_Group
La posizione dell’atleta all’inizio della gara: Start_Positionition
Il tempo richiesto dall’atleta per finire la gara: Time
tempo richiesto all’atleta per completare ogni giro N, chiamato ‘lap’: time_lapN
L’attenzione alle pretazioni degli atleti ci fa pensare a due possibili variabili di risposta: il tempo e il posizionamento degli atleti al termine della gara. Per tale ragione sono state effettuate due analisi cambiando la variabile di risposta: nella prima analisi è stato considerato il tempo, con la variabile Time , mentre nella seconda il posizionamento a fine gara, con la variabile Rank_In_Group. Il dataset è stato pulito da eventuali dati NA per le due variabili considerate, la pulizia ha ridotto il numero dei dati disponibili da 5125 a 4792.
Dopo un’attenta analisi e dato il numero elevato dei dati in possesso, si è deciso di analizzare il 95% delle gare con i migliori tempi, andando ulteriormente a sfoltire i dati a disposizione, che sono oggetto dell’analisi. Inoltre sono state create ulteriori variabili temporanee per agevolare l’analisi: TM. e Win. In sintesi, le variabili, oggetto di analisi sono:
Time -> tempo impiegato dall’atleta per concludere la gara
Win -> La variabile booleana identifica se l’atleta ha vinto una finale o si è qualificato per il round successivo. La variabile è stata ottenuta dalla variabile Rank_In_Group, che era già presente nel dataset a disposizione.
Code
#Rimozione dei tempi NA dal databaseds <- ds[!is.na(ds$Time),]# View(ds)# 333 dati non diponibile, per cui rimossids <- ds[!is.na(ds$Rank_In_Group),]View(ds)# nessun dato da rimouvere# dim(ds)
Per analizzare l’influenza di compagni di squadra (atleti della stessa nazionalità), è stata creata, per ogni gara e per ogni atleta di gara, un’apposita variabile TM (‘Team Mates’). Inizialmente la variabile è stata considerata come numerica, tuttavia, come si vede dalla table, la maggior parte delle gare (4590) viene disputata con atleti di diversa nazionalità, 196 con due atleti della stessa nazionalità e solo 6 con 3 atleti della stessa nazionalità.
Code
hist(ds$TM, col="#AF3A39", main="Istogramma di TM", xlab="Compagni di squadra", ylab="Frequenza")
Code
table(ds$TM) #La maggior parte delle gare è svolta senza compagni di squadra
0 1 2
4590 196 6
Per questo motivo, è stato scelto di considerare la variabile TM (Team Mates) come categorica che ha due indicatori: YES (se è presente almeno un altro atleta della stessa nazione) e NO se non è presente. Tuttavia si nota come ancora che nella maggior parte delle gare ( 4590 contro 202) gli atleti gareggiano senza compagni di squadra.
E’ stato scelto di considerare questa variabile come categorica perchè trovare atleti della stessa nazionalità in gare di speed skating è molto raro. Nelle competizioni, infatti, a partire dalle eliminatorie, si tende a distribuire i partecipanti in modo da non far competere tra di loro atleti della stessa nazionalità. Tuttavia dopo essersi qualificati in round precedenti è possibile che giocatori della stessa nazionalità si incontrino in quelli successivi.
Un’altra variabile interessante da considerare è Round che identifica le fasi della competizione. La variabile Round è categorica ma nel dataset presenta troppi livelli (11).
I livelli della variabile Round sono stati raggruppati riducendone il numero da 11 a 5.
La posizione di partenza in una gara di short track è molto importante. Nel dataset è presente Start_Position, variabile numerica di interi da 1 a 6. Come si vede dalla tabella, le gare con 6 partenti sono molto rare (7 in totale) e riguardano principalmente gare dove sono stati effettuati dei ripescaggi. Per tale motivo sono state escluse dall’analisi.
Dato che i valori che assume la variabile sono relativamente pochi (da 1 a 5), è stata creata una variabile copia, dove vengono fattorizzati i valori, andando a creare una variabile categorica.
La prima analisi è stata condotta sul tempo di gara (variabile Time del dataset). La variabile Time é numerica continua. Di seguito sono riportati grafici per valutare la distribuzione della variabile. Si può notare dalla forma della densità della variabile e dal boxplot che i valori si addensano verso tempi più bassi, ma presenta una lunga coda verso i tempi più alti. Anche il grafico dei quantili mostra la deviazione dalla distribuzione normale, che, per tempi relativiamente bassi viene seguita abbastanza bene.
La coda destra della variabile Time é abbastanza lunga a causa di gare dove ci sono stati contatti o cadute e successivamente gli atleti hanno comunque proseguito e terminato la gara con tempi più lunghi.
Dall’analisi dei quantili si vede come il 95% delle gare termina con un tempo inferiore a 51.60s. Si è quindi scelto di scartare tempi superiori a tale range per ridurre la lunghezza della coda.
E’ stato scelto di modellare il tempo di gara utilizzando un modello lineare generalizzato con distribuzione Gamma e una funzione link logaritmica. Inizialmente siamo partiti da un modello completo dove la variabile Time è stata analizzata prendendo in considerazione le variabili indipendenti: TM (Team Mates), Round e Start_Position L’idea è stata quella di partire da un modello completo prendendo in considerazione tutte le variabili indipendenti e poi effettuare un test Anova per valutare l’effettivo contributo di ogni variabile.
Code
#Fit prendendo tutti i valori dei tempim_full<-glm( Time ~ TM + Start_Position + Round, family =Gamma( link ="log"), data = ds_time_filtered )summary(m_full)
Call:
glm(formula = Time ~ TM + Start_Position + Round, family = Gamma(link = "log"),
data = ds_time_filtered)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.755151 0.001110 3384.306 < 2e-16 ***
TMYES -0.007305 0.002539 -2.877 0.00403 **
Start_Position2 0.002215 0.001338 1.655 0.09792 .
Start_Position3 0.007864 0.001343 5.856 5.09e-09 ***
Start_Position4 0.013501 0.001351 9.992 < 2e-16 ***
Start_Position5 0.017678 0.001916 9.229 < 2e-16 ***
RoundHeats -0.014280 0.001106 -12.916 < 2e-16 ***
RoundQuarterfinals -0.028262 0.001357 -20.829 < 2e-16 ***
RoundSemifinals -0.034113 0.001857 -18.368 < 2e-16 ***
RoundFinals -0.029148 0.002191 -13.302 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for Gamma family taken to be 0.0009545026)
Null deviance: 5.0768 on 4544 degrees of freedom
Residual deviance: 4.1286 on 4535 degrees of freedom
AIC: 15155
Number of Fisher Scoring iterations: 3
Code
#plot(mod1a)
Dal Summary del modello emerge come unica variabile che possa avere influenza sul tempo la variabile Start_Position. In particolare le posizioni di partenza 4 e 5 (le ultime) hanno una influenza negativa sul tempo (il tempo di gara aumenta se un atleta parte in posizioni 4 o 5). Per valutare l’effettiva influenza delle 3 variabili indipententi prese in considerazione, si esegue un test Anova, che verifica l’ipotesi nulla H0: la variabile non ha influenza sul modello (i coefficienti della variabile vengono considerati nulli).
Nel modello GLM Gamma con link log, il test Anova indica che Start_Position (p < 2.2 e^(-16)) e Round (p < 2.2 e^(-16)) sono fortemente associati al tempo di gara, mentre TM è anch’essa significativa (p = 0.0028), ma con un effetto stimato più contenuto. In particolare, la presenza di compagni di squadra è associata a una riduzione media del tempo di circa 0.75%,
Per la posizione di partenza, Start_Position, la posizione 2 non mostra una differenza statisticamente netta (p = 0.098) rispetto alla posizione 1. Le posizioni dal 3 al 5 sono associate a tempi medi progressivamente più elevati (+0.79%, +1.36%, +1.80%). Anche il Round mostra differenze significative rispetto alle Heats, con tempi medi più bassi nei round avanzati.
ESEMPIO
Interpretazione dei coefficienti: (esempio Start_Position=4): il tempo medio atteso per chi parte in posizione 4 è circa +1.36% rispetto alla posizione 1 a parità di TM e Round. (N.B. Vale per gli altri coeeficienti)
Code
library(broom)library(dplyr)library(knitr)tab_percentuali <-tidy(m_full) %>%# Escludiamo l'intercetta per focalizzarci solo sugli effetti delle variabilifilter(term !="(Intercept)") %>%mutate(# Calcolo della variazione percentualeVar_Perc = (exp(estimate) -1) *100 ) %>%select(term, Var_Perc) %>%# Arrotondiamo per una lettura più pulitamutate(Var_Perc =round(Var_Perc, 2))# Visualizzazionekable(tab_percentuali, col.names =c("Variabile", "Variazione %"),caption ="Impatto percentuale sui tempi di gara")
Impatto percentuale sui tempi di gara
Variabile
Variazione %
TMYES
-0.73
Start_Position2
0.22
Start_Position3
0.79
Start_Position4
1.36
Start_Position5
1.78
RoundHeats
-1.42
RoundQuarterfinals
-2.79
RoundSemifinals
-3.35
RoundFinals
-2.87
Verifichiamo ora con il metodo AIC per confrontare il modello con il modello più semplice dove il tempo dipende solo da TM.
Secondo il Criterio di Informazione di Akaike, il modello m_full (con TM + Start_Position + Round) è molto più supportato dai dati rispetto al modello m_tm (solo TM), nonostante abbia più parametri (df 11 vs 3). Le variabili Start_Position e Round aggiungono informazioni importanti per spiegare il tempo medio di gara.
Inoltre per completezza abbiamo riportato anche la procedura Stepwise all’indietro, sul modello di partenza completo, che conferma come il modello completo sia il migliore (con le variabili scelte).
Code
m_step_back <-step(m_full, direction ="backward", trace =1)
Call:
glm(formula = Time ~ TM + Start_Position + Round, family = Gamma(link = "log"),
data = ds_time_filtered)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.755151 0.001110 3384.306 < 2e-16 ***
TMYES -0.007305 0.002539 -2.877 0.00403 **
Start_Position2 0.002215 0.001338 1.655 0.09792 .
Start_Position3 0.007864 0.001343 5.856 5.09e-09 ***
Start_Position4 0.013501 0.001351 9.992 < 2e-16 ***
Start_Position5 0.017678 0.001916 9.229 < 2e-16 ***
RoundHeats -0.014280 0.001106 -12.916 < 2e-16 ***
RoundQuarterfinals -0.028262 0.001357 -20.829 < 2e-16 ***
RoundSemifinals -0.034113 0.001857 -18.368 < 2e-16 ***
RoundFinals -0.029148 0.002191 -13.302 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for Gamma family taken to be 0.0009545026)
Null deviance: 5.0768 on 4544 degrees of freedom
Residual deviance: 4.1286 on 4535 degrees of freedom
AIC: 15155
Number of Fisher Scoring iterations: 3
La riga è il modello attuale: Time ~ TM + Start_Pos + Round con AIC = 15071. Ogni riga mostra cosa succede se rimuovi quel termine dal modello:
TM → AIC = 15078 (peggiora di circa +7)
Start_Position → AIC = 15235 (peggiora di circa +164)
Round → AIC = 15830 (peggiora di circa +759)
Effettivamente si vede come la rimozione della variabile TM ha poco effetto sul valore di AIC segno che tra le altre variabili ha una influenza relativamente minore.
Dall’analisi dei residui, la nuvola di punti è sostanzialmente attorno allo 0 (linea rossa). Si nota la presenza di molti punti disposti verticalmente, ma questo è dato dal fatto che sono state usate variabili categoriche. Inoltre non si presentano punti con distanza di Cook elevata. Il problema principale è sulla forma della deviazione dei residui dalla normale, che il modello non riesce a catturare. Andrebbe fatta un’analisi di sensibilità riducendo eventualmente il dataset, escludendo tempi elevati. Si ricorda, a tal punto, che in questa analisi sono stati già esclusi tempi oltre il 95esimo percentile.
Modellazione della Posizione di gara, Rank_In_Group. Come accennato nell’introduzione, l’outcome più importante per un’atleta nello short track non è il tempo di gara in senso assoluto, ma piuttosto il piazzamento finale nelle gare. In particolare, in questa analisi, è stato preso in considerazione la variabile Rank_in_group, già presente nel dataset. Questa variabile è numerica, di conteggio da 1 a 6, e rappresenta il piazzamento al termine della gara.
Tuttavia, piuttosto che considerare questa variabile come numerica, l’abbiamo considerata come una variabile binomiale (0 o 1). In particolare abbiamo distinto due casi:
Per i Round fino alle Semifinals, il risultato di una gara è positivo (Win = 1) se l’atleta si qualifica al turno successivo (cioè se termina la gara in prima o seconda posizione) ed è invece negativo (Win = 0) se l’atleta termina la gara oltre la seconda posizione;
Per le finali, Finals, il risultato positivo è solo uno, cioè quando l’atleta vince (termina in prima posizione), mentre gli altri casi sono considerati perdenti.
Di conseguenza abbiamo condotto due analisi: la prima considerando i Round dagli Heats alle Semifinals e la seconda considerando solo le finali, Finals. Questo è stato fatto ottenendo due dataset da quello principale e filtrando per i Round che ci interessano. Poi è stata creata la variabile Win.
Code
#ottengo dataset con round da Heats a Semifinalids_heats_to_sf <-filter(ds, Round =="Heats"| Round =="Preliminaries"| Round =="Quarterfinals"| Round =="Semifinals")#creo la variabile "result", binomiale (1 se piazzamento <=2, 0 altrove)ds_heats_to_sf$win =0ds_heats_to_sf$win[ds_heats_to_sf$Rank_In_Group <=2] =1#ottengo dataset solo con finalids_finals <-filter(ds, Round =="Finals")#creo la variabile "result", binomiale (1 se piazzamento <=1, 0 altrove)ds_finals$win =0ds_finals$win[ds_finals$Rank_In_Group <=1] =1
Call:
glm(formula = win ~ TM + Start_Position, family = binomial(link = logit),
data = ds_heats_to_sf)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.86649 0.06754 12.829 <2e-16 ***
TMYES 0.29696 0.19454 1.526 0.127
Start_Position2 -0.49041 0.09207 -5.327 1e-07 ***
Start_Position3 -1.09865 0.09212 -11.926 <2e-16 ***
Start_Position4 -1.69006 0.09585 -17.632 <2e-16 ***
Start_Position5 -2.07460 0.14293 -14.514 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 6255.5 on 4512 degrees of freedom
Residual deviance: 5756.1 on 4507 degrees of freedom
AIC: 5768.1
Number of Fisher Scoring iterations: 4
La variabile TM non risulta statisticamente significativa nel predire la qualificazione (p = 0.127). Sebbene il coefficiente positivo (+0.297) suggerisca una tendenza verso migliori probabilità di qualificazione con compagni di squadra, l’evidenza non è robusta al livello convenzionale \(\alpha = 0.05\).
Interpretazione dei coefficienti:
Esempio per Start_Position = 2: \(\beta = -0.49041 → \exp(-0.49041) \approx 0.612\)
Quindi: odds di qualificazione per Start_Position = 2 sono circa 61.2% rispetto a quelli di Start_Position = 1, che sono −38.8%. Riassumendo, partire in posizione 2 riduce gli odds di qualificazione di circa 39% rispetto alla partenza in posizione 1.
Per valutare la bontà del modello si calcola l’area sotto la curva ROC (‘Receiver Operating Characteristic Curve’) che misura la capacità del modello di individuare bene successi (sensitivity) e insuccessi (specificity).
Valore che tende a 1 -> il modello è perfetto.
Valore a 0.5 -> il modello dà risultati casuali.
In questo caso il valore è 0.6845.
Code
pred_prob <-predict(m_H_to_SF, type ="response") roc_obj <-roc(ds_heats_to_sf$win, pred_prob) auc(roc_obj)
Area under the curve: 0.6845
Proviamo ad eliminare dal modello la variabile TM che abbiamo visto essere superflua e ricalcolare AUC.
Call:
glm(formula = win ~ Start_Position, family = binomial(link = logit),
data = ds_heats_to_sf)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.87306 0.06741 12.95 < 2e-16 ***
Start_Position2 -0.48965 0.09205 -5.32 1.04e-07 ***
Start_Position3 -1.09533 0.09206 -11.90 < 2e-16 ***
Start_Position4 -1.68863 0.09582 -17.62 < 2e-16 ***
Start_Position5 -2.07214 0.14288 -14.50 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 6255.5 on 4512 degrees of freedom
Residual deviance: 5758.4 on 4508 degrees of freedom
AIC: 5768.4
Number of Fisher Scoring iterations: 4
Code
pred_prob <-predict(m_H_to_SF2, type ="response") roc_obj <-roc(ds_heats_to_sf$win, pred_prob) auc(roc_obj)
Area under the curve: 0.6836
Code
plot(roc_obj, main="ROC curva", col="red")
L’inclusione di TM non migliora la capacità discriminante del modello (AUC 0.6845 vs 0.6836). Per parsimonia abbiamo quindi adottato il modello senza TM, in cui la probabilità di qualificazione è spiegata principalmente dalla posizione di partenza.
La stessa analisi sulla variabile Win è stata effettuata sui Round = Finals, considerando però la variabile Win=1 solo se l’atleta arriva in posizione 1 (vince effettivamente la gara). Siamo partiti inizialmente da un modello completo:
Call:
glm(formula = win ~ Start_Position, family = binomial(link = logit),
data = ds_finals)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.2436 0.2480 0.982 0.3260
Start_Position2 -1.5558 0.3901 -3.988 6.65e-05 ***
Start_Position3 -1.6119 0.3887 -4.146 3.38e-05 ***
Start_Position4 -2.4222 0.4970 -4.873 1.10e-06 ***
Start_Position5 -2.6415 1.0731 -2.462 0.0138 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 314.39 on 271 degrees of freedom
Residual deviance: 274.02 on 267 degrees of freedom
AIC: 284.02
Number of Fisher Scoring iterations: 4
Code
pred_prob <-predict(m_f2, type ="response") roc_obj <-roc(ds_finals$win, pred_prob) auc(roc_obj)
Area under the curve: 0.7226
Anche analizzando solo le Finals, se si rimuove la variabile TM, il valore di AUC rimane sostanzialmente costante. Quindi, effettivamente, la variabile TM non influenza la capacità del modello.
Per quanto riguarda il tempo di gara si è visto che:
A parità di Start_Position e round, la presenza di compagni di squadra (TM=YES) è associata a un tempo medio atteso circa 0.75% più basso (quindi leggermente più veloce) rispetto a TM=NO. E’ un effetto piccolo in termini pratici, ma statisticamente supportato.
A parità di posizione di TM e Round, partire da posizioni più “esterne/sfavorevoli” (3–5) è associato a tempi medi progressivamente più alti (più lenti). L’effetto è molto chiaro dalla posizione di partenza 3 in poi.
A parità di posizione di TM e Start_Position, i tempi medi cambiano in modo significativo tra i Round. In particolare, i round avanzati (quarti/semifinali/finali) risultano mediamente più veloci rispetto alle Heats.
Per le Finals: l’ odds ratio rispetto a Start_Position = 1:
Start_Position = 2: e^(-1.5558) =0.211 ⇒ odds di vittoria circa −79%
Start_Position = 3: e^(-1.6119) =0.199 ⇒ odds circa −80%
Start_Position = 4: e^(-2.4222) =0.089 ⇒ odds circa −91%
Start_Position = 5: e^(-2.6415) =0.071 ⇒ odds circa −93%
Nelle Finals, la posizione di partenza, Start_Positon, sembra avere un effetto molto forte: partire in posizioni dal 2 al 5 riduce drasticamente la probabilità di vincere rispetto alla posizione 1.
Per Heats fino a Semifinals: l’ odds ratio rispetto a Start_Position = 1:
Start_Pos2: e^(-0.4897) =0.613 ⇒ odds −39%
Start_Pos3: e^(-1.0953) =0.334 ⇒ odds −67%
Start_Pos4: e^(-1.6886) =0.185 ⇒ odds −82%
Start_Pos5: e^(-2.0721) =0.126 ⇒ odds −87%
La posizione conta molto (effetto monotono), ma le penalizzazioni sono meno estreme rispetto alle Finals (quindi “qualificarsi” è più facile che “vincere”).
In questo report sono state analizzate le prestazioni, in termini di tempo e piazzamento finale, nelle gare di Short Track Speed Staking. Il dataset di partenza conteneva tutte le gare internazionali dalla stagione 2012/2013 alla stagione 2016/2017. L’analisi è stata divisa in due fasi distinte:
una prima fase nella quale è stato preso il tempo di gara (numerica, con distribuzione Gamma) come variabile dipendente
una seconda fase nella quale è stato preso in considerazione l’outcome di gara come una variabile binomiale: 1 se l’outcome è positivo (qualifica o vittoria nelle finali), 0 in tutti gli altri casi
Per entrambe le analisi sono state scelte come variabili indipendenti:
la presenza o meno di compagni di squadra in gara -> variabile TM. Si è visto come la presenza di un compagno di squadra in gara, pur essendo statisticamente significativa (p-value < 0.05) non ha una grande influenza (il tempo migliora dello 0.75% se si è in presenza di un compagno di squadra).
Le altre variabili, posizione di partenza e Rounds, oltre ad avere una significatività maggiore, hanno anche un’influenza maggiore.
la posizione di partenza -> variabile Start_Position. Partire in corsie interne (1-2) abbassa il tempo di gara (a parità delle altre variabili).
i rounds (per l’analisi del tempo) -> variabile Round per l’analisi di Time. Nei Round più avanzati, abbassa il tempo di gara.
Tuttavia il tempo di gara non è un fattore rilevante nelle gare di Short Track perchè qualificazioni e vittoria finale sono decise dall’ordine di arrivo. Per tale motivo è stata condotta una seconda analisi sull’outcome di gara. Innanzitutto si è visto come la presenza o meno di compagni di squadra (TM) è poco significativa (a differenza di quanto accadeva sul tempo) ed effettivamente l’unica variabile significativa risulta essere la posizione di partenza, Start_Position. In particolare, per ottenere una qualificazione al turno successivo (arrivare almeno secondi), partire già in posizione 2 riduce le probabilità del 39% rispetto a partire in posizione 1 e la diminuzione è monotona fino alla posizione 5 (probabilità ridotte ) dove la probabilità cala fino all’87% rispetto alla Posizione di partenza 1. Per quando riguarda le finali, l’ordine di partenza ha ancora più effetto. Basti pensare che solo partire in posizione 2 abbassa le probabilità di vincere (ricordiamo, rispetto alla posizione di partenza 1) del 79%.
BIBLIOGRAFIA
Di seguito, sono riportate le fonti testuali, audiovisive/digitali per la redazione del report e visual design.
Fonti Testuali
Agresti, A. & Kateri, M.Statistica per data scientists: con R e Python. Edizione italiana a cura di F. Corradi. Milano: EGEA, 2022.
Hadley Wickham, Mine Çetinkaya-Rundel, and Garrett Grolemund.R for Data Science. Published by O’Reily Media, 2023.
Fonti Audiovisive/Digitali
Kaggle.Data card: Short Track Speed Skating Database for Sports Data Analysis.Approfondimenti
Andrew Hext, Florentina Johanna Hettinga & Ciarán McInerney.Tactical positioning behaviors in short-track speed skating: A static and dynamic sequence analysis.Articolo per approfondimenti
Vox.The secret to winning a short track speed skating race.Video
Software per Visual Design
R Core Team.R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing.Sito web: R
Rstudio/Posit.The open-source data science for the Enterprise.Sito web: Posit