  <?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>test statistico &#8211; paologironi blog</title>
	<atom:link href="https://www.gironi.it/blog/tag/test-statistico-it/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.gironi.it/blog</link>
	<description>Appunti sparsi di (retro) informatica, analisi dei dati, statistica, seo, e cose che cambiano</description>
	<lastBuildDate>Wed, 25 Feb 2026 08:22:55 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>L&#8217;analisi della varianza, Anova. Spiegata semplice</title>
		<link>https://www.gironi.it/blog/lanalisi-della-varianza-anova-spiegata-semplice/</link>
					<comments>https://www.gironi.it/blog/lanalisi-della-varianza-anova-spiegata-semplice/#respond</comments>
		
		<dc:creator><![CDATA[paolo]]></dc:creator>
		<pubDate>Sun, 03 Oct 2021 21:01:16 +0000</pubDate>
				<category><![CDATA[statistica]]></category>
		<category><![CDATA[analisi della varianza]]></category>
		<category><![CDATA[anova]]></category>
		<category><![CDATA[test parametrici]]></category>
		<category><![CDATA[test statistico]]></category>
		<guid isPermaLink="false">https://www.gironi.it/blog/?p=2342</guid>

					<description><![CDATA[L&#8217;analisi della varianza (ANOVA) è un test parametrico che valuta le differenze tra le medie di due o più gruppi di dati. Si tratta di un test di ipotesi statistica che trova ampio impiego nell&#8217;ambito della ricerca scientifica e che consente di determinare se le medie di almeno due popolazioni sono diverse. Sono necessari come &#8230; <a href="https://www.gironi.it/blog/lanalisi-della-varianza-anova-spiegata-semplice/" class="more-link">Leggi tutto<span class="screen-reader-text"> "L&#8217;analisi della varianza, Anova. Spiegata semplice"</span></a>]]></description>
										<content:encoded><![CDATA[
<p>L&#8217;analisi della varianza (ANOVA) è un <a href="https://www.gironi.it/blog/test-statistici-parametrici-e-non-parametrici/" data-type="post" data-id="2306">test parametrico</a> che valuta le differenze tra le medie di due o più gruppi di dati. <br>Si tratta di un test di ipotesi statistica che trova ampio impiego nell&#8217;ambito della ricerca scientifica e che consente di determinare se le medie di almeno due popolazioni sono diverse. <br>Sono necessari come presupposto minimo una <strong>variabile dipendente continua</strong> e una <strong>variabile indipendente categoriale</strong> che divida i dati in gruppi di confronto.</p>



<span id="more-2342"></span>



<p>Il termine &#8220;analisi della varianza&#8221; deriva dal modo in cui l&#8217;analisi utilizza le varianze per determinare se le medie sono diverse. </p>



<p>ANOVA funziona confrontando la varianza delle medie tra i gruppi (è chiamata varianza <em>between</em>) con la varianza all&#8217;interno dei singoli gruppi (o varianza <em>within</em>). </p>



<p>L&#8217;analisi della varianza è stata sviluppata dal grande statistico <a href="https://it.wikipedia.org/wiki/Ronald_Fisher" target="_blank" rel="noreferrer noopener">Ronald Fisher</a> (diciamo che è uno degli Dei nell&#8217;Olimpo della statistica&#8230;).<br>Non è un caso che Anova si basi su una distribuzione chiamata distribuzione F.</p>



<div class="wp-block-image is-style-rounded"><figure class="aligncenter size-large"><img decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/a/aa/Youngronaldfisher2.JPG" alt="Youngronaldfisher2"><figcaption>Ronald Fisher in una foto giovanile <br>(da Wikipedia)</figcaption></figure></div>


				<div class="wp-block-uagb-table-of-contents uagb-toc__align-left uagb-toc__columns-1  uagb-block-9d46178e      "
					data-scroll= "1"
					data-offset= "30"
					style=""
				>
				<div class="uagb-toc__wrap">
						<div class="uagb-toc__title">
							Di cosa parleremo<br>						</div>
																						<div class="uagb-toc__list-wrap ">
						<ol class="uagb-toc__list"><li class="uagb-toc__list"><a href="#anova-un-test-di-tipo-parametrico" class="uagb-toc-link__trigger">Anova: un test di tipo parametrico</a><li class="uagb-toc__list"><a href="#perchè-anova-e-non-una-serie-di-t-test" class="uagb-toc-link__trigger">Perchè Anova e non una serie di t-test?</a><li class="uagb-toc__list"><a href="#il-caso-più-semplice-anova-a-una-via" class="uagb-toc-link__trigger">Il caso più semplice: Anova a una via</a><li class="uagb-toc__list"><a href="#il-modo-classico-e-un-po-tedioso-di-svolgere-un-test-anova-la-tabella-anova" class="uagb-toc-link__trigger">Il modo &quot;classico&quot; (e un po&#039; tedioso) di svolgere un test Anova: la tabella Anova</a><li class="uagb-toc__list"><a href="#quanta-fatica-e-ora-di-sfruttare-tutta-la-potenza-di-r" class="uagb-toc-link__trigger">Quanta fatica&#8230; E&#039; ora di sfruttare tutta la potenza di R</a><ul class="uagb-toc__list"><li class="uagb-toc__list"><a href="#potrebbe-interessarti-anche" class="uagb-toc-link__trigger">Potrebbe interessarti anche</a></ul></ol>					</div>
									</div>
				</div>
			


<h2 class="wp-block-heading">Anova: un test di tipo parametrico</h2>



<p>Anova è un test di tipo <a href="https://www.gironi.it/blog/test-statistici-parametrici-e-non-parametrici/" data-type="post" data-id="2306">parametrico</a>. Richiede dunque che siano soddisfatti un certo numero di requisiti:</p>



<ul class="wp-block-list"><li>Normalità. I dati nei gruppi devono seguire una distribuzione normale.</li><li>Omogeneità delle varianze: i gruppi dovrebbero avere varianze approssimativamente uguali.</li><li>I residui seguono le assunzioni di minimi quadrati.</li><li>C&#8217;è almeno una variabile indipendente di tipo categorico (fattore).</li><li>La variabile dipendente è continua.</li><li>Le osservazioni sono indipendenti.</li></ul>



<h2 class="wp-block-heading">Perchè Anova e non una serie di t-test?</h2>



<p>Una domanda che è lecito porsi è la seguente: perchè mai dovrei usare Anova quando posso usare una serie di confronti tra ogni gruppo e ognuno degli altri?<br>La risposta non è legata semplicemente alla noia e alla difficoltà nel dover svolgere un gran numero di test (ad esempio, per 4 fattori avrei bisogno di svolgere 6 differenti t-test). Il maggiore problema è che la probabilità di commettere un <a href="https://www.gironi.it/blog/il-test-delle-ipotesi/#errori-di-i-e-ii-tipo" target="_blank" rel="noreferrer noopener">errore di Tipo I</a> aumenta con una progressione di tipo esponenziale. Sappiamo che se scegliamo un alpha &#8220;tipico&#8221; di 0,05 fissiamo la probabilità di incorrere in un errore di Tipo I del 5%.<br>Se chiamiamo n il numero dei t-test da svolgere avremo una probabilità complessiva di commettere errori di Tipo I pari a:<br> </p>



\(
1-(1-\alpha)^n \\
\)



<p>nel nostro esempio questo significa:</p>



\(
1-(1-0,05)^6 = \\
1-0,735 = \\
0,265 \\ \\
\)



<p>Vale a dire una probabilità di errore di Tipo I del 26,5% ! Chiaramente inaccettabile&#8230; <strong>Quando vogliamo testare la media di 3 o più gruppi, Anova è certamente da preferire rispetto a una serie di T-test</strong>.</p>



<h2 class="wp-block-heading">Il caso più semplice: Anova a una via</h2>



<p>Il tipo più semplice di test ANOVA è l&#8217;ANOVA a un fattore. Questo metodo è una generalizzazione dei<a href="https://www.gironi.it/blog/la-distribuzione-t-e-il-test-delle-ipotesi/" data-type="post" data-id="1131"> t-test</a> in grado di valutare la differenza tra più di due medie di gruppo.<br>I dati sono organizzati in vari gruppi sulla base di una singola variabile categorica (chiamata variabile <em>fattore</em>).</p>



<p>Come abbiamo detto, Anova è un <a href="https://www.gironi.it/blog/il-test-delle-ipotesi/" data-type="post" data-id="1190">test delle ipotesi</a>. In questo caso, abbiamo una <strong>ipotesi nulla</strong> H<sub>0</sub>:<br><em>le medie tra i diversi gruppi sono uguali</em><br>e una <strong>ipotesi alternativa</strong> H<sub>a</sub>:<br><em>almeno una media è diversa</em>.</p>



<p class="has-light-gray-background-color has-background">ATTENZIONE: Anova ci dice SE una media è diversa, non QUALE gruppo presenta una media differente. Per quello, avremo bisogno di un passaggio supplementare, il test <em>post hoc</em>, che vedremo a tempo debito.</p>



<h2 class="wp-block-heading">Il modo &#8220;classico&#8221; (e un po&#8217; tedioso) di svolgere un test Anova: la tabella Anova</h2>



<p>E&#8217; vero che utilizzare il modo &#8220;classico&#8221; di computare il risultato di un test Anova può fornire nozioni teoriche importanti, ma è altresì vero che chiunque utilizzi questa tipologia di test nella quotidianità difficilmente &#8211; per non dire mai &#8211; usa carta e penna e compila una tabella Anova&#8230; La praticità delle funzioni di R nel svolgere tutto il &#8220;lavoro duro&#8221; con un clic è davvero impagabile. Tuttavia, un esempio passo-passo ci fornirà una importante infarinatura. Siamo pronti a &#8220;sporcarci le mani&#8221;? </p>



<p>I passaggi che compiremo possono essere schematizzati così:</p>



<ul class="wp-block-list"><li>Calcoleremo la varianza comune, chiamata varianza nei campioni <em>S</em><sup>2</sup><em><sub>within</sub></em>, o varianza residuale.</li><li>Calcoleremo la varianza tra le medie dei campioni, quindi:<br>La media di ogni gruppo<br>La varianza tra le medie dei campioni<strong> </strong>(<em>S</em><sup>2</sup><em><sub>between</sub></em>)</li><li>E poi ricaveremo la statistica F come rapporto tra <em>S</em><sup>2</sup><em><sub>between</sub></em>/<em>S</em><sup>2</sup><em><sub>within</sub></em></li></ul>



<p>Dal momento che la SEO è uno dei campi che seguo con maggiore interesse, ipotizzo un esempio (ovviamente privo di reale valore) che ha per oggetto l&#8217;analisi dei dati di traffico di un sito web.</p>



<p>La mia variabile indipendente a più fattori è il tipo di dispositivo usato dai navigatori: desktop, mobile, tablet.</p>



<p>La mia variabile dipendente saranno gli obiettivi realizzati sul sito.</p>



<p>Immaginiamo di seguire i dati mensili per 6 mesi e di ricavare queste misure:</p>



<figure class="wp-block-table is-style-regular"><table><tbody><tr><td>Desktop</td><td>Mobile</td><td>Tablet</td></tr><tr><td>39</td><td>45</td><td>30</td></tr><tr><td>67</td><td>54</td><td>45</td></tr><tr><td>78</td><td>64</td><td>22</td></tr><tr><td>59</td><td>52</td><td>39</td></tr><tr><td>42</td><td>46</td><td>38</td></tr><tr><td>51</td><td>35</td><td>41</td></tr></tbody></table><figcaption>Obiettivi per device</figcaption></figure>



<p>Vado a calcolare la media dei valori per il gruppo Desktop: <br>(39+67+78+59+42+51)/6 = 56</p>



<p>Calcolo la media per Mobile:<br>(45+54+64+52+46+35)/6 = 49,3</p>



<p>E quella per i Tablet:<br>(30+45+22+39+38+41)/6 =  35,83</p>



<p>Passiamo a calcolare le somme dei quadrati:</p>



<figure class="wp-block-table"><table><tbody><tr><td class="has-text-align-left" data-align="left"><strong>Desktop</strong></td><td><strong>Mobile</strong></td><td><strong>Tablet</strong></td></tr><tr><td class="has-text-align-left" data-align="left">(39-56)<sup>2</sup> = 289</td><td>(45-49,3)<sup>2</sup> = 18,49</td><td><meta http-equiv="content-type" content="text/html; charset=utf-8">(30-35.83)<sup>2</sup> = 33.99</td></tr><tr><td class="has-text-align-left" data-align="left"><meta http-equiv="content-type" content="text/html; charset=utf-8">(67-56)<sup>2</sup> = 121</td><td><meta http-equiv="content-type" content="text/html; charset=utf-8">(54-49,3)<sup>2</sup> = 22.09</td><td><meta http-equiv="content-type" content="text/html; charset=utf-8">(45-35.83)<sup>2</sup> = 84.09</td></tr><tr><td class="has-text-align-left" data-align="left"><meta http-equiv="content-type" content="text/html; charset=utf-8">(78-56)<sup>2</sup> = 484</td><td><meta http-equiv="content-type" content="text/html; charset=utf-8">(64-49,3)<sup>2</sup> = 216.09</td><td><meta http-equiv="content-type" content="text/html; charset=utf-8">(22-35.83)<sup>2</sup> = 191.27</td></tr><tr><td class="has-text-align-left" data-align="left"><meta http-equiv="content-type" content="text/html; charset=utf-8">(59-56)<sup>2</sup> = 9</td><td><meta http-equiv="content-type" content="text/html; charset=utf-8">(52-49,3)<sup>2</sup> = 7.29</td><td><meta http-equiv="content-type" content="text/html; charset=utf-8">(39-35.83)<sup>2</sup> = 10.05</td></tr><tr><td class="has-text-align-left" data-align="left"><meta http-equiv="content-type" content="text/html; charset=utf-8">(42-56)<sup>2</sup> = 196</td><td><meta http-equiv="content-type" content="text/html; charset=utf-8">(46-49,3)<sup>2</sup> = 10.89</td><td><meta http-equiv="content-type" content="text/html; charset=utf-8">(38-35.83)<sup>2</sup> = 4.71</td></tr><tr><td class="has-text-align-left" data-align="left"><meta http-equiv="content-type" content="text/html; charset=utf-8">(51-56)<sup>2</sup> = 25</td><td><meta http-equiv="content-type" content="text/html; charset=utf-8">(35-49,3)<sup>2</sup> = 204.49</td><td><meta http-equiv="content-type" content="text/html; charset=utf-8">(41-35.83)<sup>2</sup> = 26.73</td></tr><tr><td class="has-text-align-left" data-align="left">Totale</td><td>Totale</td><td>Totale</td></tr><tr><td class="has-text-align-left" data-align="left"><strong>1124</strong></td><td><strong>479.34</strong></td><td><strong>350.84</strong></td></tr></tbody></table></figure>



<p>Siamo pronti per ricavare SS<sub>e</sub>, la somma degli errori quadratici:<br>SS<sub>e</sub> = 1124 + 479.34 + 350.84 = <strong>1954.18</strong></p>



<p>Calcoliamo la Grande Media di tutte le osservazioni, sommando i valori del gruppo desktop,mobile e tablet e dividendoli per il numero delle osservazioni:<br>(336+296+215)/18 = 47</p>



<p>Procediamo nel calcolo aiutandoci con una tabella:</p>



<figure class="wp-block-table is-style-regular"><table><tbody><tr><td></td><td>A-Osservazioni</td><td>B-Grande Media</td><td>C-Media</td><td>(B-C)<sup>2</sup></td><td>A * D</td></tr><tr><td>Desktop</td><td>6</td><td>47</td><td>56</td><td>81</td><td>486</td></tr><tr><td>Mobile</td><td>6</td><td>47</td><td>49,3</td><td>5.29</td><td>31.74</td></tr><tr><td>Tablet</td><td>6</td><td>47</td><td>35.83</td><td>124.77</td><td>748.62</td></tr></tbody></table></figure>



<p>E troviamo così la Somma dei Quadrati between:<br><br>SS<sub>b</sub> = 486 + 31.74 + 748.62 = <strong>1266,4</strong></p>



<p>Ancora un piccolo sforzo, ma ora viene il bello!<br><br>I gradi di libertà <em>between</em> df<sub>1</sub> sono uguali a N &#8211; 1, quindi: <br>3 &#8211; 1 = 2<br>I gradi di libertà <em>within</em> df<sub>2</sub> sono uguali a N &#8211; K, quindi:<br>18 &#8211; 3 = 15</p>



<p>Troviamo la Media Quadrata dell&#8217;Errore, MS<sub>e</sub>:</p>



\(
MS_e=\frac{SS_e}{df_2} \\
\frac{1954.18}{15} = 130.3 \\ \\
\)



<p>E la Media Quadrata <em>between</em>:</p>



\(
MS_b=\frac{SS_b}{df_1} \\
\frac{1266.4}{2}=633.18 \\ \\
\)



<p>E&#8217; arrivato il momento: possiamo ricavare finalmente il nostro valore F!</p>



\(
F=\frac{MS_b}{MS_e} \\
\frac{633.18}{130.3}=4.86 \\
\)



<p><strong>Ho finalmente trovato il valore che cercavo, F=4.86.</strong><br>Non mi resta che prendere in mano una <a href="https://www.unirc.it/documentazione/materiale_didattico/600_2011_294_11517.pdf" target="_blank" rel="noreferrer noopener">tabella della distribuzione F</a> e andare a cercare il valore critico in corrispondenza dell&#8217;incrocio tra i valori df<sub>2</sub>/df<sub>1</sub>. <br>Quel valore risulta essere pari a 3.68.</p>



<p><strong>Il mio valore F=4.86 cade nella zona di rigetto dell&#8217;ipotesi nulla H<sub>0</sub> <br>Il mio test, per un valore alpha di 0.05, mi indica che le medie dei tre gruppi non sono uguali.</strong></p>



<h2 class="wp-block-heading">Quanta fatica&#8230; E&#8217; ora di sfruttare tutta la potenza di R</h2>



<p>I valori d&#8217;esempio sono contenuti in <a href="https://www.gironi.it/blog/wp-content/uploads/2021/10/anova-ex1.csv">questo file csv</a>.</p>



<p>Ipotizzando di avere il nostro file csv nella home, posso creare uno script R in Rstudio e  caricare il mio semplicissimo dataset:</p>



<pre class="wp-block-preformatted">obiettivianova &lt;- read.csv("~/anova-ex1.csv")</pre>



<p>Uno sguardo grafico a come si presentano i valori per i tre gruppi:</p>



<pre class="wp-block-preformatted">boxplot(obiettivianova$obiettivi ~ obiettivianova$device, main="Boxplot obiettivi per device", xlab="Device", ylab="Obiettivi")</pre>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="855" height="540" src="https://www.gironi.it/blog/wp-content/uploads/2021/10/boxplot-ex1.png" alt="boxplot" class="wp-image-2376" srcset="https://www.gironi.it/blog/wp-content/uploads/2021/10/boxplot-ex1.png 855w, https://www.gironi.it/blog/wp-content/uploads/2021/10/boxplot-ex1-300x189.png 300w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" /></figure>



<p>Già il boxplot sembra suggerirci qualcosa, ma ovviamente procediamo analiticamente.</p>



<p>Diamo uno sguardo alle medie:</p>



<pre class="wp-block-preformatted">aggregate(obiettivi ~ device,obiettivianova,mean)</pre>



<pre class="wp-block-preformatted">   device obiettivi
1 desktop  56.00000
2  mobile  49.33333
3  tablet  35.83333</pre>



<p>e procediamo con il nostro test:</p>



<pre class="wp-block-preformatted">miomodello &lt;- aov(obiettivianova$obiettivi ~ obiettivianova$device)

summary(miomodello)</pre>



<p>l&#8217;output che otteniamo è il seguente:</p>



<pre class="wp-block-preformatted has-small-font-size">                      Df Sum Sq Mean Sq F value Pr(&gt;F)  
obiettivianova$device  2   1267   633.4   4.862 0.0236 *
Residuals             15   1954   130.3                 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1</pre>



<p>La potenza di R qui è evidente. Bastano pochi attimi per avere un sacco di informazioni utili. Il valore di F è 4,862, i gradi di libertà sono 2, ecc.ecc.<br>Non serve consultare la tabella della distribuzione F  (o usare il comando R corrispondente) perchè già è presente il p-value, che segnala il rigetto dell&#8217;ipotesi nulla al livello del 5% (p= 0.0236 &lt; 0,05).</p>



<p>Anova ci dice che le medie non sono tutte uguali. E&#8217; giunto il momento di un test post-hoc per poter valutare dove si trova &#8220;l&#8217;anomalia&#8221;:</p>



<pre class="wp-block-preformatted">TukeyHSD(miomodello)</pre>



<p>Il Test HSD di Tukey è uno dei test post hoc più utili in casi come quello in esame. Ci restituisce questo output:</p>



<pre class="wp-block-preformatted has-small-font-size">                     diff       lwr       upr     p adj
mobile-desktop  -6.666667 -23.78357 10.450234 0.5810821
tablet-desktop -20.166667 -37.28357 -3.049766 0.0204197
tablet-mobile  -13.500000 -30.61690  3.616900 0.1348303
</pre>



<p>Come si può notare, mentre per il confronto tra le medie mobile-desktop e tablet-mobile non possiamo scartare l&#8217;ipotesi nulla, lo stesso non si può dire nel caso delle medie tablet-desktop, dove la differenza risulta statisticamente significativa. </p>


<!-- internal-links-section -->
<h3>Potrebbe interessarti anche</h3>
<ul>
<li><a href="https://www.gironi.it/blog/ab-testing/">A/B Testing: come condurre esperimenti statisticamente validi (e gli errori da evitare)</a></li>
</ul>]]></content:encoded>
					
					<wfw:commentRss>https://www.gironi.it/blog/lanalisi-della-varianza-anova-spiegata-semplice/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
