我已经完成了一份简短的研究报告,并且在Stata 13中遇到了我的代码问题。
我估计几个变量对序数因变量的影响。我使用有序概率和生成的预测概率运行初始估计。出于本研究报告的目的,我需要手动生成预测概率的置信区间(使用模拟)。不幸的是,margins
不是我不久的将来。
我一直在尝试运行模拟,但每当我为因变量的每个切割点包含索引函数[
i']时,我都会收到错误:
equation cut1][1 not found
我使用的代码是:
set seed 23
mat b = e(b)
mat V = e(V)
drawnorm b_term b_pres b_acc cut1 cut2 cut3 cut4 cut5 cut6, mean(b) cov(V) n(1000) clear
gen p_1a_mean = .
forvalues i = 1/1000 {
gen p_1a_`i' = normal(_b[/cut1][`i'] - (term*b_term[`i'] + pres*b_pres[`i'] + acc*b_acc[`i']))
summarize p_1a_`i', meanonly
replace p_1a_mean = r(mean) in `i'
}
drop p_1a_1-p_1a_1000
我发现当我没有索引切割点时,我能够完美地运行代码。这很奇怪,因为我不得不相信没有索引切割点会使结果产生偏差。
有没有人对我出错的地方有任何见解?
答案 0 :(得分:2)
您没有显示所有代码,但显然您在上游安装了有序的probit。考虑最简单的例子:
. sysuse auto
(1978 Automobile Data)
. oprobit rep78 weight
[stuff omitted]
------------------------------------------------------------------------------
rep78 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
weight | -.0005881 .0001729 -3.40 0.001 -.000927 -.0002492
-------------+----------------------------------------------------------------
/cut1 | -3.797833 .6421343 -5.056393 -2.539273
/cut2 | -2.954918 .5957484 -4.122563 -1.787272
/cut3 | -1.582673 .5471056 -2.65498 -.5103658
/cut4 | -.6635675 .5192685 -1.681315 .35418
------------------------------------------------------------------------------
. di _b[/cut1]
-3.7978328
您使用的系数是单一估计值。它不是下标,并且肯定不会有同一家族的一千名成员,正如您的下载所暗示的那样。