Automatically change weight when excluding cases/sub-groups

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Automatically change weight when excluding cases/sub-groups

statcat
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

Reply | Threaded
Open this post in threaded view
|

Re: Automatically change weight when excluding cases/sub-groups

Jignesh Sutar
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,

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





--
View this message in context: http://spssx-discussion.1045642.n5.nabble.com/Automatically-change-weight-when-excluding-cases-sub-groups-tp5728394.html
Sent from the SPSSX Discussion mailing list archive at Nabble.com.

=====================
To manage your subscription to SPSSX-L, send a message to
[hidden email] (not to SPSSX-L), with no body text except the
command. To leave the list, send the command
SIGNOFF SPSSX-L
For a list of commands to manage subscriptions, send the command
INFO REFCARD

===================== To manage your subscription to SPSSX-L, send a message to [hidden email] (not to SPSSX-L), with no body text except the command. To leave the list, send the command SIGNOFF SPSSX-L For a list of commands to manage subscriptions, send the command INFO REFCARD