我正在尝试使用命令gllamm运行随机截距,随机系数(通常称为随机斜率)多级logit模型,用于横截面数据与Stata中的跨级交互。所以,我的代码将是这样的:
gen cons = 1
gen inter = cons
gen slope = IV3
gllamm dv iv1 iv2 iv3 iv3iv4 iv4, i(country) link(logit) family(binomial) adapt nrf(2) eqs(inter slope)
这里iv1 - iv3是1级变量,iv3是二分的,它的斜率/系数可以变化,iv4是2级变量,iv3iv4是跨层次的变量。
运行gllamm后,我真正想要的就是Stata命令会做的事情:
margins, dydx (iv3) at(iv4=(1(10)100))
如果我是正确的,可以使用命令
获得类似的东西gllapred prob, mu marg
然而,问题出现了。当我想使用代码分别绘制边际预测概率作为我的level-2 iv4的函数来分别为两组二分法iv3
twoway (line prob iv4 if iv3==0, sort) (line prob iv4 if iv3==1, sort),
ytitle(Predicted marginal probability) xtitle(iv4)
legend(order(1 "no" 2 "yes"))
我得到的不是一个平滑曲线的好情节,但是在iv4的每个值上都有一条线上下移动!
我看到有人使用
sort
gllapred之后和twoway之前的命令,但我不确定我是否理解它是如何工作的。不过,我试过了
sort iv3 country iv4
然后
twoway
但情节看起来一样!
我的主要问题是,我的数据是否有问题,还是我重新排列语法或数据?我相信我可能会得到正确的预测概率,但我只是不知道如何绘制它们!我的情节实际上说了什么?有没有办法让我获得一条漂亮流畅的线条?
提前感谢您提供任何帮助!