SDQ: Predictive Algorithm in SPSS

The predictive algorithm is based on up to twelve input variables:

phyper =SDQ hyperactivity score from parent SDQ
thyper =SDQ hyperactivity score from teacher SDQ
shyper =SDQ hyperactivity score from self-report SDQ
pconduct =SDQ conduct problems score from parent SDQ
tconduct =SDQ conduct problems score from teacher SDQ
sconduct =SDQ conduct problems score from self-report SDQ
pemotion =SDQ emotional symptoms score from parent SDQ
temotion =SDQ emotional symptoms score from teacher SDQ
semotion =SDQ emotional symptoms score from self-report SDQ
pimpact =SDQ impact score from parent SDQ
timpact =SDQ impact score from teacher SDQ
simpact =SDQ impact score from self-report SDQ

The algorithm generates four output variables:

sdqed =prediction of an emotional disorder
(0 = unlikely, 1 = possible, 2 = probable)
sdqcd =prediction of a conduct disorder
(0 = unlikely, 1 = possible, 2 = probable)
sdqhk =prediction of a hyperactivity disorder
(0 = unlikely, 1 = possible, 2 = probable)
anydiag=prediction of any psychiatric disorder
(0 = unlikely, 1 = possible, 2 = probable)

set format=f8.0 .
compute varmis = 0.
recode varmis (0=sysmis).
execute.

if (phyper ge 0 and pimpact ge 0) phk=0.
if (phyper ge 6 and pimpact ge 1) phk=1.
if (phyper ge 7 and pimpact ge 2) phk=2.
if (phyper ge 9 and pimpact ge 1) phk=2.
execute.

if (shyper ge 0 and simpact ge 0) shk=0.
if (shyper ge 6 and simpact ge 1) shk=1.
if (shyper ge 7 and simpact ge 2) shk=2.
execute.

if (thyper ge 0 and timpact ge 0) thk=0.
if (thyper ge 6 and timpact ge 1) thk=1.
if (thyper ge 7 and timpact ge 2) thk=2.
execute.

compute pshk=phk.
execute.
if (sysmis(phk)) pshk=shk.
execute.

if (phk ge 0 or shk ge 0 or thk ge 0) sdqhk=0.
if (pshk=2 or thk=2) sdqhk=1.
if (pshk=1 and thk=1) sdqhk=1.
if (pshk=1 and sysmis(thk)) sdqhk=1.
if (sysmis(pshk) and thk=1) sdqhk=1.
if (pshk=2 and thk=1) sdqhk=2.
if (pshk=2 and thk=2) sdqhk=2.
execute.

if (pconduct ge 0 or tconduct ge 0 or sconduct ge 0) sdqcd=0.
if (pconduct ge 4 or tconduct ge 3 or sconduct ge 5) sdqcd=1.
if (pconduct ge 5 and pimpact ge 2) sdqcd=2.
if (tconduct ge 4 and timpact ge 2) sdqcd=2.
if (sconduct ge 6 and simpact ge 2) sdqcd=2.
if (sysmis(pimpact) and sysmis(timpact) and sysmis(simpact)) sdqcd = varmis.
execute.

if (pemotion ge 0 or temotion ge 0 or semotion ge 0) sdqed=0.
if (pemotion ge 5 and pimpact ge 1) sdqed=1.
if (temotion ge 5 and timpact ge 1) sdqed=1.
if (semotion ge 6 and simpact ge 1) sdqed=1.
execute.

compute pem= 0.
if (pemotion ge 6 and pimpact ge 2) pem=1.
execute.
compute tem= 0.
if (temotion ge 6 and timpact ge 2) tem=1.
execute.
compute sem= 0.
if (semotion ge 7 and simpact ge 2) sem=1.
execute.
compute allem= pem + tem + sem.

if (allem ge 1) sdqed=2.
if (allem=1 and sdqcd=2) sdqed=1.
if (allem=1 and sdqhk=2) sdqed=1.
if (sysmis(pimpact) and sysmis(timpact) and sysmis(simpact)) sdqed = varmis.
execute.

if (sysmis(sdqed) and sysmis(sdqcd) and sysmis(sdqhk)) anydiag = varmis.
if (sdqed ge 0 or sdqcd ge 0 or sdqhk ge 0) anydiag=0.
if (sdqed ge 1 or sdqcd ge 1 or sdqhk ge 1) anydiag=1.
if (sdqed ge 2 or sdqcd ge 2 or sdqhk ge 2) anydiag=2.
execute.

delete variables varmis phk shk thk pshk pem tem sem allem.


Last modified : 27/03/07