全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SPSS论坛
9966 6
2016-07-25
* 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
如上,出现上述反馈,不知道怎么进行下一步了。求助!!!!!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-7-26 12:23:34
spss 23.0数据菜单里自带的PSM功能可以用么?怎么用?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-12-19 20:52:04
先运行一遍个案控制匹配,再运行倾向得分匹配试一下。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-3-30 18:47:28
你好,能把你的psm插件给我一份吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-4-23 11:22:13
请问楼主解决了吗?遇到了同样的问题,是缺少插件吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2021-8-27 17:31:21
Cendrillonee 发表于 2021-4-23 11:22
请问楼主解决了吗?遇到了同样的问题,是缺少插件吗?
您好,请问您的解决了吗?我的也出现这个问题
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群