lunedì 31 ottobre 2011

Cochran Q Test in R (Nonparametric Test for Categorical Data)

Il Cochran Q test è un test non parametrico sviluppato per l'analisi di valori nominali. L'ipotesi che si vuole testare è: nel dataset costituito da k (k maggiore o uguale a 2) campioni dipendenti, esistono almeno due campioni che provengono da differenti popolazioni?



Il test Q di Cochran rappresenta una estensione del test di McNemar, il quale può essere applicato con analoghi risultati quando k = 2.
Ma vediamo subito un esempio, per comprendere il campo di applicazione di questo test.




Una società svolge una ricerca di mercato, e chiede a 12 soggetti di compilare un questionario. Tra le domande, figura il quesito: "acquisteresti il prodotto X da una o più delle seguenti 3 marche (A, B, C)?". I 12 soggetti rispondono con delle crocette per marcare la loro preferenza di marca. Le possibili risposte variano da "nessuna crocetta" a "tre crocette" sulle 3 marche.
Risulta subito evidente che i dati di cui disponiamo sono binomiali (categorici): 0 indica che la marca in questione non è stata barrata, mentre 1 indica che la marca è stata crocettata.

La tabella seguente presenta i dati che vengono così raccolti:



Le ipotesi del problema sono: la proporzione di "sì" per ciascuna condizione sono uguali; l'ipotesi alternativa è che almeno una delle proporzioni differisce dalle altre.



La statistica test è:



I simboli che qui compaiono sono:

k = numero di gruppi (o condizioni);


La tabella seguente mostra i calcoli che vengono eseguiti:



Calcoliamo quindi il Q di Cochran:



Il Q di Cochran segue una distribuzione Chi-quadro, con k-1 gradi di libertà. Il valore critico tabulato è:



Poichè Q è maggiore di Chi-quadro, rifiutiamo l'ipotesi nulla H0.

Si pone adesso il problema di identificare quale/i gruppo/i differisce significativamente dagli altri, rendendo quindi significativo il test Q.
Per fare questo, possiamo eseguire il test di McNemar, a coppie. Del test ne parlerò in un prossimo post, ma è sufficiente una rapida ricerca su Google per ottenere pagine esaustive.
Calcolando il test di McNemar per le 3 coppie di paragone, dobbiamo correggere il livelli di significatività (in quanto stiamo eseguendo pur sempre dei confronti multipli). Poichè le coppie da analizzare sono 3, dividiamo il valore di alpha per 3, e quindi il livello di significatività deve essere fissato pari a 0.0167.




Soluzione in R



mydata <- matrix(c(
1, 1, 0,
0, 1, 0,
1, 1, 1,
0, 1, 0,
0, 1, 0,
0, 1, 1,
0, 0, 0,
0, 1, 0,
1, 1, 0,
0, 1, 0,
0, 0, 0,
0, 0, 1),
nrow = 12,
byrow = T,
dimnames = list(1 : 12,
c("MarcaA", "MarcaB", "MarcaC")))


Utilizziamo il seguente codice, che ho trovato a questo link:



cochranq.test <- function(mat)
{
k <- ncol(mat)

C <- sum(colSums(mat) ^ 2)
R <- sum(rowSums(mat) ^ 2)
T <- sum(rowSums(mat))

num <- (k - 1) * ((k * C) - (T ^ 2))
den <- (k * T) - R

Q <- num / den

df <- k - 1
names(df) <- "df"
names(Q) <- "Cochran's Q"

p.val <- pchisq(Q, df, lower = FALSE)

QVAL <- list(statistic = Q, parameter = df, p.value = p.val,
method = "Cochran's Q Test for Dependent Samples",
data.name = deparse(substitute(mat)))
class(QVAL) <- "htest"
return(QVAL)
}


Applichiamo la funzione:



cochranq.test(mydata)



Cochran's Q Test for Dependent Samples

data: mydata
Cochran's Q = 8, df = 2, p-value = 0.01832


In alternativa, possiamo usare la funzione cochran.test della library outliers.

Adesso analizziamo le coppie di gruppi con il McNemar's Chi-squared Test for Count Data:


mydatadf <- as.data.frame(mydata)

AB <- with(mydatadf, table(MarcaA, MarcaB))
BC <- with(mydatadf, table(MarcaB, MarcaC))
AC <- with(mydatadf, table(MarcaA, MarcaC))

mcnemar.test(AB)



McNemar's Chi-squared test with continuity correction

data: AB
McNemar's chi-squared = 4.1667, df = 1, p-value = 0.04123



mcnemar.test(BC)



McNemar's Chi-squared test with continuity correction

data: BC
McNemar's chi-squared = 3.125, df = 1, p-value = 0.0771



mcnemar.test(AC, correct=T)



McNemar's Chi-squared test

data: AC
McNemar's chi-squared = 0, df = 1, p-value = 1

4 commenti:

  1. UNISCITI AL GRANDE TEMPIO DEL DENARO E DELLA FORZA ILLUMINATI

    Puoi contattare l'agente del tempio tramite WhatsApp: +1 (541) 638-8789
    Sei un uomo d'affari o una donna, un politico, un musicista che vuole essere ricco, famoso e potente nella vita, unisciti oggi alla Fratellanza degli Illuminati e diventa ricco all'istante. $ 5 milioni subito dopo la tua inaugurazione e una bella casa a tua scelta. Ovunque tu scelga di vivere nel mondo e ricevi anche $ 400.000 al mese di stipendio, credimi, questa è un'opportunità unica nella vita
    Se sei interessato, chiama l'agente al +1 (541) 638-8789 o whatsapp al +1 (541) 638-8789.

    RispondiElimina
  2. La mia testimonianza di come sono diventato un membro degli Illuminati. Voglio incontrare persone che vogliono unirsi ai grandi Illuminati come un grande membro degli Illuminati che mi vogliono come un grande membro. Il suo nome è Lord Felix Morgan. Aiutami a recuperare la mia vita dallo stadio della morte. Dimesso dopo circa 2 anni e sei mesi. Dopo essere stato tradito da tanti membri degli Illuminati. Nel corso degli anni ero senza speranza e finanziariamente a terra. Ma un giorno mentre navigavo in Internet mi sono imbattuto nel post del grande Illuminati Lord Felix Morgan in cui si diceva che se sei uno dei grandi Illuminati puoi essere famoso, ricco e di successo nella vita. L'ho contattato e gli ho spiegato tutto e lui mi ha consigliato il registro utilizzato e ho pagato il membro più grande per aiutarmi a iniziare e sono stato iniziato all'Ordine Mondiale degli Illuminati. Successivamente mi hanno dato tutte le linee guida e mi hanno fatto sapere che dopo l'iniziazione, i nuovi membri saranno ricompensati con la somma di $ 1.000.000 in contanti. Con l'aiuto di Lord Felix Morgan. Sono stato pienamente iniziato come membro a pieno titolo degli Illuminati. Se il tuo consiglio è che hai già provato un truffatore o lo sei, spetta a me aiutarti a unirti, quindi prova Lord Morgan. È la tua migliore possibilità di diventare ciò che desideri nella tua vita futura. Contattalo su WhatsApp +2348055459757 o invia un'e-mail a: Illuminatiofficial565@gmail.com

    RispondiElimina
  3. Questa è la mia testimonianza su come ho finalmente aderito al Nuovo Ordine Mondiale, gli Illuminati, dopo che ho provato ad aderirvi per oltre 2 anni, ma i truffatori mi hanno preso soldi più volte. Ho cercato di unirmi agli Illuminati per così tanto tempo, ma i truffatori continuano a prendere i miei soldi fino all'inizio di quest'anno quando ho incontrato Lord Felix Morgan online, l'ho contattato e gli ho spiegato tutto e lui mi ha consigliato la registrazione utilizzata e ho pagato per il grande membro per farmi iniziare e sono stato iniziato all'Ordine Mondiale e ricevo la somma di $ 1.000.000 di dollari americani dopo che la mia iniziazione è stata completata. Sono molto contento! E prometti di diffondere il buon lavoro di Lord Felix Morgan. Se sei interessato ad unirti al nuovo ordine mondiale degli Illuminati oggi, contatta Lord Felix Morgan oggi: è la tua migliore possibilità per ottenere l'adesione agli Illuminati che hai sempre desiderato. Contatta Lord Felix Morgan Email: Illuminatiofficial565@gmail.com o WhatsApp +2348055459757

    RispondiElimina
  4. TESTIMONIANZA DI COME SONO DIVENTATO CON IL TEMPIO ILLUMINATI 666
    NOTA: I MEMBRI DI ILLUMINATI NON SCOPRONO LA LORO IDENTITÀ NEMMENO SUI SOCIAL MEDIA
    NON C'È NESSUN SACRIFICIO UMANO COINVOLTO

    Contatta il vero WhatsApp:+234 9068-876-473
    All'inizio ho pensato che fosse una truffa perché di questi tempi è difficile trovare persone vere su Internet finché non ho deciso di provare, e hai accesso FAMOSO E POTERE SPIRITUALE alle visite MEMBRI in qualsiasi paese di tua scelta
    E tutta la mia vita è cambiata in soli 6 giorni

    VANTAGGI PER I NUOVI MEMBRI
    *. Una casa in qualsiasi paese tu voglia.
    *. Una nuova auto da sogno.
    *. La somma di 6 milioni di dollari per iniziare una nuova vita è di 6.000.000 di dollari
    Devi avere almeno 18 anni prima di poter contattare i nostri partner
    E-mail: brotherhoodllluminati187@gmail.com
    Contatta il vero WhatsApp: +234 9068-876-473..

    RispondiElimina