options crt; ? 4e5 in chow; smpl 1,137; mem = words*binary*digits; dot rent mult access add mem; ln. = log(.); enddot; set jyr = 54; dot 54-65; d. = (year = jyr); set jyr = jyr+1; enddot; d5459 = (year >= 54 & year <= 59); d6065 = (year >= 60 & year <= 65); ? set ssr6065t = 0; set lr6065 = 0; dot 60-65; select d.; olsq(silent) lnrent d. lnmult lnmem lnaccess; set ssr6065t = ssr6065t + @ssr; set lr6065 = lr6065 + @nob*log(@ssr/@nob); ? for (d) enddot; select d6065; olsq(silent) lnrent c d61-d65 lnmult lnmem lnaccess; rename @ssr ssr6065; set t6065 = @nob; ? for (d) set df1 = 5*3; set df2 = @nob-6*4; set fstata = (ssr6065-ssr6065t)/df1/(ssr6065t/df2); cdf(f,df1=df1,df2=df2) fstata; ? (a) ? set ssr5459t = 0; set lr5459 = 0; dot 54-59; select d.; olsq(silent) lnrent d. lnmult lnmem lnaccess; set ssr5459t = ssr5459t + @ssr; set lr5459 = lr5459 + @nob*log(@ssr/@nob); ? for (d) enddot; select d5459; olsq(silent) lnrent c d55-d59 lnmult lnmem lnaccess; rename @ssr ssr5459; set t5459 = @nob; ? for (d) set df1 = 5*3; set df2 = @nob-6*4; set fstatb = (ssr5459-ssr5459t)/df1/(ssr5459t/df2); cdf(f,df1=df1,df2=df2) fstatb; ? (b) ? select 1; olsq(silent) lnrent c d55-d65 lnmult lnmem lnaccess; rename @ssr ssr5465; set df1 = 3; set df2 = @nob-2*9; set fstatc1 = (ssr5465-ssr5459-ssr6065)/df1/((ssr5459+ssr6065)/df2); cdf(f,df1=df1,df2=df2) fstatc1; ? (c.1) ? set df1 = 11*3; set df2 = @nob-12*4; set fstatc2 = (ssr5465-ssr5459t-ssr6065t)/df1/((ssr5459t+ssr6065t)/df2); cdf(f,df1=df1,df2=df2) fstatc2; ? (c.2) ? ? We can use likelihood ratio tests to see if the disturbance variance ? is the same in the different years. If we have N groups, the ? likelihood ratio test reduces to: ? T*log(sigma) - sum(over i=1 to N)(T(i)*log(sigma(i)) ? Where T(i) = number of observations in the ith group, ? sigma(i) = SSR(i)/T(i) = ML estimate of sigma for ith group ? Plain T and sigma are for all N groups together. ? This is distributed as chi-squared with df=(N-1). ? So we just have to store T(i)*log(SSR(i)/T(i)) in the previous ? regressions to compute this. These are stored in lr5459 and lr6065. ? title 'LR het test Within 54-59 (all parameters varying)'; set sig5459 = ssr5459t/t5459; set lrw5459 = t5459*log(sig5459) - lr5459; cdf(chisq,df=5) lrw5459; ? title 'LR het test Within 60-65 (all parameters varying)'; set sig6065 = ssr6065t/t6065; set lrw6065 = t6065*log(sig6065) - lr6065; cdf(chisq,df=5) lrw6065; ? title 'LR het test Between 54-59 and 60-65 (all parameters varying)'; set lr5465 = t5459*log(sig5459) + t6065*log(sig6065); set t5465 = t5459+t6065; set sig5465 = (ssr5459t+ssr6065t)/t5465; set lrb5465 = t5465*log(sig5465) - lr5465; cdf(chisq,df=1) lrb5465;