Verifica delle ipotesi in R: esplorazione dei dati MLB 2017

Introduzione

In questo progetto, ho mirato a praticare diversi test di ipotesi in R; durante l’esplorazione dei dati della stagione MLB 2017. Passerò brevemente attraverso l’esplorazione e la pulizia dei dati, ma mi concentrerò sui test statistici. Dopo aver esplorato i dati, ho scelto le seguenti domande da porre, portando a quattro diversi test statistici.

Organizzazione ed esplorazione dei dati

Consente prima di caricare tutti i dati nell’ambiente. Qui lavoreremo con due diversi file Rdata. Uno con i dati sui giocatori (pls2017) e uno sui giochi (gls2017).

Diamo un’occhiata a questo; a partire dai dati dei giocatori (pls2017).

Ok sì, quindi abbiamo un elenco con 168 elementi. Cosa contengono questi elenchi?

Ok, quindi è un elenco di elenchi … hmm. esploriamo un po ‘di più.

L’immagine sotto è uno screenshot di come sono organizzati i dati. ( uguale a view(pls201))

Come puoi vedere i dati sono organizzati come un elenco di elenchi di frame di dati. Dove ogni elenco contiene gli stessi 4 frame di dati:
1. campionati
2. play_positions
3. squadre
4. giocatori

<⇨note: se guardi le descrizioni a destra puoi vedere che ogni dataframe equivalente ha lo stesso numero di colonne. Sebbene non sia necessario aggrego tutti i frame di dati simili in un frame di dati. Questo mi renderà solo più facile esplorare i dati ed eseguire i miei test.

A partire dai dati dei giocatori
Creeremo prima i frame di dati vuoti, in cui organizzeremo i dati.

Ora creeremo un ciclo for per scorrere ogni sottolista e associare i dataframe simili ai dataframe vuoti inizializzati sopra.

Per sicurezza, rimuoveremo tutte le voci duplicate.

Ok, bene, ora abbiamo tutti i dati dei giocatori organizzati in 4 frame di dati.

ora ripeteremo il processo con i dati dei giochi
I dati dei giochi sono organizzati esattamente nello stesso modo, tuttavia ci sono 12 diversi frame di dati. – & gt; Stessi passaggi come sopra:

Ora abbiamo tutti i nostri dati caricati in frame di dati di facile lettura e navigazione. Ho scoperto che i dati game_log ( gls.17.game_logs ) contenevano i dati più interessanti, poiché ogni riga rappresentava un particolare gioco dalla prospettiva di un singolo giocatore. Ho scelto di unire questo dataframe con il dataframe dei giocatori ( pls.17.players ) per ottenere un singolo dataframe con le informazioni più interessanti. E ho condotto i miei test da quel frame di dati più grande.

Solo per mostrarti con cosa stiamo effettivamente lavorando qui: ecco tutte le variabili dal dataframe dei giocatori ( pls.17.players ).

E qui ci sono tutte le variabili nei dati di game_log ( gls.17.game_logs ).

Unire le informazioni sul giocatore e le informazioni del registro di gioco
Unire questi due frame di dati è stato facile poiché ogni giocatore aveva il proprio ID giocatore univoco.

Ottimo, ora abbiamo la maggior parte dei dati interessanti in un unico dataframe.

La maggior parte di questo processo è stata l’esplorazione di questi dati e la ricerca di cose interessanti da testare. Tuttavia, ho deciso di tagliarlo per concentrarmi sul vero test di ipotesi. Cominciamo.

1] Stipendio x Total_Wins: Z-Test

I giocatori ben pagati vincono in media più partite della popolazione?

Ho : vittorie medie di players_paid & lt; = vittorie medie di giocatori
H1 : vittorie medie di players_paid & gt; vittorie medie dei giocatori
Test : test Z di un campione con livello di confidenza del 95%.

Inizieremo cercando di vedere se i giocatori più pagati (players_paid) vincono effettivamente più partite. Dobbiamo iniziare creando l’attributo total wins in quanto non esiste già.

Aggiunta dell’attributo Total Wins
Per questo passaggio, tutto ciò che dobbiamo fare è utilizzare la funzione which () all’interno di un ciclo for per selezionare ciascuna registro di gioco per quel particolare giocatore che è stata una vittoria. Quindi somma il numero di istanze.

Ottimo, quindi sembra che abbiamo un intervallo da 0 a 99 vittorie.

Ora, diamo un’occhiata ai dati sugli stipendi:

Quindi ci sono solo 914 giocatori con stipendi non uguali a zero o NA sui 1357 originali e tutti gli stipendi sono in USD. Ho deciso di rimuovere questi giocatori tutti insieme perché sto semplicemente cercando di confrontare lo stipendio e le vittorie totali per scopi di pratica, quindi non c’è un grosso rischio di rimuovere solo i dati. Sembra che lo stipendio massimo fosse quasi 35 milioni wow pazzesco.

Ci sono NA nella colonna delle vincite del gioco?

Fantastico, quindi non ci sono giocatori con un wins_total mancante.

Ok, ora diamo un’occhiata e vediamo se esiste una correlazione con lo stipendio e il numero totale di vittorie
Ci sono un paio di modi per farlo, prima diamo un’occhiata alla trama e vediamo se riusciamo a vedere qualche correlazione da soli.

Possiamo vedere che non sembra esserci alcuna correlazione qui. ora proviamo a usare la funzione `cor ()` che effettivamente ci darà il coefficiente di correlazione.

Ok, quindi con 0,17 possiamo rafforzare il fatto che non esiste davvero una correlazione tra lo stipendio e il numero di vittorie.

Tuttavia, voglio eseguire un test statistico, quindi dividerò la popolazione in due gruppi, etichettando i giocatori che guadagnano più di 5.000.000 di dollari come giocatori ben pagati o players_paid.

Possiamo confrontare questi giocatori ben pagati con la popolazione generale e vedere se le loro vittorie totali sono statisticamente maggiori della popolazione. nota: ho scelto il numero $ 5.000.000 poiché rappresenta la maggioranza del quartile superiore ed è un bel numero tondo da discutere.

Sottoinsiemo questi giocatori ben pagati.

Ok, sembra che abbiamo circa il quarto più alto dei giocatori più pagati.

Esecuzione del test Z

Ho: vittorie medie dei giocatori pagate & lt; = vittorie medie di tutti i giocatori
H1: vittorie medie dei giocatori pagate & gt; vittorie medie di tutti i giocatori

Per prima cosa estraiamo i numeri di cui avremo bisogno per il test; la media della popolazione e la deviazione standard.

Possiamo vedere che il numero medio di partite vinte è più alto per i giocatori ben pagati, andiamo avanti ed eseguiamo il test Z per vedere se le medie sono statisticamente diverse.

<”nota: ho scelto di eseguire qui un test Z di un campione perché con una dimensione del campione n = 215, è abbastanza grande da rappresentare popolazione rispetto alla distribuzione T degli studenti.

Conclusione
Il valore p è chiaramente inferiore a 0,05 e possiamo rifiutare l’ipotesi Null. Pertanto, possiamo affermare con sicurezza che i giocatori ben pagati vincono in media più partite rispetto alla popolazione generale. Spero che sia così, altrimenti le squadre di baseball farebbero un pessimo lavoro nell’allocazione dei loro fondi.

2] Vantaggio della città natale: chi quadrato

Il fatto che una partita sia in casa o in trasferta è indipendente dalla vittoria o dalla sconfitta della squadra?

Ho : se una partita in particolare è una partita in casa per una squadra è indipendente da una squadra che vince una partita
H1 : non sono indipendenti
Test : test del chi quadrato per l’indipendenza con un livello di confidenza del 95%.

Qui esamineremo semplicemente se il vantaggio della città natale aiuta davvero una squadra a vincere. Inizierò rimuovendo tutti i giochi in un sito neutro:

Quindi in realtà non c’erano giochi su siti neutri, fantastico.

Creazione della tabella di contingenza
Per eseguire il test del chi quadrato per l’indipendenza, tutto ciò che devo fare è creare una tabella di contingenza con casa / fuori casa x vittoria / sconfitta. Per fare ciò creerò prima una matrice vuota, quindi la popolerò contando la lunghezza delle vittorie / sconfitte selezionate.

Come puoi vedere, ho utilizzato ogni partita nei registri di gioco come due punti dati, uno per la squadra di casa e uno per la squadra in trasferta. Questa probabilmente non è una buona idea poiché altri fattori che potrebbero essere entrati in gioco in un determinato gioco sarebbero raddoppiati. Tuttavia, ai fini della pratica, ho deciso di utilizzare ogni gioco dalla prospettiva di ogni squadra.

Esecuzione del test del chi quadrato per l’indipendenza

O: Che una partita in particolare sia o meno una partita in casa per una squadra è indipendente da una squadra che vince una partita
H1: Non sono indipendenti

Conclusione
Possiamo chiaramente rifiutare l’ipotesi nulla e concludere che il vantaggio della città natale è reale!

3] Home Runs x Strike Outs

I giocatori che colpiscono di più realizzano in media più fuoricampo rispetto alla popolazione?

Ho : la media dei fuoricampo di players_strikers è uguale o inferiore alla media dei fuoricampo di tutti i giocatori
H1 : la media dei fuoricampo di players_strikers è maggiore di i fuoricampo medi di tutti i giocatori
Test : test T di un campione con un livello di confidenza del 95%.

Vediamo se le persone che colpiscono di più fanno anche più fuoricampo. Per prima cosa aggiungerò colonne alla tabella dei giocatori e otterrò tutti gli attributi corretti.

Ora rimuoviamo qualsiasi NA e guardiamo il riepilogo delle due variabili.

Wow, ne rimangono solo 710 dopo la rimozione di NA, che rappresenta poco più del 50% del totale dei giocatori. Questo è un peccato, ma non ci siamo riusciti.

Facciamo un grafico veloce per vedere se possiamo vedere visivamente qualche correlazione.

Fantastico, quindi puoi vedere chiaramente che i giocatori che colpiscono di più colpiscono anche più homerun, anche in questo caso nessuna sorpresa qui. ora diamo uno sguardo al coefficiente di correlazione. * nota: nel caso ve lo steste chiedendo, Aaron Judge è arrivato al maggior numero di strikeout con ben 209 strikeout per la stagione 2017 (secondo questo set di dati). *

Wow, .87 è un coefficiente di correlazione piuttosto alto. Ora, anche se possiamo vedere chiaramente che esiste una correlazione tra i due attributi, voglio comunque eseguire un test statistico …

Per gli scopi di questo progetto; Sottoinsisterò di nuovo i giocatori in base al numero di strike out che hanno colpito. Cercherò semplicemente di vedere se i giocatori che hanno colpito più di 150 volte nella stagione 2017 hanno anche segnato più fuoricampo rispetto alla popolazione.

Ok, quindi ci sono 24 giocatori che hanno eliminato più di 150 volte. perfetto per un test T.

Esecuzione del test T

Tiriamo fuori i numeri di cui abbiamo bisogno per eseguire il test.

Bene, i mezzi sono estremamente diversi, andiamo avanti ed eseguiamo il test T per vedere se sono significativamente diversi.

Ipotesi:
Ho: la media degli home run di Players_strikers è uguale o inferiore alla media degli home run di tutti i giocatori
H1: la media degli home run di Players_strikers è maggiore della media fuoricampo di tutti i giocatori
Test: test T di un campione con un livello di confidenza del 95%.

Conclusione
Ottimo, quindi possiamo nuovamente respingere l’ipotesi nulla e affermare che i giocatori che colpiscono in media più di 150 volte hanno realizzato più fuoricampo rispetto alla popolazione generale.

4] Anni di esperienza x corse battute: ANOVA

I giocatori con diversi livelli di esperienza hanno RBI diversi?

Ho : l’RBI medio è lo stesso per i tre livelli di esperienza
H1 : l’RBI medio non è lo stesso per i tre livelli di esperienza
Test : ANOVA unidirezionale con livello di confidenza del 95%. più un tukey post-hoc.

Ora esaminiamo come anni di esperienza potrebbero influenzare l’RBI di un giocatore. Sottoporremo nuovamente tutti i giocatori in base ai loro anni di esperienza e confronteremo gli RBI medi di questi gruppi. Dividerò il livello di esperienza in tre gruppi spiegati di seguito.

Diamo un’occhiata alla variabile dell’esperienza

Ok, quindi ho 557 punti dati con un intervallo da 0 a 17 anni di esperienza e una media di 3,4 anni.

Dividerò i dati in tre gruppi
1. Esperienza bassa = inferiore o uguale a 5 anni
2. Esperienza moderata = maggiore di 5 e minore o uguale a 10 anni
3. Alta esperienza = maggiore di 10 anni di esperienza

Farò un semplice ciclo for per farlo:

Andiamo avanti e esaminiamo questi diversi gruppi:

Quindi ci sono chiaramente differenze nei mezzi. Creiamo un semplice grafico a barre per confrontare visivamente i mezzi.

Puoi vedere che i giocatori nella classe di esperienza moderata hanno il RBI medio più alto, penso che questo abbia senso considerando la loro esperienza e l’età relativa. ora andiamo avanti e vediamo se queste medie sono statisticamente diverse.

Esecuzione di un’ANOVA unidirezionale

Ipotesi :
Ho: l’RBI medio è lo stesso nei tre livelli di esperienza
H1: l’RBI medio non è lo stesso nei tre livelli di esperienza
Test: uno- Way ANOVA con livello di confidenza del 95%. più un tukey post-hoc.

Conclusione
Respingiamo l’ipotesi nulla; e affermare che le medie di rbi total non sono le stesse per i diversi livelli di esperienza.

Ora eseguiamo un post-hoc per determinare quali medie erano statisticamente diverse:


alta esperienza

5] Presenza notturna e presenza diurna

Più persone partecipano a più giochi notturni?

Ho : nella mediala presenza media delle partite notturne è uguale alla media delle presenze di tutte le partite
H1 : la presenza media delle partite notturne NON è uguale alla media delle presenze di tutte le partite
Test : test Z di un campione con livello di confidenza del 95%.

Per il mio ultimo test, esplorerò se le persone partecipano o meno a più giochi notturni che giochi diurni. Un’altra semplice domanda da porre, che posso eseguireun test statistico su.

Abbiamo 2421 partite su 2431, quindi ne abbiamo perse 10giochi che dovevano avere NA.

Ora consente di suddividere i giochi in giochi notturni e diurni:

Eh, quindi la partecipazione media alle partite diurne è in realtà superiore a quella notturna. È strano, facciamo un rapido grafico a barre per confrontare visivamente questi mezzi.

Esecuzione di un test Z per confrontare le medie

Ho :presenza di partite notturne = presenza di tutte le partite
H1 : partecipazione di partite notturne! = presenza di tutte le partite
Test : test Z di un campione con il 95%livello di fiducia.

Conclusione
Possiamo di nuovorespingere l’ipotesi nulla che i mezzi siano gli stessi, anche se la presenza media delle partite notturne è in realtà inferiore alla presenza media delle partite diurne, il che mi ha sorpreso .. Immagino che la maggior parte delle persone non lavori.