*! version 1.3 31 August 1992 (STB-10: srd14) program define cwhetero version 3.0 if "$S_E_cmd"!="fit" { error 301 } mac def _varlist "req ex min(1)" parse "%_*" parse "%_varlist", parse(" ") local rhsnew "`*'" if "$S_E_if" !="" | "$S_E_in" !="" { qui keep $S_E_if $S_E_in } qui fit qui fpredict double fitval qui fpredict double hetres, resid qui fpredict double fitlever, hat qui fpredict double stares, rsta qui gen stares2=stares^2 local ehatden=sum(_result(4)/_result(1)) qui gen double ehat=hetres^2/`ehatden' qui fit ehat `rhsnew' local ssreg=_result(2)/2 local chidf=_result(3) qui fpredict double fit qui gen double levfit=(1-fitlever)*fit la var stares2 "standardized residual squared" la var levfit "(1-hat) * interim predicteds" qui fit ehat fitval local ssreg2=_result(2)/2 local chidf2=_result(3) qui gen double levfit2=(1-fitlever)*fitval la var levfit2 "(1-hat) * interim predicteds" noi di "" #del ; noi di "Score test (`rhsnew') = " %8.3f `ssreg' "; chi-square p-value (df) = " %6.3f chiprob(`chidf',`ssreg') " (`chidf')" ; noi di "Score test (pred fit) = " %8.3f `ssreg2' "; chi-square p-value (df) = " %6.3f chiprob(`chidf2',`ssreg2') " (`chidf2')" ; #del cr gr stares2 levfit, ti("Check for Nonconstant variance (wedge=problem)") gr stares2 levfit2, ti("Check for Nonconstant variance (wedge=problem)") qui us $S_FN, replace end