* Propensity Score Matching.
begin program.
import spss, random, spssaux, codecs
try:
   import FUZZY
except:
   print "This procedure requires the FUZZY extension command which is not installed."
parts = [int(i) for i in FUZZY.__version__.split(".")]
if  parts < [1,3,0]:
   raise EnvironmentError("This procedure requires version 1.3.0 or later of FUZZY")
ds = spss.ActiveDataset()
if ds =="*":
   ds = "D" + str(random.random())
   spss.Submit("DATASET NAME " + ds)
ds = codecs.encode(ds)  # must use code page rep here
matchgroup = "M" + str(random.random())  #temporary variable
tempdsname = "D" + str(random.random())
lrcmd = spssaux.u(r"""LOGISTIC REGRESSION VARIABLES GROUP
     /METHOD=ENTER SEX AGE CF1
     /SAVE=PRED(ps).""")
try:
   spss.Submit(lrcmd)
except:
   raise ValueError("Logistic Regression step failed")
fuzzycmd = spssaux.u(r"""FUZZY BY=ps SUPPLIERID=ID NEWDEMANDERIDVARS=psid
GROUP=GROUP EXACTPRIORITY=FALSE
MATCHGROUPVAR=%(matchgroup)s FUZZ=0.01 DS3=%(tempdsname)s
/OPTIONS SAMPLEWITHREPLACEMENT=FALSE MINIMIZEMEMORY=TRUE SHUFFLE=FALSE .
DELETE VARIABLES %(matchgroup)s.
DATASET ACTIVATE %(ds)s.
DELETE VARIABLES %(matchgroup)s.
DATASET COPY psssssssss.
DATASET ACTIVATE psssssssss.
SELECT IF GROUP EQ 1.
DATASET ACTIVATE %(tempdsname)s.
DATASET ACTIVATE psssssssss.
ADD FILES /FILE=* /FILE=%(tempdsname)s.
EXECUTE.
DATASET CLOSE %(tempdsname)s.""" % locals())
spss.Submit(fuzzycmd)
end program.
This procedure requires the FUZZY extension command which is not installed.
Traceback (most recent call last):
  File "<string>", line 7, in <module>
NameError: name 'FUZZY' is not defined
SAVE OUTFILE='C:\Users\Administrator\Desktop\Untitled1.sav'
  /COMPRESSED.
* Propensity Score Matching.
begin program.
import spss, random, spssaux, codecs
try:
   import FUZZY
except:
   print "This procedure requires the FUZZY extension command which is not installed."
parts = [int(i) for i in FUZZY.__version__.split(".")]
if  parts < [1,3,0]:
   raise EnvironmentError("This procedure requires version 1.3.0 or later of FUZZY")
ds = spss.ActiveDataset()
if ds =="*":
   ds = "D" + str(random.random())
   spss.Submit("DATASET NAME " + ds)
ds = codecs.encode(ds)  # must use code page rep here
matchgroup = "M" + str(random.random())  #temporary variable
tempdsname = "D" + str(random.random())
lrcmd = spssaux.u(r"""LOGISTIC REGRESSION VARIABLES GROUP
     /METHOD=ENTER SEX AGE CF1
     /SAVE=PRED(ps).""")
try:
   spss.Submit(lrcmd)
except:
   raise ValueError("Logistic Regression step failed")
fuzzycmd = spssaux.u(r"""FUZZY BY=ps SUPPLIERID=ID NEWDEMANDERIDVARS=psid
GROUP=GROUP EXACTPRIORITY=FALSE
MATCHGROUPVAR=%(matchgroup)s FUZZ=0.01 DS3=%(tempdsname)s
/OPTIONS SAMPLEWITHREPLACEMENT=FALSE MINIMIZEMEMORY=TRUE SHUFFLE=FALSE .
DELETE VARIABLES %(matchgroup)s.
DATASET ACTIVATE %(ds)s.
DELETE VARIABLES %(matchgroup)s.
DATASET COPY psssssssss.
DATASET ACTIVATE psssssssss.
SELECT IF GROUP EQ 1.
DATASET ACTIVATE %(tempdsname)s.
DATASET ACTIVATE psssssssss.
ADD FILES /FILE=* /FILE=%(tempdsname)s.
EXECUTE.
DATASET CLOSE %(tempdsname)s.""" % locals())
spss.Submit(fuzzycmd)
end program.
This procedure requires the FUZZY extension command which is not installed.
Traceback (most recent call last):
  File "<string>", line 7, in <module>
NameError: name 'FUZZY' is not defined
如上,出现上述反馈,不知道怎么进行下一步了。求助!!!!!