Hi everyone,
I am using a dataset that consists of survey data (questionnaires) from four separate districts. Seeing how the populations sizes of the districts differ, more cases were sampled from bigger population districts to achieve comparable response rates. Differences in response rates per district were used to calculate a weight, that adjusts the sample according to known population. My limited knowledge of using weights tells me that WEIGHT by w1 has to be on, while reporting aggregated results, WEIGHT off has to be used when (relative) differences per (and between) districts are shown. However during the progress of analysis, for some evaluations one district (or combinations thereof) have to be excluded from the aggregate, as basically no cases apply there. A recalculation of the weight seems important here, a task to which I am hesitant hoping there's a smarter way to do it (a considerable amount of similar studies are currently in progress and it would be a nightmare to change weights for every one of them in this fashion). My question is the following: If the latter is the case (district/s excluded), is there an SPSS feature for an adaptive weight or is it necessary to compute it "by hand" for each exclusion? Best regards, statcat |
Without knowing the very specifics, conceptually however, what you can do is use AGGREGATE to create a variable to store the original weighted per district and then after you have removed certain records not passing any validation criteria you can then compute the new unweighted base per district and calculate the new weight that should be applied to achieve the same weighted total per district. For example if there are 8 records in district 1 (DISTRICT=1) all to be weighted by 2 and then you need to remove two records. You would create a variable which stores 16 (weighted base 8*2) as a value and then another which stores 6 (new base unweighted (8-2))
/* UNTESTED*/. CTABLES /TABLE DISTRICT [c][count ucount] /CATEGORIES VARIABLES= DISTRICT TOTAL=YES /TITLES TITLE=”Table1: Raw weights / Original records”. WEIGHT BY DISTRICTWEIGHT. AGGREGATE OUTFILE=* MODE=ADDVARIABLES /BREAK=DISTRICTWEIGHT /OrigBaseWgtd=N. SELECT IF (EXCLUDERECORDS=1) /* DELETE UNWANTED CASES */ . CTABLES /TABLE DISTRICT [c][count ucount] /CATEGORIES VARIABLES= DISTRICT TOTAL=YES /TITLES TITLE=”Table2: Raw weights / excluded records”. AGGREGATE OUTFILE=* MODE=ADDVARIABLES /BREAK=DISTRICTWEIGHT /NewBaseUnwgtd=NU. COMPUTE DISTRICTWEIGHTNEW= OrigBaseWgtd/ NewBaseUnwgtd. WEIGHT BY NewBaseUnwgtd. CTABLES /TABLE DISTRICT [c][count ucount] /CATEGORIES VARIABLES= DISTRICT TOTAL=YES /TITLES TITLE=”Table3: New weights / excluded records”. On 9 January 2015 at 13:49, statcat <[hidden email]> wrote: Hi everyone, |
Free forum by Nabble | Edit this page |