用spss23.0做PSM的时候,输出的结果如图,请问各位好汉,怎么解决呢?* 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 Objectgroup
/METHOD=ENTER Age Eduction Marriage Children
/SAVE=PRED(PS).""")
try:
spss.Submit(lrcmd)
except:
raise ValueError("Logistic Regression step failed")
fuzzycmd = spssaux.u(r"""FUZZY BY=PS SUPPLIERID=ID NEWDEMANDERIDVARS=AA
GROUP=Objectgroup EXACTPRIORITY=FALSE
DRAWPOOLSIZE=CC MATCHGROUPVAR=%(matchgroup)s FUZZ=0.1 DS3=%(tempdsname)s
/OPTIONS SAMPLEWITHREPLACEMENT=FALSE MINIMIZEMEMORY=TRUE SHUFFLE=FALSE .
DELETE VARIABLES %(matchgroup)s.
DATASET ACTIVATE %(ds)s.
DELETE VARIABLES %(matchgroup)s.
DATASET COPY BB.
DATASET ACTIVATE BB.
SELECT IF Objectgroup EQ 1.
DATASET ACTIVATE %(tempdsname)s.
DATASET ACTIVATE BB.
ADD FILES /FILE=* /FILE=%(tempdsname)s.
EXECUTE.
DATASET CLOSE %(tempdsname)s.""" % locals())
spss.Submit(fuzzycmd)
end program.
FUZZY BY=Age Eduction Marriage Children SUPPLIERID=ID NEWDEMANDERIDVARS=D GROUP=Objectgroup
FUZZ=0.1 EXACTPRIORITY=FALSE
DRAWPOOLSIZE=F MATCHGROUPVAR=E
/OPTIONS SAMPLEWITHREPLACEMENT=FALSE MINIMIZEMEMORY=TRUE SHUFFLE=FALSE.