• sql-statistica

    SQL per analisi statistiche di base

    Una panoramica sulla statistica descrittiva di base e dei comandi SQL che è necessario conoscere per riepilogare i set di dati, trovare le medie, calcolare la varianza e la deviazione standard.

    Introduzione

    La statistica descrittiva è quella branca della statistica che si occupa dei criteri di rilevazione, classificazione, sintesi e rappresentazione dei dati a partire da un determinato campione. Una volta compresa la struttura generale dei dati, l’SQL è il linguaggio più utilizzato dagli analisti dei dati per ricavare informazioni sugli andamenti e fare previsioni.

     

    Caricamento dei dati su MySQL

    Per spiegare i concetti di base della statistica (conteggi, minimi, massimi, somme, medie, varianza e deviazione standard), creeremo un utente e un database MySQL (ma può essere utilizzato qualsiasi altro database relazionale) e popoleremo una tabella con dei dati di vendita fittizi.

    Di seguito lo script (lanciato da utente amministratore) per la creazione di un utente “statistica” e per l’utilizzo del database appena creato.

    Poi creiamo la tabella store_sales che contiene i dati di vendita semplificati di un ipotetico negozio.

    E poi inseriamo i dati nella tabella. Ecco un estratto dello script di insert (il file completo è disponibile per il download a fine articolo).

    Di seguito un estratto del risultato di un’interrogazione sulla tabella store_sales.

    mysql-contenuto-tabella-vendite

     

    SQL per la statistica di base: Conteggi, minimi e massimi

    Per prima cosa vediamo quante righe contiene la tabella store_sales. Eseguo il comando seguente:

    Il risultato è 365. Nello script di inserimento dei dati sulla tabella c’è infatti una riga per ogni giorno dell’anno e ogni riga memorizza le informazioni sulle vendite e sui cambi di turno dei dipendenti per quel particolare giorno. Ora vediamo quante righe ci sono in ogni mese.

    Di seguito il risultato.

    mysql-quanti-giorni-in-un-mese

    Il mese dell’anno è indicato da un numero intero compreso tra 1 e 12; per ogni mese abbiamo il numero di giorni in quel mese. La maggior parte dei giorni per ciascun mese sono 30 o 31, e febbraio ha 28 giorni.

    Ora usiamo le funzioni MAX e MIN per trovare i valori più grandi e più piccoli all’interno di un insieme di dati, come il numero massimo e minimo di cambio turno dei dipendenti in un giorno durante l’anno.

    Il numero massimo di cambi turno è 7, il minimo 0.

    Ora usiamo le funzioni MAX e MIN per trovare il numero massimo e minimo di cambio turno dei dipendenti in un giorno durante l’anno, raggruppati per mese.

    Il risultato è il seguente:

    mysql-cambio-turno-per-mese

     

    SQL per la statistica di base: somme e medie

    Un’altra informazione che mi può interessare avere è il numero totale delle unità vendute nell’anno. Il risultato sarà 176604.

    Per avere un dettaglio degli articoli venduti per ciascun mese, devo raggruppare nel seguente modo:

    Il risultato è il seguente.

    mysql-articoli-totale-venduti-per-mese

    Se voglio avere la media degli articoli venduti per ciascun mese, posso eseguire la seguente interrogazione.

    E questo sarà il risultato:

    mysql-articoli-media-venduti-per-mese

    La media si calcola ovviamente facendo la somma degli articoli venduti nel mese, diviso il numero di giorni del mese.

     

    SQL per la statistica di base: varianza e deviazione standard

    Due concetti appartenenti alla statistica, ma a cui siamo un po’ meno abituati (rispetto a conteggi, minimo, massimo, somme e medie), sono la varianza e la deviazione standard, che misurano la distribuzione di una serie di numeri dalla loro media.

    La varianza fornisce una misura di quanto i valori si discostino quadraticamente dalla media aritmetica. Ad esempio, selezioniamo il mese dell’anno, la somma delle unità vendute in quel mese e la media delle unità vendute. Aggiungiamo un’informazione su come i numeri sono distribuiti rispetto alla media con la funzione var_pop (un’abbreviazione di varianza della popolazione).

    Il risultato è il seguente:

    mysql-somma-media-varianza

    La varianza è un numero molto più grande della media e della somma, perché viene calcolato come quadrato della distanza tra ciascun numero e la media.

    La deviazione standard (o scarto quadratico medio), che è la radice quadrata della varianza, è uno dei modi per esprimere la dispersione dei dati intorno alla media aritmetica.

    Per conoscere la deviazione standard usiamo la funzione STDDEV_POP (abbreviazione di deviazione standard sulla popolazione).

    mysql-somma-media-deviazione-standard

    La scala della deviazione standard è molto più vicina alla scala della media.

    Anche sulla deviazione standard (come è stato fatto per la media) è possibile utilizzare la funzione ROUND per arrotondare i valori ed eliminare il dato della parte decimale (che è poco significativo), ottenendo un dato di più semplice lettura e comprensione.

    Se i dati hanno una distribuzione normale o hanno una forma simile a una curva a campana, la deviazione standard fornisce un’idea della correlazione dei dati rispetto alla media.

     

    Scaricare i sorgenti del progetto

    Per scaricare i sorgenti del progetto clicca sull’icona sotto. Il file compresso contiene gli script per la creazione della tabella e l’inserimento dei dati per MySQL e PostgreSQL.

    store_sales.zip
    store_sales.zip

     

     

    Giulio Cantali – IT Consultant

    Creatore di Database Master, il primo percorso per diventare esperti di database

Lascia un commento

Se vuoi condividere la tua opinione, lascia un commento

Puoi usare questi tag e attributi: HTML:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">