USE ALL.
COMPUTE filter_$=(meanweek > 0 ).
VARIABLE LABEL filter_$ 'meanweek > 0 (FILTER)'.
VALUE LABELS filter_$  0 'Not Selected' 1 'Selected'.
FORMAT filter_$ (f1.0).
FILTER BY filter_$.
EXECUTE .

LOGISTIC REGRESSION  energuser 
  /METHOD = BSTEP(COND) sechypnew thirhypnew mainhypnew grownups preschol
  schoolch envorient lgpersincom carorient student sex edlevel employed age
  dlicense moved brngchild carown overnight outside respref
  /CRITERIA = PIN(.045) POUT(.05) ITERATE(20) CUT(.5) .

LOGISTIC REGRESSION  energuser 
  /METHOD = BSTEP(COND) mainhypnew grownups
  envorient lgpersincom carorient edlevel age
  dlicense moved carown overnight
  /CRITERIA = PIN(.045) POUT(.05) ITERATE(20) CUT(.5) .


LOGISTIC REGRESSION  energuser 
  /METHOD = BSTEP(COND) mainhypnew
  lgpersincom carorient edlevel
  dlicense moved carown overnight
  /CRITERIA = PIN(.045) POUT(.05) ITERATE(20) CUT(.5) / save pred  (IKL).

compute IPS = probit(IKL).

compute LAMBDA = ((1/sqrt(2*3.141592654))*(exp( IPS*IPS*0.5)))/cdfnorm(IPS).

USE ALL.
COMPUTE filter_$=(meanweek > 0 & meanweek < 37.2).
VARIABLE LABEL filter_$ 'meanweek > 0 & meanweek < 37.2 (FILTER)'.
VALUE LABELS filter_$  0 'Not Selected' 1 'Selected'.
FORMAT filter_$ (f1.0).
FILTER BY filter_$.
EXECUTE .

REGRESSION
  /MISSING LISTWISE
  /STATISTICS COEFF OUTS R ANOVA COLLIN TOL
  /CRITERIA=PIN(.045) POUT(.05)
  /NOORIGIN
  /DEPENDENT enerday2 
  /METHOD=BACKWARD sechypnew thirhypnew mainhypnew  grownups preschol schoolch envorient lgpersincom carorient student sex 
edlevel age carown employed dlicense moved brngchild overnight outside respref LAMBDA
  /RESIDUALS DURBIN
  /CASEWISE PLOT(ZRESID) OUTLIERS(3) .
EXECUTE .

REGRESSION
  /MISSING LISTWISE
  /STATISTICS COEFF OUTS R ANOVA COLLIN TOL
  /CRITERIA=PIN(.045) POUT(.05)
  /NOORIGIN
  /DEPENDENT enerday2 
  /METHOD=BACKWARD thirhypnew mainhypnew lgpersincom carorient  carown dlicense moved outside LAMBDA
  /RESIDUALS DURBIN
  /CASEWISE PLOT(ZRESID) OUTLIERS(3) .
EXECUTE .


USE ALL.
COMPUTE filter_$=(meanweek > 0 & meanweek < 37.2 & carown < 9999 & carorient < 9999 & medvd < 9999 & dlicense < 9999 & outside < 9999 &  lgpersinco < 9999 & mainhypnew < 9999 &  thirhypnew < 9999.
VARIABLE LABEL filter_$ 'meanweek > 0 & meanweek < 37.2 & carown < 9999 & carorient < 9999 & medvd < 9999 & dlicense < 9999 & outside < 9999 &  lgpersinco < 9999 & mainhypnew < 9999 &  thirhypnew < 9999 (FILTER)'.
VALUE LABELS filter_$  0 'Not Selected' 1 'Selected'.
FORMAT filter_$ (f1.0).
FILTER BY filter_$.
EXECUTE .

compute DELTA = -LAMBDA*IPS-LAMBDA*LAMBDA.
DESCR DELTA /statistics = min max.

REGRESSION /dep=enerday2
  /method=enter thirhypnew mainhypnew lgpersincom carorient  carown dlicense moved outside LAMBDA
  /save resid (RES).

compute RES2 = RES*RES.

compute LAMB=0.002648.
compute N=2130.

compute HELP = 1.
AGGREGATE /outfile=A /break=HELP
 /RESS=sum(RES2)
 /DELTAS=sum(DELTA).
MATCH FILES /table=A /file=* /by HELP.

compute VARC = RESS/N-LAMB*LAMB*DELTAS/N.
compute SEC = sqrt(VARC).

compute RHO = sqrt(LAMB*LAMB/VARC).
If (lamb<0) RHO = 0-RHO.

report /variables=VARC SEC RHO /break=(total)
 /summary=mean (VARC(4) SEC(4) RHO(4)).

compute RHOI = sqrt(VARC+LAMB*LAMB*DELTA).
compute WGT = 1/RHOI.

REGRESSION /dep=enerday2
  /method=enter thirhypnew mainhypnew lgpersincom carorient  carown dlicense moved outside LAMBDA
  /regwgt=WGT.

REGRESSION /dep=enerday2
  /method=enter  mainhypnew lgpersincom carorient  carown dlicense moved outside LAMBDA .


COMPUTE energpred8=-0.090 + mainhypnew * 0.753 + 0.644 * 1.1777 - 0.069 * 4.37 + 4.476 * 0.0474 + 
    1.441 * 0.1923 + 0.414 * 0.1695 + 0.976 * 0.0700 - 0.573 * 0.9027.
EXECUTE.

DESCRIPTIVES VARIABLES=energpred8
  /STATISTICS=MEAN STDDEV MIN MAX.

GRAPH
  /SCATTERPLOT(BIVAR)=kmtomain WITH energpred8
  /MISSING=LISTWISE.
