Lascia parlare… Excel!

annuncio pubblicitario
[ Commenti
Automatici
]
1
LASCIA PARLARE… EXCEL!
Uno dei sogni nel cassetto di ogni analista è il commento automatico ai valori numerici
contenuti in una tabella o un foglio di lavoro, cioè la creazione di una tabella parlante.
Fra le possibilità di utilizzo di Excel vi è anche l’analisi e il confronto dei dati e la scelta
di commenti testuali da riportare in una zona prestabilita: in questo modo un Report
diventa leggibile anche da persone che, per mestiere, non sono abituate a leggere fitte
tabelle di numeri.
Queste persone saranno felici di non dover incrociare colonne e righe per capire se le
vendite vanno bene o meno e si accontenteranno di un semplice “le vendite crescono a
un ritmo molto sostenuto” o “le vendite stanno entrando in un momento di crisi”. Ma la
loro felicità è, purtroppo, proporzionale alla complessità del foglio che dovremo
costruire.
In questo articolo spiegheremo come costruire un foglio di calcolo che offra commenti
testuali automatici sulla base dei dati inseriti in un certo intervallo di celle.
Per fare bene questo tipo di operazioni occorre – oltre ad avere una solida base di Excel
- conoscere le logiche delle seguenti funzioni:











SE(), E(), O()
CONCATENA()
TESTO()
CODICE.CARATT()
CERCA.VERT()
MEDIA()
GRANDE() e PICCOLO()
DEV.ST()
CORRELAZIONE()
TENDENZA()
MEDIA()
1
SOMMARIO
Fu n zi o n i d i a na l is i s ta t is t ic a
2
La Me d i a
2
Le f u n zi o n i M IN( ) e M AX ()
2
La D e v i a zi o ne St a nd ar d
3
La c or r e l a zi o n e
4
La T en d e n za
5
Q u adr i am o il c er c h i o
6
Funzioni di analisi statistica
Quelle che seguono sono funzioni che permettono l’analisi critica dei dati. Prima di
entrare nel vivo delle funzioni, ricordiamo che esse diventano realmente affidabili
quando la base di dati (serie) è sufficientemente ampia.
Inoltre, è sempre raccomandabile verificare se le analisi matematiche trovano conforto
nelle dinamiche reali: un risultato va sempre ponderato prima di venderlo come
assoluto.
La Media
Si tratta di una funzione di grande semplicità, ma la cui valenza euristica è senz’altro
importante.
La sintassi prevede un unico argomento, cioè la serie di dati sulla quale calcolare la
media:
=MEDIA(num1, num2, num3…)
La funzione è del tutto identica come logica di funzionamento a SOMMA(), pertanto
valgono le stesse regole nella selezione dei dati.
Da un punto di vista teorico, tuttavia, è importante mettere a fuoco i dati sui quali si
vuole calcolare la media. In un mercato in forte crescita è utile, per esempio, calcolare
la media sui mesi più recenti, mentre in mercati stabili è meglio estendere la stima a
periodi più lunghi.
Le funzioni MIN() e MAX()
Si tratta di due funzioni molto semplici e utili nell’analisi dei dati e servono per
determinare il valore più alto e più basso di una serie di dati.
Anche in questo caso queste funzioni richiedono un unico argomento.
=MIN(num1, num2, num3…)
=MAX(num1, num2, num3…)
2
Basta inserire il riferimento alla serie di dati sulla quale calcolare il minimo e il massimo
come argomento ed Excel restituirà i risultati attesi.
La Deviazione Standard
La Deviazione Standard o Scarto Quadratico Medio, simbolizzata con la lettera greca σ
(sigma), restituisce la distanza media dei dati dalla media degli stessi. Per comprendere
meglio il significato di questa frase, facciamo un esempio.
Consideriamo le seguenti serie:
Serie 1: 99, 100, 101
Serie 2: 0, 100, 200
La media di entrambe le serie è sempre 100, ma è ovvio che la Serie 2 è molto più
dispersa rispetto alla media. La deviazione standard ci dice qual è il livello di variabilità
della serie: la serie 1 è molto lineare, mentre la 2 è più altalenante.
La formula della Deviazione Standard DEV.ST() calcola le differenze rispetto alla media e
le eleva al quadrato (così i valori negativi spariscono e nel sommare le differenze non
otteniamo 0). La somma di queste differenze al quadrato diviso il numero di elementi
della serie meno uno ci restituisce un altro indicatore interessante che si chiama
Varianza. La radice quadrata della varianza è – finalmente – lo scarto quadratico
medio.
Tutto questo viene sintetizzato in una funzione estremamente semplice che ha gli stessi
argomenti della funzione MEDIA():
=DEV.ST( num1, num2, num3…)
Le serie precedenti avevano entrambe media = 100, ma il calcolo della deviazione
standard rivela la loro diversità: la serie 1 ha σ = 1, mentre la serie 2 ha un σ = 100.
In questo esempio, è evidente che la serie 1 è più stabile della 2 poiché la media delle
due serie è la stessa, ma in altri casi questa valutazione non è così semplice.
Consideriamo le seguenti serie:
Serie 1: 124, 507, 945  media = 525, σ = 411
Serie 2: 4.791, 9.875, 16.427  media = 10.364, σ = 5.833
Qual è la serie con minore variabilità?
In questo esempio, se prendessimo in considerazione solo σ non giungeremmo alla
corretta valutazione. Occorre, infatti, rapportare il primo con la media:
Serie 1: σ / media = 411 / 525 = 78,2%
Serie 2: σ / media = 5.833 / 16.427 = 56,28%
La seconda serie è più “stabile” o più “lineare” della seconda.
3
La correlazione
È un calcolo che mette a confronto due serie per evidenziare se esse hanno uno stesso
andamento o se, viceversa, non esiste alcuna relazione tra esse. Questo tipo di analisi è
molto utile per capire se, per esempio, al variare di una variabile un’altra aumenta o
diminuisce. Oppure, può essere utile per valutare se esiste una certa stagionalità in una
certa grandezza (vendite, costi o altro) nei diversi periodi dell’anno.
Il calcolo statistico che sta alla base di questa analisi è la Covarianza ed è un calcolo
piuttosto complesso, sul quale possiamo tranquillamente sorvolare, visto che Excel ci
offre la soluzione senza troppa fatica.
Anche in questo caso, vediamo un esempio per comprendere meglio il concetto.
Osserviamo le seguenti serie di dati:
Serie 1: 2, 4, 6, 8, 10, 12, 14, 16
Serie 2: 16, 14, 12, 10, 8, 6, 4, 2
Tra queste due serie esiste una forte relazione, anche se inversa: al crescere dei valori
della prima serie, decrescono i valori della seconda. La correlazione tra i dati è
perfetta, ma negativa quindi il coefficiente di correlazione che otterremo è -1.
Vediamo un altro esempio:
Serie 1: 1, 2, 3, 4, 5, 6, 7, 8
Serie 2: 2, 4, 6, 8, 10, 12, 14, 16
In questo caso la correlazione è
altrettanto perfetta, ma è anche
diretta: la prima serie è la metà
della seconda.
In generale, quando esiste una
correlazione
il
valore
del
coefficiente tende a essere
vicino a 1. Quando non esiste
relazione il valore della funzione
restituirà valori vicino a 0. Un
coefficiente di correlazione pari
a 0,5 indica che non vi è una
debolissima correlazione. Sotto
questo valore, si può affermare
che la correlazione non esiste.
Se la correlazione è negativa, ma
esiste, otterremo valori vicino a
-1.
La funzione Excel per calcolare
la
correlazione
è
CORRELAZIONE() e ha due
argomenti:
CORRELAZIONE(matrice1; matrice2)
4
I due argomenti sono semplicemente due riferimenti a due intervalli di dati.
La Tendenza
Il Trend o Tendenza è un calcolo che, data una serie storica di dati, permette di
stimare quale sarà il dato tra 1, 2, n periodi successivi all’ultimo periodo noto. In altre
parole, siamo a fine anno, conosciamo quale è stato il prezzo di un’azione negli ultimi
10 mesi e vogliamo stimare quale sarà il valore sulla base delle a gennaio: questa
funzione assolve a questo compito.
L’algoritmo di calcolo che sta alla base è il metodo dei minimi quadrati, cioè il calcolo
di una retta che interpola i punti rappresentati dalla serie storica di coppie x e y in un
sistema cartesiano. La funzione TENDENZA() di Excel serve per restituire le x successive
ai periodi dati.
Per chi legge queste righe e ha ricordi di algebra che si perdono nelle pieghe del tempo,
ricordiamo che parleremo della famosa equazione y = mx + b, dove y rappresenta il
punto da stimare, m è la pendenza della retta e b il punto di incrocio tra la retta e
l’asse delle ordinate (intercetta).
La funzione tendenza non fa altro che calcolare il valore di m e di b e calcola il valore di
y al variare di x.
Nella quasi totalità delle applicazioni di questo calcolo, x rappresenta il tempo. Per i
motivi ben noti a chi conosce l’uso strategico degli strumenti grafici, esso viene
rappresentato come asse delle ascisse (in orizzontale).
La sintassi della funzione prevede 4 argomenti, di cui uno facoltativo:
TENDENZA ( y_nota; x_nota; nuova_x; cost )




y_nota rappresenta i valori osservati, per esempio il prezzo delle azioni di un
certo periodo
x_nota è la serie temporale relativa ai valori osservati, per esempio il numero dei
mesi. È una serie di numeri che può essere rappresentata da date (anch’esse
numeri seriali) o semplici numeri che rappresentano un anno o un mese.
Attenzione! Se inseriamo due date anziché due numeri potremmo non avere lo
stesso risultato. In altre parole se, per rappresentare il mesi di febbraio, marzo e
aprile inseriamo 2, 3, 4 oppure 28/02/05, 31/03/05, 30/04/05 il risultato sarà
simile ma non uguale perché nel primo caso la distanza è 1, mentre nei secondi la
distanza varia tra 31 e 30.
nuova_x è il periodo per il quale vogliamo stimare il valore della y
cost è un valore logico che assume VERO o FALSO a seconda se desideriamo o
meno che il valore b della funzione intercetti l’asse delle ordinate al punto 0. È
una condizione non molto frequente e di solito conviene lasciarla al valore di
default che è VERO
Il numero di valori
di y_nota e x_nota
devono essere lo
stesso:
non
possiamo avere 10
prezzi e 9 valori
temporali.
5
Vediamo un esempio.
Immaginiamo di avere il numero di unità vendute fino a settembre e di voler stimare il
loro valore per i mesi rimanenti fino alla fine dell’anno. La serie di dati è la seguente:
Periodo
Valore
1
1.000
2
1.300
3
1.324
4
1.200
5
1.341
6
1.275
7
1.450
8
1.345
9
1.570
Se disponiamo questi valori nell’intervallo A1:B1, e nella cella A12 scriviamo “10”, cioè
il numero relativo al periodo successivo all’ultimo della serie, la formula da inserire in
B12 sarà:
=TENDENZA( $B$2:$B$10; $A$2:$A$10; A12)
La formula restituirà il valore stimato usando il metodo dei minimi quadrati.
Quadriamo il cerchio
In questo paragrafo vedremo alcuni esempi sull’uso delle funzioni precedentemente
spiegate per far sì che Excel esprima un giudizio testuale. Questi esempi sono integrati
in un modello liberamente scaricabile, nel quale è possibile modificare i dati per vedere
cosa dirà “l’oracolo”.
Inseriamo i dati sui quali eseguire le analisi nel modello. Per congruenza rispetto ai
valori e che analizzeremo, nel range A1:C13 inseriamo i seguenti dati:
Periodo
Serie1
Serie2
1
100
80
2
120
120
3
130
130
4
140
150
5
110
180
6
115
140
7
150
140
8
125
131
9
145
190
10
160
170
11
171
290
12
140
100
6
Osservando i valori della Serie 2, appare chiaro che il primo valore e l’undicesimo sono
molto più alti o molto più bassi rispetto alla serie stessa e sono senz’altro dei temi da
approfondire. Se la serie rappresentasse delle vendite, potrebbero essere degli effetti di
stock o delle diminuzioni della domanda: in ogni caso, dei motivi di approfondimento.
Come fare per far sì che Excel evidenzi automaticamente un valore troppo alto o troppo
basso?
Per prima cosa, dobbiamo calcolare un valore di stima che rappresenti da solo l’intera
serie. Lo stimatore per eccellenza, con i suoi pregi e i suoi difetti, è la media. Mettendo
a rapporto ogni valore della serie con la media, scopriamo valori eccessivamente alti o
bassi. Assumiamo che giudichiamo eccessivamente alto un rapporto maggiore o uguale a
1,5 ed eccessivamente basso un rapporto minore o uguale a 0,5. Per individuare sia i
valori alti che i valori bassi basta considerare il valore assoluto del rapporto meno uno:
Stima = ass [(valore n / media) – 1]
In questo modo, potremo considerare come “anomali” tutti i valori maggiori o uguali a
0,5.
Vediamo come approcciare il problema con Excel proponendo un approfondimento sul
valore anomalo più evidente.
Calcoliamo la media delle due serie in B14:C14 utilizzando la formula MEDIA().
Ora eseguiamo un confronto con SE() verificando quali celle delle due serie hanno dei
rapporti superiori a 0,5. In E2 scriviamo:
=SE(ASS(B2/B$14-1)>=0,5;ASS(B2/B$14-1);0)
La formula verifica se il valore assoluto della cella B2 divisa per la media (B14) meno
uno, riporti un valore superiore a 0,5: se la condizione è vera viene riportato il rapporto,
mentre, in caso contrario, la formula riporta uno 0.
Copiamo questa formula nel range E2:F13.
Nel range E14:F14 calcoliamo il valore massimo della serie appena calcolata attraverso
la funzione MAX(). Se il valore massimo sarà 0, significherà che non vi è alcun valore
“anomalo”. Per questo utilizziamo una funzione SE() che riporterà un “no” nel caso non
vi siano valori anomali. In E14 inseriamo la seguente formula:
=SE(MAX(E2:E13)=0;"no";MAX(E2:E13))
7
Copiamo la formula in F14.
Nel range G2:G13, riportiamo il numero che rappresenta il periodo: questo sarà utile per
derivare l’eventuale valore anomalo con la funzione CERCA.VERT.
A questo punto possiamo creare una formula che ci dica qual è il periodo anomalo per
entrambe le serie e, per farlo, utilizziamo la funzione CERCA.VERT, preceduta da un SE()
che riporterà la frase testuale di analisi.
Nella cella E15 scriviamo:
=SE(E14="no";"";CERCA.VERT(E14;$E$2:$G$13;3;FALSO))
Nella cella F15, invece:
=SE(F14="no";"";CERCA.VERT(F14;$F$2:$G$13;2;FALSO))
Avremo ottenuto il numero dell’eventuale periodo con un picco anomalo. Ora proviamo
a comporre una frase che dica “Il x° periodo evidenzia un andamento anomalo”.
Il primo grande problema deriva dal fatto che potremo usare l’articolo il in tutti i casi
tranne quando ci troviamo di fronte all’undicesimo periodo. In questo caso, infatti
l’articolo diventa l’. Rileviamo questa complessità con un SE() che tenga conto anche del
caso in cui non vi siano picchi anomali.
In A17 scriveremo:
=SE(E15="";"La Serie 1 non presenta picchi anomali";SE(E15=11;"L'";"Il ")&E15&"° periodo
della Serie 1 evidenzia un picco anomalo")
8
In A18, invece:
=SE(F15="";"La Serie 2 non presenta picchi anomali";SE(F15=11;"L'";"Il ")&F15&"° periodo
della Serie 2 evidenzia un picco anomalo")
In A18 e A17 ora abbiamo due commenti relativi alle due serie.
Proviamo ora a stabilire il livello di correlazione tra le due serie. Per farlo, utilizzeremo
la funzione CERCA.VERT() con il quarto argomento su VERO, cioè con sfruttando
l’approssimazione.
A titolo esemplificativo, a fronte di un certo valore di correlazione, il commento che
riporteremo sarà “Le due serie presentano”:
Corr.
-1
-0,9
Commento
un andamento diametralmente opposto
un andamento opposto
-0,55
una relazione molto debole
-0,1
un andamento non correlato
0,1
una relazione molto debole
0,55
0,9
0,95
un andamento simile
un andamento molto simile
una forte relazione
Per esempio, se la correlazione ha un valore pari a 0,8 il commento sarà “Le due serie
hanno un andamento simile”, poiché l’approssimazione di CERCA.VERT() riporta il valore
immediatamente precedente a quello cercato, cioè 0,55.
Iniziamo a calcolare la correlazione nella cella F16:
=CORRELAZIONE(B2:B13;C2:C13)
La cella restituisce un valore pari a 0,659. Ora riportiamo il valore testuale attraverso la
funzione CERCA.VERT(). Per questo riportiamo la tabella sopra illustrata nel range J1:K9
e, in A19, scriviamo:
="Le due serie presentano "&CERCA.VERT(F16;$J$2:$K$9;2;VERO)
Come ultimo esempio proviamo a mettere insieme i tre testi prodotti inserendo dei
ritorni di carrello (carattere ASCII = 10). Per farlo utilizzeremo la funzione
CODICE.CARATT().
Prima di procedere all’inserimento, dobbiamo creare una fusione tra celle per favorire
una maggiore visibilità. Selezioniamo le celle A20:K20 e premiamo Ctrl + 1, scegliamo la
scheda Allineamento e spuntiamo Testo a capo, Unione Celle e Allineamento Testo
Orizzontale a Sinistra.
Ora, in A20 scriviamo:
=A17&". "&CODICE.CARATT(10)&A18&". "&CODICE.CARATT(10)&A19
9
10
Scarica