Come calcolare i punteggi z in python


Nelle statistiche, un punteggio z ci dice quante deviazioni standard un valore è dalla media . Usiamo la seguente formula per calcolare uno z-score:

z = (X – μ) / σ

Oro:

  • X è un singolo valore di dati grezzi
  • μ è la media della popolazione
  • σ è la deviazione standard della popolazione

Questo tutorial spiega come calcolare i punteggi z per i valori dei dati grezzi in Python.

Come calcolare i punteggi Z in Python

Possiamo calcolare i punteggi z in Python utilizzando scipy.stats.zscore , che utilizza la seguente sintassi:

scipy.stats.zscore(a, axis=0, ddof=0, nan_policy=’propagate’)

Oro:

  • a : un oggetto di tipo array contenente dati
  • asse : l’asse lungo il quale calcolare i punteggi z. Il valore predefinito è 0.
  • ddof : correzione dei gradi di libertà nel calcolo della deviazione standard. Il valore predefinito è 0.
  • nan_policy : come gestire quando l’input contiene nan. Il valore predefinito è propagate, che restituisce nan. ‘raise’ genera un errore e ‘omit’ esegue calcoli ignorando i valori nan.

Gli esempi seguenti illustrano come utilizzare questa funzione per calcolare i punteggi z per array numpy unidimensionali, array numpy multidimensionali e Pandas DataFrames.

Array unidimensionali Numpy

Passaggio 1: importa i moduli.

 import pandas as pd
import numpy as np
import scipy.stats as stats

Passaggio 2: crea una tabella di valori.

 data = np.array([6, 7, 7, 12, 13, 13, 15, 16, 19, 22])

Passaggio 3: calcola i punteggi z per ciascun valore nella tabella.

 stats.zscore(data)

[-1.394, -1.195, -1.195, -0.199, 0, 0, 0.398, 0.598, 1.195, 1.793]

Ogni punteggio z ci dice quante deviazioni standard un singolo valore è dalla media. Per esempio:

  • Il primo valore “6” nella tabella è 1.394 deviazioni standard sotto la media.
  • Il quinto valore di “13” nella tabella è 0 deviazione standard dalla media, ovvero è uguale alla media.
  • L’ultimo valore di “22” nella tabella è 1.793 deviazioni standard sopra la media.

Array multidimensionali Numpy

Se disponiamo di un array multidimensionale, possiamo utilizzare il parametro axis per specificare che vogliamo calcolare ciascun punteggio z relativo al proprio array. Ad esempio, supponiamo di avere il seguente array multidimensionale:

 data = np.array([[5, 6, 7, 7, 8],
                 [8, 8, 8, 9, 9],
                 [2, 2, 4, 4, 5]])

Possiamo utilizzare la seguente sintassi per calcolare i punteggi z per ciascuna tabella:

 stats.zscore(data, axis=1)

[[-1.569 -0.588 0.392 0.392 1.373]
[-0.816 -0.816 -0.816 1.225 1.225]
[-1.167 -1.167 0.5 0.5 1.333]]

I punteggi z per ogni singolo valore vengono visualizzati rispetto alla tabella in cui si trovano. Per esempio:

  • Il primo valore di “5” nella prima tabella è 1.159 deviazioni standard sotto la media della tabella.
  • Il primo valore di “8” nella seconda tabella è 0,816 deviazioni standard sotto la media della tabella.
  • Il primo valore di “2” nella terza tabella è 1.167 deviazioni standard sotto la media della tabella.

Pandas Data Frames

Supponiamo invece di avere un Pandas DataFrame:

 data = pd.DataFrame(np.random.randint(0, 10, size=(5, 3)), columns=['A', 'B', 'C'])
data

ABC
0 8 0 9
1 4 0 7
2 9 6 8
3 1 8 1
4 8 0 8

Possiamo utilizzare la funzione apply per calcolare lo z-score dei singoli valori per colonna:

 data.apply(stats.zscore)

          ABC
0 0.659380 -0.802955 0.836080
1 -0.659380 -0.802955 0.139347
2 0.989071 0.917663 0.487713
3 -1.648451 1.491202 -1.950852
4 0.659380 -0.802955 0.487713

I punteggi z per ogni singolo valore vengono visualizzati in relazione alla colonna in cui si trovano. Per esempio:

  • Il primo valore di “8” nella prima colonna è 0,659 deviazioni standard sopra il valore medio della sua colonna.
  • Il primo valore “0” nella seconda colonna è 0,803 deviazioni standard inferiori al valore medio nella sua colonna.
  • Il primo valore di “9” nella terza colonna è 0,836 deviazioni standard sopra il valore medio della sua colonna.

Risorse addizionali:

Come calcolare i punteggi Z in Excel
Come calcolare i punteggi Z in SPSS
Come calcolare i punteggi Z su una calcolatrice TI-84

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *