PROCEDURA SURVEYSELECT
Il problema fondamentale di un’indagine campionaria consiste nella scelta di un campione che sia rappresentativo della popolazione. Sono stati studiati diversi metodi di scelta di un campione in relazione alla natura della popolazione, alla particolare caratteristica che si vuole studiare, allo scopo per il quale viene effettuata l’indagine.
I principali metodi sono:
Campionamento casuale semplice
Campionamento stratificato
Campionamento stratificato con Control Sorting
In SAS esiste una procedura che ha lo scopo di selezionare un campione dalla popolazione totale nel modo desiderato: questa procedura è la SURVEYSELECT.
La sintassi generale è la seguente:
PROC SURVEYSELECT [options];
[statement];
Analizziamo ora i metodi di campionamento sopra citati.
CAMPIONAMENTO CASUALE SEMPLICE 1) Con rimpiazzo
Con il campionamento casuale semplice con rimpiazzo ciascuna unità può essere selezionata più di una volta.
ESEMPIO
Il file dati comprende 7 variabili rilevate su 10 osservazioni.
Programma SAS per costruire il dataste SAS dati
data dati;
input id gender$ race ses prog math science @@;
datalines;
147 f 2 3 1 53 53 108 m 1 2 2 41 36 18 m 3 2 3 49 44 153 m 4 2 3 40 39 50 m 2 2 2 42 53
51 f 2 1 2 42 31
56 m 1 2 3 46 58
128 m 1 1 1 38 47
36 f 2 3 2 44 35
53 m 2 2 3 46 39
;run;
Procediamo alla formazione del campione di 4 unità sperimentali utilizzando il campionamento casuale semplice tramite la procedura SURVEYSELECT.
proc surveyselect data = dati method=urs n=4
out=SampleURS;
run;
Obs id gender race ses prog math science NumberHits
1 18 m 3 2 3 49 44 1
2 50 m 2 2 2 42 53 1
3 51 f 2 1 2 42 31 1
4 53 m 2 2 3 46 39 1
Opzioni utilizzate nella precedente procedura:
DATA: nome del data set coi dati da cui verrà estratto il campione.
METHOD: specifica il metodo che vogliamo usare per il
campionamento, in questo caso URS indica il campionamento casuale semplice con ripetizione.
N: specifica la dimensione del campione.
OUT: crea il data set in cui verrà memorizzato il campione estratto.
2) Senza rimpiazzo
Con il campionamento casuale semplice senza rimpiazzo ciascuna
unità non può essere selezionata più di una volta. Si assegna a ciascuna
unità sperimentale una uguale probabilità di far parte del campione (pari
a n/N), e quindi ciascun campione di numerosità n ha la stessa
probabilità di essere selezionato dall'intera popolazione N.
ESEMPIO
Procediamo alla formazione del campione di 4 unità sperimentali
utilizzando il campionamento casuale semplice senza rimpiazzo tramite la procedura SURVEYSELECT utilizzando il dataste dati.
proc surveyselect data = dati method=srs n=4
out=SampleSRS;
run;
L’output ottenuto è il seguente:
Obs id gender race ses prog Math science
1 108 M 1 2 2 41 36
2 50 M 2 2 2 42 53
3 102 M 4 1 1 51 53
4 160 F 1 2 1 55 50
Selection Method Selection
Method Simple Random Sampling
Input Data Set DATI Random Number
Seed 45866
Sample Size 4 Sampling Weight 3.125 Output Data Set SAMPLESRS
SAMPLE SIZE = numerosità campionaria SELECTION PROBABILITY = probabilità di ciascuna unità sperimentale di essere selezionata. E’ data dal rapporto tra la numerosità
campionaria e la numerosità della popolazione
SAMPLING WEIGHT = è l’inverso del Selection Probability
OUTPUT DATA SET = nome del data set in cui sarà salvato il campione estratto. Per visualizzarlo bisogna procedere con la PROC PRINT. Se non specificato vengono salvate tutte le variabili del data set originale.
CAMPIONAMENTO STRATIFICATO
Nelle indagini statistiche su vasta scala, spesso la popolazione può ritenersi naturalmente suddivisa in gruppi: è il caso, ad esempio, di un’indagine riguardante l’effetto di un certo vaccino per la quale si divide la popolazione in fasce di età.
Si parla in questi casi di campionamento stratificato: la popolazione viene divisa in gruppi in base ai valori assunti per una determinata variabile, ogni gruppo costituisce uno strato, da ogni strato si estrae poi un campione parziale (scelto magari mediante un campionamento casuale semplice) che, insieme agli altri, concorre a formare il campione da analizzare.
ESEMPIO
Ritorniamo all’esempio precedente con 25 osservazioni sviluppandolo con il metodo di campionamento stratificato.
Innanzi tutto è necessario ordinare i dati secondo i valori della variabile (STRATA) per cui si vuole stratificare la popolazione.
proc sort data = dati out=datiordinati;
by race gender;
run;
Utilizzando questo metodo può essere utile, per non arrivare a
conclusioni errate, analizzare la tabella delle frequenze, in modo da
avere un’idea del peso di ciascuno strato.
proc freq data = dati;
tables race*gender /norow nocol;
run;
Frequency Percent
Table of race by gender
race
gender
Total f m
1 2
8.00 7
28.00 9
36.00
2 4
16.00 2
8.00 6
24.00
3 3
12.00 2
8.00 5
20.00
4 2
8.00 3
12.00 5
20.00 Total 11
44.00
14 56.00
25 100.00
Effettuiamo ora l’estrazione del campione con il metodo del campionamento stratificato in base alle due variabili race e gender.
proc surveyselect data = datiordinati method=SRS n=1 out=SampleStrata;
strata race gender;
run;
Opzioni utilizzate nella precedente procedura:
o DATA, METHOD e OUT: (come prima).
o N: indica il numero di osservazioni che si estraggono da ciascuno strato. Infatti in questo caso si estrae una osservazione per
ciascuno strato e lo si può verificare osservando le colonne race e gender. E’ possibile estrarre un numero di osservazioni diverse per ciascuno strato.
o STRATA: specifica le variabili in base alle quali si suddivide la
popolazione in strati.
Obs Race gender id ses prog Math science
1 1 f 160 2 1 55 50
2 1 m 108 2 2 41 36
3 2 f 51 1 2 42 31
4 2 m 53 2 3 46 39
5 3 f 139 2 1 61 55
6 3 m 22 2 3 39 56
7 4 f 26 1 1 62 61
8 4 m 153 2 3 40 39
CAMPIONAMENTO STRATIFICATO CON CONTROL SORTING Con questo metodo le osservazioni da mettere nel campione sono scelte da ciascun strato con il campionamento sistematico. Questo si usa spesso quando si ha a che fare con popolazioni ordinate di elementi perché essa consiste nello scegliere a caso il primo elemento e nell’estrarre poi gli altri a distanze regolari dal primo.
Prima vanno ordinate le variabili.
proc sort data = dati out=datiordinati2;
by race gender ses;
run;
proc surveyselect data = datiordinati2 method=SYS RATE=0.2 out=SampleControl;
Selection Method
Simple Random Sampling Strata
Variables race gender Input
Data Set DATI Random
Number Seed
53287
Stratum Sample
Size 1
Number of
Strata 8
Total Sample
Size
8 Output
Data Set SAMPLESTRATA
strata race;
control gender ses;
run;
Opzioni utilizzate nella precedente procedura:
o DATA e OUT: (come prima).
o METHOD: specifica il metodo che vogliamo usare per il
campionamento, in questo caso è necessario usare il campionamento casuale sistematico (SYS).
o RATE: indica la percentuale di osservazioni che devono essere estratte per ciascun strato.
o STRATA: specifica le variabili in base alle quali si suddivide la popolazione in strati.
o CONTROL: indica le variabili per le quali viene ordinato il data set di input.
Obs race id prog math science gender ses
1 1 136 1 70 63 m 2
2 1 128 1 38 47 m 1
3 2 147 1 53 53 f 3
4 3 139 1 61 55 f 2
5 4 153 3 40 39 m 2
Selection Method
Systematic Random Sampling Strata
Variable race Control
Variables gender ses Control
Sorting Serpentine Input Data
Set DATIORDINATI2 Random
Number Seed 70211 Stratum
Sampling
Rate 0.2
Number of
Strata 4
Total
Sample Size 5 Output Data
Set SAMPLECONTROL