$TRANS I O $ $C ************************************************** $C THIS CODE ESTIMATE THE BASE LINE MODELS OF HGR $C 1966 MIGRATION PAPER $C $C US MIGRATION DATA $c 1975-80 8% SAMPLE, AND 1990 5% SAMPLE EXCLUDING AK, HI, DC. $C LAT LON (IN DECIMAL DEGREES) 1980. $C IMPLEMENTING DISTANCE MEASURED USING SPHERICAL $C COORDINATES. $C The original coding was kindly provided by Grusky, David $C $C Jan 29, 1996 $C GE LIN $C ************************************************** $CYCLE 25 0 1.0E-4 $ $ACCURACY 6 $ $UNIT 2304 $Echo $CAL %D = 48 $ $CAL %Z = %D + 1 $ $CAL O = %GL(%D,%D):D = %GL(%D,1) $ $FAC O %D D %D $ $TRANS $ $C DATA IS '/XIELIN/GRUSK/grk80_90.DAT' $DATA oo dd TFREQ fr90 cross $DINPUT 8 $TRANS I O $ $C TPRINT Fr90 48;48 $Del oo dd $ $VAR 48 WGTS $C ************************************************************* $C * SAMPLE WEIGHTS FOR STATES * $C ************************************************************* $DATA WGTS $READ .245 .220 .303 .161 .157 .162 .169 .161 .208 .202 .221 .192 .205 .255 .262 .218 .193 .301 .291 .239 .254 .177 .164 .166 .183 .171 .165 .169 .154 .178 .168 .174 .179 .189 .158 .188 .168 .181 .194 .183 .174 .160 .154 .192 .151 .168 .174 .154 $CAL DWGTS=WGTS(D) $C TPRINT OWGTS 48;48$ $C ****************************************************************** $C * CALCULATING WEIGHTED/DEFLATED CELL FREQUECIES * $C ****************************************************************** $CAL FREQ=TFREQ*DWGTS*0.5 $C TPRINT FREQ 48;48$ $Delete wgts dwgts $ !pop is 1978 state population !grow is 1977-79 annual econ growth rate $VAR 48 LAT LON area pop grow gr85 gr86$ $C ****************************************************************** $C * LATITUDE AND LONGITUDE IN DECIMAL DEGREES * $C ****************************************************************** $DATA LAT LON area pop grow gr85 gr86 $READ 44.41 69.64 9.571 1092 2.5 8.7 6.5 43.18 71.47 2.677 869 6.2 7.8 5.3 44.06 72.81 2.794 487 4.8 8.9 6.4 42.28 71.38 2.309 5771 3.5 7.8 5.5 41.76 71.44 0.293 932 2.6 7.4 5.2 41.49 72.88 1.392 3116 3.7 7.9 5.7 41.55 74.72 13.875 17746 2.5 6.4 4.5 40.46 74.42 2.057 7316 3.5 8.0 5.8 40.47 77.2 12.55 11763 2.2 6.5 4.9 40.52 82.7 11.3 10732 1.9 5.5 4.4 40.18 86.28 9.932 5387 1.8 6.5 5.1 41.21 88.41 15.396 11238 1.9 6.0 4.6 42.84 84.11 16.928 9181 0.8 4.7 3.5 43.72 88.98 16.477 4683 3.2 6.1 4.9 45.25 93.65 25.577 4024 4.2 6.7 5.5 41.99 93.06 15.853 2906 2.7 5.3 4.8 38.48 92.08 18.648 4847 2.7 5.6 4.1 47.43 99.51 21.874 653 6.7 -0.4 2.0 44.11 99.06 22.598 69 4.9 5.5 4.5 41.2 97.57 21.606 1569 3.2 4.9 4.6 38.45 96.64 21.982 2347 3.5 4.3 3.8 39.44 75.56 0.553 584 1.3 10.2 8.0 39.16 76.79 2.625 4148 2.6 8.2 6.1 37.64 78 10.512 5177 3.9 8.2 5.9 38.72 80.94 6.493 1861 1.0 3.7 3.1 35.57 79.68 12.628 5571 3.7 8.1 5.9 34.05 81.04 7.794 2902 5.3 8.0 5.9 33.19 83.81 14.599 5075 4.8 7.4 5.1 27.79 81.67 13.348 8661 6.6 8.3 6.2 37.79 85.22 10.645 3490 2.5 5.8 4.8 35.78 86.42 10.876 4333 4.4 7.2 5.3 32.99 86.78 12.897 3728 3.4 6.1 4.8 32.58 89.62 11.871 2409 3.3 5.0 4.6 34.97 92.43 13.517 2167 3.7 5.7 4.6 30.72 91.47 11.225 3978 2.1 -0.6 3.4 35.59 96.89 18.031 2843 4.1 0.9 3.0 30.99 97.46 65.06 13047 3.9 2.6 4.1 46.86 110.92 45.132 780 3.0 4.4 3.6 44.21 114.94 24.391 882 3.1 6.5 6.1 42.66 106.93 27.966 425 6.7 -4.1 0.6 39.49 105.18 28.041 2706 6.4 4.2 3.8 34.62 106.24 30.936 1215 3.7 2.0 3.5 33.32 111.72 28.859 2373 9.6 7.0 4.6 40.52 111.83 22.967 1317 5.5 4.2 3.9 37.55 116.76 29.969 666 9.5 10.8 8.6 47.34 121.53 20.75 3793 6.4 7.9 5.9 44.69 122.56 28.187 2452 4.6 6.9 5.5 35.47 119.44 41.533 22314 4.4 7.7 5.8 $C *************************************************** $C THIS SECTION CONTAINS CODE FOR CALCULATING THE DISTANCE $C BETWEEN ANY TWO POINTS IN THE CONTINENTAL U.S. $C GIVEN THE LATITUDE AND LONGITUDE OF THESE POINTS. $C NOTE: MAIN DIAGONAL ASSIGNED ZERO (INVALID F/O STATEMENT CAN $C BE IGNORED). $C *************************************************** $VAR 48 LAT LON XPOS XPOS1 XPOS2 YPOS ZPOS $CAL XPOS=(3960)*(%SIN((90-LAT)/180*%PI))* (%SQRT(1-(%SIN((360-LON)/180*%PI))**2)) $CAL XPOS=%IF(LON>90,-XPOS,XPOS) $CAL YPOS=(3960)*(%SIN((90-LAT)/180*%PI))* (%SIN((360-LON)/180*%PI)) $CAL ZPOS=(3960)*(%SQRT(1-(%SIN((90-LAT)/180*%PI))**2)) $CAL XD=XPOS(D) $CAL XO=XPOS(O) $CAL YD=YPOS(D) $CAL YO=YPOS(O) $CAL ZD=ZPOS(D) $CAL ZO=ZPOS(O) $C ************************************************************** $CAL DIS=3960*((%PI/2)-%ANG((((XD*XO)+(YD*YO)+(ZD*ZO))/(3960**2))**2)) $CAL LDIS=%LOG(DIS)$ $DELETE CORR DIST $DELETE XD XO YD YO ZD ZO LAT LON $ $C TPRINT DIS 48;48 $C TPRINT nDT 48;48 $ $echo $C *********Factorizing crossing effects************************* $CAL LCDIS=LDIS*cross$ $CAL cont=%if(cross>1,0,1) $ ! contiguity !*********6th neighbor was not significant in the model $CAL cnt2=%if(cross>2,0,cross)+1 $ !get to 5th neighbors $Fac cnt2 3 $ $CAL cnt3=%if(cross>3,0,cross)+1 $ !get to 5th neighbors $Fac cnt3 4 $ $CAL cnt5=%if(cross>5,0,cross)+1 $ !get to 5th neighbors $Fac cnt5 6 $ $C ************************************************** $CAL DIAG=%IF(%EQ(O,D),O,0):DIAG=DIAG+1$FAC DIAG %Z$ $C ******************************************** $C CREATING UNIFORM PERSISTENCE VARIABLE $C ******************************************** $CAL UNIF=%IF(D==O,1,0) $ $C TPRINT UNIF 48;48 $ $C ******************************************** $C CREATING REGIONAL EFFECTS $C ******************************************** $CAL REG=0$ $CAL NE=%IF(O<10&D<10,1,0) $ $CAL NCEN=%IF(O>9&O<22&D>9&D<22,1,0) $ $CAL S=%IF(O>21&O<38&D>21&D<38,1,0) $ $CAL W=%IF(O>37&D>37,1,0) $ $CAL REG=(NE+(NCEN*2)+(S*3)+(W*4))+1 $ $FAC REG 5$ $C DELETE NE NCEN S W $ $C TPRINT REG 48;48 $ $C ******************************************** $C CREATING SUBREGIONAL EFFECTS $C ******************************************** $CAL SUBR=0$ $CAL NEW=%IF(O<7&D<7,1,0) $ $CAL MA=%IF(O>6&O<10&D>6&D<10,1,0) $ $CAL ENC=%IF(O>9&O<15&D>9&D<15,1,0) $ $CAL WNC=%IF(O>14&O<22&D>14&D<22,1,0) $ $CAL SA=%IF(O>21&O<30&D>21&D<30,1,0) $ $CAL ESC=%IF(O>29&O<34&D>29&D<34,1,0) $ $CAL WSC=%IF(O>33&O<38&D>33&D<38,1,0) $ $CAL NM=%IF(O>37&O<41&D>37&D<41,1,0) $ $CAL SM=%IF(O>40&O<46&D>40&D<46,1,0) $ $C CAL NSM=%IF(O>37&O<46&D>37&D<46,1,0) $ !put SM to NM $CAL P=%IF(O>45&D>45,1,0) $ $CAL SUBR=(NEW+(MA*2)+(ENC*3)+(WNC*4)+(SA*5)+(ESC*6)+(WSC*7)+ (NM*8)+(SM*9)+(P*10))+1 $c CAL SUBR=(NEW+(MA*2)+(ENC*3)+(WNC*4)+(SA*5)+(ESC*6)+(WSC*7)+ (NSM*8)+(P*9))+1 !combine NM and SM $FAC SUBR 11$ $C DELETE NEW MA ENC WNC SA ESC WSC M NM SM P $ $C TPRINT SUBR 48;48 $ $C ******************************************** $C CREATING WITHIN SUBREGION CONT VARIABLE $C ******************************************** $CAL RSUB=0 $ $CAL RSUB=NEW+MA+ENC+WNC+SA+ESC+WSC+NM+SM+P $ $tab the rsub total $ $C CAL RSUB=NEW+MA+ENC+WNC+SA+ESC+WSC+NSM+P $ !new NSM subregion $CAL CONS=CONT*RSUB $ $DELETE NEW MA WNC SA ESC WSC NM SM P $ $C ******************************************** $C CREATING WITHIN REGION CONT VARIABLE $C ******************************************** $CAL RREG=0 $ $CAL RREG=NE+NCEN+S+W $ $tab the rreg total $ $CAL CONW=CONT*RREG $ $CAL CONR=CONT*(RREG-RSUB) $ $DELE NE NCEN S W $ $C ************************************ $C TRANSFORMING CONTIGUOUS STATE VARIABLE $C ************************************ $CAL CONB=CONT-CONR-CONS $ $C TPRINT CONT 48;48 $ $C TPRINT CONS 48;48 $ $C TPRINT CONR 48;48 $ $C TPRINT CONB 48;48 $ $C TPRINT CONW 48;48 $ $C ************************************ $C CREATING regional restructuring dummies $C ************************************ $Cal NtoS=%if((O<15&(D>25&D<30)) ,1,0) !north to south $Cal NtoW=%if((O<15&(D>40&D/=44)),1,0) !north to west $C ************************************ $C CREATING AFFINITY/DISAFFINITY MATRICES $C ************************************ $C FLORIDA BY NORTHEAST AFFINITY $CAL A1=%IF((D==29& O<10),1,0) $ $CAL A2=%IF((O==29&(D<10)),1,0) $ $C ARIZONA BY NORTHEAST AND NORTH CENTRAL AFFINITY $CAL B1=%IF((D==43&O<22),1,0) $ $CAL B2=%IF((O==43&D<22),1,0) $ $C UTAH BY NON-WEST DISAFFINITY $CAL F1=%IF((D==44&O<38),1,0) $ $CAL F2=%IF((O==44&D<38),1,0) $ $CAL F=F1+F2 $ $C CALIFORNIA DISPERSISTENCE EFFECT $CAL L1=%IF((O>37&O<48&D==48),1,0) $ $CAL L2=%IF((O==48&D>37&D<48),1,0) $ $C FLORIDA DISPERSISTENCE EFFECT $CAL M1=%IF((O>21&O<29&D==29)?(O>29&O<38&D==29),1,0) $ $CAL M2=%IF((O==29&D>21&D<29)?(O==29&D>29&D<38),1,0) $ $C NY DISPERSISTENCE EFFECT $CAL NY1=%IF((O==7&D<10),1,0) $ $CAL NY2=%IF((D==7&O<10),1,0) $ $C TPRINT cnt2 48;48 $ $C *************************************************************** $C get population and other association terms into interaction terms $C *************************************************************** $Cal intpop=%log(pop(D))*%log(pop(O))$ !pop term $Cal intarea=%log(area(D))*%log(area(O))$ !area term $CAL grprat=(grow(d))/(grow(o)) $CAL gr90=(gr86(d))/(gr86(o)) $C AL gr90=(gr85(d))/(gr85(o)) $C AL grprat=(grow(d))/(%sqrt(grow(o))) ! better off $C AL grprat=(grow(d)*grow(d))/(%sqrt(grow(o))) !better off $Cal indp=Ldis*intpop $ !interaction between pop and distance $cal wgt=1-(o==d) $tab the cons total $ $tab the conr total $ $tab the conb total $ $tab the freq total $ $tab the fr90 total $ $Cal FREQ=(Freq)*wgt $Cal FR90=(Fr90+0.5)*wgt $tab the freq total $ $tab the fr90 total $ $CAL %n=%CU(freq*wgt) $ ! $CAL %m=%CU(fr90*wgt) $ ! $PRINT 'SAMPLE SIZE N ' %N $ $CAL %L=%LOG(%N) $PRINT 'log(n) ' %L $ $PRINT 'SAMPLE SIZE N ' %N $ $CAL %L=%LOG(%m) $PRINT 'log(m) ' %L $ $C ************************************ $C DEFINING DEPENDENT VARIABLE AND ERROR DIST $C ************************************ $YVAR FREQ $ $ERR P $ $C ************************************ $C MODEL 2 vs 3. $C ************************************ $weight wgt $ $tab the FREQ total $yvar FREQ $error p $link L $macro wtsta! $PRINT 'PEARSONS CHISQUARE ' %X2! $PRINT 'LOGLIKELIHOOD RATIO ' %DV! $PRINT 'Degrees of Freedom ' %df! $Cal FW=%FV*wgt $CAL %U=%CU(%SQRT((%FV-FREQ)**2)*wgt) $CAL %s=%CU(%FV*wgt) $CAL %U=50*(%U/%s) $PRINT 'INDEX OF DISSIMILARITY ' %U! $calc %b= %DV - %df*%log(%n) $PRINT 'BIC Statistic' %b ! $PRINT 'Small S' %s ! $endmac ! $c *********Fitting three final models ********************** ! grusk's final model $FIT O+D+REG+SUBR+A1+A2+B1+B2+F+L1+L2+M1+LDIS+CONB+CONR+CONS $ $dis E $use wtsta $ $FIT O+D+REG+SUBR+A1+A2+B1+B2+F+L1+L2+M1+ny1+ny2+LDIS+CONB+CONR+CONS $ $dis E $use wtsta $ $FIT O+D+REG+SUBR+A1+A2+B1+B2+F+L1+L2+M1+ny1+ny2+LDIS+CONB+CONR+CONS +cnt5+grprat+NtoS+NtoW $ $dis E $use wtsta $ $c **********************90 data***************************** $c **********************90 data***************************** $YVAR FR90 $ $macro wts90! $PRINT 'PEARSONS CHISQUARE ' %X2! $PRINT 'LOGLIKELIHOOD RATIO ' %DV! $PRINT 'Degrees of Freedom ' %df! $CAL %U=%CU(%SQRT((%FV-fr90)**2)*wgt ) $CAL %s=%CU(%FV*wgt) $CAL %U=50*(%U/%s) $PRINT 'INDEX OF DISSIMILARITY ' %U! $calc %b= %DV - %df*%log(%m) $PRINT 'BIC Statistic' %b ! $endmac ! $c *********Fitting three final models ********************** ! grusk's final model $FIT O+D+REG+SUBR+A1+A2+B1+B2+F+L1+L2+M1+LDIS+CONB+CONR+CONS $ $dis E $use wts90 $ $FIT O+D+REG+SUBR+A1+A2+B1+B2+F+L1+L2+M1+ny1+ny2+LDIS+CONB+CONR+CONS $ $dis E $use wts90 $ $FIT O+D+REG+SUBR+A1+A2+B1+B2+F+L1+L2+M1+ny1+ny2+LDIS+CONB+CONR+CONS +cnt5+gr90+NtoS+NtoW $ $dis E $use wts90 $ $stop