È stato effettuato un test di intelligenza su 10 soggetti, e di seguito vengono riportati i risultati ottenuti. Il risultato medio della popolazione ottenuto allo stesso test è pari a 75. Si vuole verificare se la media campionaria è significativamente simile (si ponga il livello di significatività pari al 5%) alla media della popolazione, supponendo che la varianza sia nota e pari a 18.
65, 78, 88, 55, 48, 95, 66, 57, 79, 81
Per risolvere questo problema è necessario sviluppare un test z a un solo campione. In R non esiste una funzione del genere, per questo motivo possiamo scegliere di eseguire i calcoli singolarmente, oppure di creare una funzione apposita.
Ricordando la formula per calcolare il valore di z, possiamo procedere scrivendo questa funzione:
> z.test = function(a, mu, var){
+ zeta = (mean(a) - mu) / (sqrt(var / length(a)))
+ return(zeta)
+ }
Abbiamo costruito così la funzione z.test che ricevendo in input la sequenza di dati (a), la media della popolazione con cui eseguire il confronto (mu), e la varianza della popolazione (var), restituisce il valore di zeta. Applichiamo ora la funzione al nostro problema.
> a = c(65, 78, 88, 55, 48, 95, 66, 57, 79, 81)
>
> z.test(a, 75, 18)
[1] -2.832353
Il valore di zeta è pari a –2.83, che è maggiore (in valore assoluto) rispetto al valore di zeta tabulato per alfa pari a 0.05 (zeta-tabulato = 1.96). Concludiamo quindi che la media del nostro campione è significativamente diversa dalla media della popolazione.
scusa ma -2.83 non è minore rispetto a 1.96? o non ho ben capito io? paola
RispondiEliminaHai ragione, Paola, ho dimenticato di specificare che in questo test, nel confronto tra Z-calcolato e Z-tabulato, occorre considerare i valori assoluti.
RispondiElimina:)
ma come si calcola il valore di z tabulato?
RispondiElimina@ Walter:
RispondiEliminaIo in genere lo cerco sulle tavole che stanno praticamente in ogni libro di statistica. Altrimenti per calcolare quel valore (1.96) dell'esercizio, puoi digitare:
qt(0.975, 10000000000)
in quanto la distribuzione t a infiniti gradi di libertà, è la distribuzione zeta. 0.975 è il valore di alpha.
ciao sono jajouka.
RispondiEliminama
zeta = (mean(a) - mu) / (sqrt(var / length(a)))
non dovrebbe essere
zeta = (mean(a) - mu) / (var / sqrt(length(a)))
No, perché sta usando la varianza (della popolazione) e non la deviazione standard. La tua formula sarebbe stata corretta se al posto di var ci fosse stata la ds (sempre della pop). ds=sqrt(var).
Elimina@ Todos Logos scusa ti volevo chiedere ma nel caso del test z devo sempre prendere infiniti gradi di libertà per il valore? Grazie infinite
RispondiEliminascusa ma nella library BSDA c'è la funzione z.test
RispondiEliminae perchè non funziona se installo quella libreria?
RispondiEliminaGood reading thiss post
RispondiElimina