Calcolatrice del coefficiente di correlazione e della covarianza (con diagramma di dispersione e retta di regressione)
Scrivi i due insiemi di dati di cui vuoi studiare il legame, ciascuno separato da punto e virgola ( ; ). Vengono calcolati il coefficiente di correlazione r, la covarianza e l’equazione della retta di regressione, e la retta di regressione viene disegnata sopra un diagramma di dispersione.
Indice
-
Cosa puoi fare in questa pagina
-
A cosa serve questo calcolo?
-
Come si usa
-
Formule e figure
-
Simboli e termini
-
Cosa conviene sapere prima
-
Come calcolarlo con Excel
-
Come calcolarlo con Fogli Google
-
Come calcolarlo con Python
-
La formula in LaTeX e in altre notazioni matematiche (da copiare)
-
Come chiedere a ChatGPT di fare il calcolo
-
I punti di forza di DataChef
-
Funzioni correlate
-
Tutte le calcolatrici di NumberChef
Cosa puoi fare in questa pagina
- Scrivi i dati a coppie \(x\) e \(y\) (due variabili) e ottieni subito il coefficiente di correlazione \(r\) e la covarianza \(s_{xy}\)
- Vengono calcolati insieme anche la media, la varianza e la deviazione standard di \(x\) e di \(y\), e l’equazione della retta di regressione (dei minimi quadrati) \(y = ax + b\)
- Un diagramma di dispersione viene disegnato con sopra la retta di regressione e il punto delle medie, così vedi a colpo d’occhio come sono legati i due insiemi di dati (sale verso destra, scende verso destra o è sparso)
- Viene mostrata anche una lettura indicativa del valore, come «correlazione positiva forte» o «correlazione nulla o quasi»
- In questa stessa pagina trovi anche una spiegazione semplice delle formule e le formule pronte da copiare per Excel, Fogli Google e Python
A cosa serve questo calcolo?
Un uso classico del coefficiente di correlazione è controllare con i dati, e non a sensazione, se «i voti salgono quando si studia di più». Calcola \(r\) a partire dalle coppie di ore di studio e voto di ogni studente e un solo numero ti dice quanto è forte il legame.
Le scuole e i centri di ripetizioni a volte guardano la correlazione tra le materie nelle verifiche e nelle simulazioni di prove (chi è bravo in matematica va bene anche in scienze?) per orientare l’insegnamento. Ma ricorda che una correlazione non dimostra la causa, come in «basta studiare più a lungo per alzare sempre il voto».
È noto che le vendite di gelati e bevande fredde hanno una correlazione positiva con la temperatura, mentre quelle di zuppe calde e cioccolata calda hanno una correlazione negativa. Negozi e ristoranti controllano la correlazione nei dati passati di «temperatura e unità vendute» e cambiano le quantità da ordinare e cosa esporre in base alle previsioni del tempo.
Facendo un passo in più e trovando la retta di regressione, puoi fare una stima concreta come «se domani sono previsti 30 °C, venderemo circa tante unità».
Negli investimenti, il coefficiente di correlazione tra i movimenti dei prezzi di attività come azioni, obbligazioni e oro è uno strumento di base della diversificazione. Combinare attività con una correlazione bassa (o negativa) significa che, quando una scende, l’altra ha meno probabilità di scendere, e questo mantiene più piccoli i saliscendi dell’intero portafoglio.
Anche i fondi pensione e i fondi comuni di investimento analizzano sempre le correlazioni tra le attività prima di decidere come ripartire il denaro.
Quando in una fabbrica aumentano i difetti, controllare il coefficiente di correlazione tra il tasso di difetti e condizioni come la temperatura di lavorazione, l’umidità e le ore di funzionamento delle macchine aiuta a restringere quali condizioni si muovono insieme ai difetti. È un metodo così di base che il diagramma di dispersione usato per questa analisi è uno dei «sette strumenti della qualità».
Una volta trovata una condizione con una correlazione forte, il passo successivo è un esperimento che cambia la condizione per confermare il nesso di causa ed effetto, e da lì si procede con i miglioramenti.
Anche la ricerca sugli stili di vita e la salute, come «attività fisica e pressione» o «fumo e rischio di una malattia», comincia controllando la correlazione nei dati.
È anche il luogo in cui si impara a non saltare dalla correlazione alla causa. Un esempio famoso è che le vendite di gelati e gli annegamenti hanno una correlazione positiva. Entrambi aumentano semplicemente per un fattore comune, il caldo. La ricerca medica usa molti metodi per eliminare l’effetto di questi terzi fattori e avvicinarsi al vero nesso di causa ed effetto.
Formule e figure
Simboli e termini
Simboli
| \(x_i,\ y_i\) | ics con i, ipsilon con i | Il valore \(x\) e il valore \(y\) della \(i\)-esima coppia. (Esempio: le ore di studio \(x_3\) e il voto \(y_3\) del 3º studente.) \(i\) è una lettera spesso usata come indice (numero di posizione). |
| \(n\) | enne | Il numero di coppie, dall’iniziale di «numero». (Esempio: per le coppie di 5 studenti, \(n = 5\)) |
| \(\bar{x},\ \bar{y}\) | ics con la barra, ipsilon con la barra | Le medie di \(x\) e di \(y\). Una barra sopra una lettera è il modo abituale di indicare una media. |
| \(x_i - \bar{x}\) | ics con i meno ics con la barra | Lo scarto di \(x\). Indica di quanto ogni valore si allontana dalla media di \(x\). \(y_i - \bar{y}\) è lo scarto di \(y\). |
| \(s_{xy}\) | esse con ics ipsilon | La covarianza di \(x\) e \(y\), la media dei prodotti degli scarti. Indica la tendenza dei due insiemi di dati a muoversi insieme. La lettera \(s\) si usa di solito per le grandezze della stessa famiglia della deviazione standard. |
| \(s_x,\ s_y\) | esse con ics, esse con ipsilon | Le deviazioni standard di \(x\) e di \(y\) (quanto è dispersa ciascuna). Sono le radici quadrate delle varianze. |
| \(s_x^2,\ s_y^2\) | esse con ics al quadrato, esse con ipsilon al quadrato | Le varianze di \(x\) e di \(y\), la media degli scarti al quadrato (divisa per \(n\)). |
| \(r\) | erre | Il coefficiente di correlazione. Si dice che la lettera venga dalla \(r\) di «correlazione» o di «relazione». Vale sempre tra \(-1\) e \(1\). |
| \(\sum\) | sigma (simbolo di sommatoria) | Un simbolo che significa «somma tutto». \(\sum_{i=1}^{n}\) si legge «la somma da \(i = 1\) a \(n\)». |
| \(a,\ b\) | a, b | Il coefficiente angolare e l’intercetta della retta di regressione \(y = ax + b\). Hanno lo stesso ruolo di \(m\) e \(q\) in \(y = mx + q\). |
Termini
| correlazione | Una tendenza lineare tra due insiemi di dati, per cui quando uno aumenta anche l’altro aumenta (o diminuisce). Più è forte, più i punti del diagramma di dispersione stanno vicini a una retta. Due grandezze possono essere correlate senza che una sia la causa dell’altra. |
| correlazione positiva | La tendenza di \(y\) ad aumentare quando \(x\) aumenta. Il diagramma di dispersione sale verso destra e il coefficiente di correlazione è positivo. |
| correlazione negativa | La tendenza di \(y\) a diminuire quando \(x\) aumenta. Il diagramma di dispersione scende verso destra e il coefficiente di correlazione è negativo. |
| coefficiente di correlazione | Un solo numero da \(-1\) a \(1\) che mostra l’intensità e il verso di una correlazione (si chiama anche coefficiente di correlazione lineare di Bravais-Pearson). Si trova dividendo la covarianza per il prodotto delle deviazioni standard di \(x\) e \(y\). Poiché non dipende dalle unità di misura, permette di confrontare l’intensità tra dati diversi. |
| covarianza | La media dei prodotti degli scarti di \(x\) e di \(y\). Se è positiva indica una tendenza a salire verso destra, se è negativa a scendere verso destra. Questa pagina divide per il numero di coppie \(n\) (la versione per la popolazione). |
| diagramma di dispersione | Un grafico che disegna i dati a coppie \((x,\ y)\) come punti su un piano cartesiano. Dalla disposizione dei punti si legge a colpo d’occhio il verso e l’intensità di una correlazione. Si chiama anche grafico a dispersione o nuvola di punti. |
| variabile | Una grandezza che si misura come dato, come l’altezza, il voto o la temperatura. Questa pagina studia il legame tra due variabili, \(x\) e \(y\). |
| scarto | La differenza tra un valore e la media. Se è positivo il valore sta sopra la media, se è negativo sta sotto. La covarianza, la varianza e la deviazione standard si costruiscono tutte con gli scarti. |
| varianza | La media degli scarti al quadrato. Indica quanto è grande la dispersione dei dati. Compare al denominatore del coefficiente angolare della retta di regressione. |
| deviazione standard | La radice quadrata della varianza. La sua unità di misura è la stessa dei dati, quindi è comoda come misura della dispersione. Compare al denominatore del coefficiente di correlazione. Si chiama anche scarto quadratico medio. |
| retta di regressione (retta dei minimi quadrati) | La retta \(y = ax + b\) che si adatta meglio alla nuvola di punti di un diagramma di dispersione. Si usa per prevedere un valore \(y\) a partire da un valore \(x\). |
| metodo dei minimi quadrati | Un modo di scegliere il coefficiente angolare e l’intercetta di una retta in modo che gli scarti verticali (gli errori) tra ogni punto e la retta, elevati al quadrato e sommati, siano più piccoli possibile. La retta di regressione è la retta scelta così. |
| valore anomalo (outlier) | Un valore molto lontano dagli altri punti. Il coefficiente di correlazione risente molto dei valori anomali, quindi va sempre controllato insieme al diagramma di dispersione. |
| nesso di causalità (causa ed effetto) | Una relazione in cui una cosa è la causa e l’altra è il suo risultato. Una correlazione (muoversi insieme) da sola non dimostra la causalità; può esserci semplicemente una causa comune dietro a entrambe (un terzo fattore, detto anche variabile nascosta). |
Cosa conviene sapere prima
Ecco che cosa conviene sapere per usare il calcolo di questa pagina capendone il significato, e non solo premendo il pulsante.
Se ti blocchi, tornare a ripassare questi argomenti è la via più rapida.
| La media (classe 5ª della primaria, 10-11 anni) |
|
| Numeri relativi (classe 1ª della secondaria di primo grado, 11-12 anni) |
|
| Piano cartesiano e funzioni lineari (dalla primaria alla secondaria di primo grado, 10-14 anni) |
|
| Radici quadrate (classe 2ª della secondaria di primo grado, 12-13 anni) |
|
| Analisi dei dati (scuola secondaria di secondo grado, 14-19 anni) |
|
Come calcolarlo con Excel
| x della coppia 1 | 1 |
| x della coppia 2 | 2 |
| x della coppia 3 | 3 |
| x della coppia 4 | 4 |
| x della coppia 5 | 5 |
| y della coppia 1 | 2 |
| y della coppia 2 | 4 |
| y della coppia 3 | 4 |
| y della coppia 4 | 4 |
| y della coppia 5 | 6 |
| Covarianza s_xy (si divide per n) | =COVARIANZA.P(B1:B5;B6:B10) |
| (Per confronto) covarianza campionaria, si divide per n−1 | =COVARIANZA.C(B1:B5;B6:B10) |
| x della coppia 1 | 1 |
| x della coppia 2 | 2 |
| x della coppia 3 | 3 |
| x della coppia 4 | 4 |
| x della coppia 5 | 5 |
| y della coppia 1 | 2 |
| y della coppia 2 | 4 |
| y della coppia 3 | 4 |
| y della coppia 4 | 4 |
| y della coppia 5 | 6 |
| Coefficiente di correlazione r | =CORRELAZIONE(B1:B5;B6:B10) |
| (Per confronto) lo stesso valore con PEARSON | =PEARSON(B1:B5;B6:B10) |
| x della coppia 1 | 1 |
| x della coppia 2 | 2 |
| x della coppia 3 | 3 |
| x della coppia 4 | 4 |
| x della coppia 5 | 5 |
| y della coppia 1 | 2 |
| y della coppia 2 | 4 |
| y della coppia 3 | 4 |
| y della coppia 4 | 4 |
| y della coppia 5 | 6 |
| Coefficiente angolare a | =PENDENZA(B6:B10;B1:B5) |
| Intercetta b | =INTERCETTA(B6:B10;B1:B5) |
| x della coppia 1 | 1 |
| x della coppia 2 | 2 |
| x della coppia 3 | 3 |
| x della coppia 4 | 4 |
| x della coppia 5 | 5 |
| y della coppia 1 | 2 |
| y della coppia 2 | 4 |
| y della coppia 3 | 4 |
| y della coppia 4 | 4 |
| y della coppia 5 | 6 |
| Media di x x̄ | =MEDIA(B1:B5) |
| Media di y ȳ | =MEDIA(B6:B10) |
| Varianza di x s_x² | =VAR.POP(B1:B5) |
| Deviazione standard di x s_x | =DEV.ST.POP(B1:B5) |
| Varianza di y s_y² | =VAR.POP(B6:B10) |
| Deviazione standard di y s_y | =DEV.ST.POP(B6:B10) |
La covarianza della prima tabella è 1,6 (la covarianza campionaria è 2), il coefficiente di correlazione della seconda tabella è circa 0,8944 e la terza tabella dà un coefficiente angolare di 0,8 e un’intercetta di 1,6.
Attenzione: le funzioni per la covarianza sono due. COVARIANZA.P è la covarianza che divide per n (come questa calcolatrice) e COVARIANZA.C è la covarianza campionaria che divide per n − 1. Nelle vecchie versioni di Excel (2007 e precedenti) usa COVARIANZA al posto di COVARIANZA.P.
CORRELAZIONE e PEARSON danno lo stesso coefficiente di correlazione (r è uguale sia che si divida per n sia per n − 1, quindi non c’è nessuna scelta da fare).
PENDENZA e INTERCETTA vogliono «l’intervallo y, l’intervallo x» in quest’ordine (attenzione: x non viene per primo).
Per usare un numero diverso di coppie, aggiungi (o togli) righe di numeri, poi cambia «B1:B5» e «B6:B10» nelle formule con i tuoi intervalli di dati.
Come calcolarlo con Fogli Google
| x della coppia 1 | 1 |
| x della coppia 2 | 2 |
| x della coppia 3 | 3 |
| x della coppia 4 | 4 |
| x della coppia 5 | 5 |
| y della coppia 1 | 2 |
| y della coppia 2 | 4 |
| y della coppia 3 | 4 |
| y della coppia 4 | 4 |
| y della coppia 5 | 6 |
| Covarianza s_xy (si divide per n) | =COVARIANZA(B1:B5;B6:B10) |
| x della coppia 1 | 1 |
| x della coppia 2 | 2 |
| x della coppia 3 | 3 |
| x della coppia 4 | 4 |
| x della coppia 5 | 5 |
| y della coppia 1 | 2 |
| y della coppia 2 | 4 |
| y della coppia 3 | 4 |
| y della coppia 4 | 4 |
| y della coppia 5 | 6 |
| Coefficiente di correlazione r | =CORRELAZIONE(B1:B5;B6:B10) |
| x della coppia 1 | 1 |
| x della coppia 2 | 2 |
| x della coppia 3 | 3 |
| x della coppia 4 | 4 |
| x della coppia 5 | 5 |
| y della coppia 1 | 2 |
| y della coppia 2 | 4 |
| y della coppia 3 | 4 |
| y della coppia 4 | 4 |
| y della coppia 5 | 6 |
| Coefficiente angolare a | =PENDENZA(B6:B10;B1:B5) |
| Intercetta b | =INTERCETTA(B6:B10;B1:B5) |
In Fogli Google, la covarianza che divide per n si trova con la funzione COVARIANZA (la stessa definizione di questa calcolatrice; anche il nome COVARIANZA.P richiama la stessa funzione). Il coefficiente di correlazione usa CORRELAZIONE, come Excel.
Come calcolarlo con Python
import statistics
xs = [1, 2, 3, 4, 5] # dati x (esempio: ore di studio)
ys = [2, 4, 4, 4, 6] # dati y (esempio: voto di una verifica)
n = len(xs)
mean_x = statistics.mean(xs) # media di x
mean_y = statistics.mean(ys) # media di y
# covarianza s_xy (versione per la popolazione: si divide per n)
covariance = sum((x - mean_x) * (y - mean_y) for x, y in zip(xs, ys)) / n
sd_x = statistics.pstdev(xs) # deviazione standard di x (si divide per n)
sd_y = statistics.pstdev(ys) # deviazione standard di y (si divide per n)
r = covariance / (sd_x * sd_y) # coefficiente di correlazione
slope = covariance / statistics.pvariance(xs) # coefficiente angolare a della retta di regressione
intercept = mean_y - slope * mean_x # intercetta b della retta di regressione
print(f"Covarianza s_xy: {covariance}")
print(f"Coefficiente di correlazione r: {r}")
# l’intercetta può mostrare un errore in virgola mobile (1.5999...), quindi la arrotondiamo a 10 cifre significative
print(f"Retta di regressione: y = {slope:.10g}x + {intercept:.10g}")
La formula in LaTeX e in altre notazioni matematiche (da copiare)
s_xy = {(x₁ − x̄)(y₁ − ȳ) + … + (xₙ − x̄)(yₙ − ȳ)} ÷ n
s_{xy} = \dfrac{1}{n}\sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y})
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>s</mi><mrow><mi>x</mi><mi>y</mi></mrow></msub>
<mo>=</mo>
<mfrac><mn>1</mn><mi>n</mi></mfrac>
<munderover>
<mo>∑</mo>
<mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow>
<mi>n</mi>
</munderover>
<mrow>
<mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>−</mo><mover><mi>x</mi><mo>¯</mo></mover><mo>)</mo>
<mo>(</mo><msub><mi>y</mi><mi>i</mi></msub><mo>−</mo><mover><mi>y</mi><mo>¯</mo></mover><mo>)</mo>
</mrow>
</mrow>
</math>
s_(xy) = (1/n) sum_(i=1)^n (x_i - bar x)(y_i - bar y)
Covariance[xdata, ydata]*(Length[xdata] - 1)/Length[xdata] (* Covariance divide per n-1, quindi questo lo converte nel valore diviso per n *)
s_xy := add((x[i] - x_bar)*(y[i] - y_bar), i = 1 .. n)/n;
s_xy = mean((x - mean(x)).*(y - mean(y)));
s_xy = (1/n) ∑_(i=1)^n (x_i − x̄)(y_i − ȳ)
r = s_xy ÷ (s_x × s_y)
r = \dfrac{s_{xy}}{s_x\, s_y}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>r</mi>
<mo>=</mo>
<mfrac>
<msub><mi>s</mi><mrow><mi>x</mi><mi>y</mi></mrow></msub>
<mrow><msub><mi>s</mi><mi>x</mi></msub><msub><mi>s</mi><mi>y</mi></msub></mrow>
</mfrac>
</mrow>
</math>
r = s_(xy) / (s_x s_y)
Correlation[xdata, ydata]
r := s_xy/(s_x*s_y);
R = corrcoef(x, y); r = R(1, 2);
r = s_xy/(s_x s_y)
y = ax + b, a = s_xy ÷ s_x², b = ȳ − a·x̄
y = ax + b, \quad a = \dfrac{s_{xy}}{s_x^{2}}, \quad b = \bar{y} - a\bar{x}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>y</mi><mo>=</mo><mi>a</mi><mi>x</mi><mo>+</mo><mi>b</mi>
<mo>,</mo><mspace width="1em"/>
<mi>a</mi><mo>=</mo>
<mfrac>
<msub><mi>s</mi><mrow><mi>x</mi><mi>y</mi></mrow></msub>
<msubsup><mi>s</mi><mi>x</mi><mn>2</mn></msubsup>
</mfrac>
<mo>,</mo><mspace width="1em"/>
<mi>b</mi><mo>=</mo>
<mover><mi>y</mi><mo>¯</mo></mover>
<mo>−</mo>
<mi>a</mi><mover><mi>x</mi><mo>¯</mo></mover>
</mrow>
</math>
y = a x + b, a = s_(xy)/s_x^2, b = bar y - a bar x
lm = LinearModelFit[Transpose[{xdata, ydata}], t, t]; lm["BestFitParameters"]
a := s_xy/s_x^2; b := y_bar - a*x_bar;
p = polyfit(x, y, 1); % p(1) = coefficiente angolare a, p(2) = intercetta b
y = ax + b, a = s_xy/s_x^2, b = ȳ − ax̄
Come chiedere a ChatGPT di fare il calcolo
Sei un assistente per il calcolo statistico. Esegui il calcolo seguente eseguendo davvero del codice Python e basa la risposta solo sui numeri del risultato dell’esecuzione (non rispondere con calcoli a mente o ipotesi). Per i dati a coppie seguenti, calcola ciascuno dei valori indicati. x: 1 ; 2 ; 3 ; 4 ; 5 y: 2 ; 4 ; 4 ; 4 ; 6 1. Le medie di x e di y, e le loro varianze e deviazioni standard dividendo per n 2. La covarianza s_xy (la somma dei prodotti degli scarti divisa per il numero di coppie n; non dividere per n − 1) 3. Il coefficiente di correlazione r 4. Il coefficiente angolare a e l’intercetta b della retta di regressione y = ax + b (minimi quadrati) Mostra le formule che hai usato e i numeri del risultato dell’esecuzione.
Come si usa
-
1Inserisci i numeriScrivi nei campi i numeri con cui vuoi fare il calcolo
-
2CalcolaFai clic sul pulsante «Calcola»
-
3Guarda il risultatoIl risultato compare subito. Nella stessa pagina trovi anche lo svolgimento del calcolo e la spiegazione della formula
I punti di forza di DataChef
Nessuna competenza richiesta, semplice e intuitivo
Nessun dato personale richiesto
Il file viene eliminato automaticamente dopo il download
Nessun obbligo di attribuzione
Nessuna autorizzazione preventiva necessaria