I am working on a project where I need to derive numbers of children aged three and four by state in different years. For this project, I am using CPS ASEC data. I first calculated the sums of children aged three and four in years 1990, 1991, and 1992 by first identifying the children using the AGE variable, summing them to the state level using STATEFIP, and then weighting the calculation using the ASECWT weight. The Stata code looks something like:
gen ch34=.
replace ch34=0 if age!=3 | age!=4
replace ch34=1 if age==3 | age==4
sort statefip
collapse (sum) ch34 [pweight=asecwt], by(statefip)
Once I had calculated this for these three years, I averaged the three counts together and compared them to the Census 1990 counts of children aged three and four for each state as an accuracy check. Comparing my calculated averages against the Census counts, I noticed that the absolute differences between my averages and the Census counts were inconsistently large for each state. For example, the number of three and four year olds in the 1990 Census for the state of Indiana was 160,672 while the number for Illinois was 336,503. My estimates from the CPS using the ASEC weights yield estimates of 158,770 for Indiana and 283,412 for Illinois, differences of 1,902 and 50,091 respectively.
My understanding is that because the ASECWTs are constructed based upon the Census, the calculations I produced, while I do not expect them to be the exact same numbers as those on the Census tables for these states because they are three year averages, should produce counts that are closer to the Census counts and more uniformly so. This lead me to wonder whether I should be weighting my estimations differently for young children. My thought is that the ASECWT should apply to all person-level observations, but I am curious as to whether something to do with the weights could be the reason by the average of the yearly counts by state I am deriving are so different than the Census counts for 1990.
Any insight here would be greatly appreciated.