stata用asclogit后要怎么求mem
时间: 2023-07-08 22:44:10 浏览: 41
在Stata中,如果你使用了asclogit命令拟合了一个条件对数-logit(conditional logistic)回归模型,那么可以使用clogit命令来计算mem(maximum empirical likelihood estimate of the scale parameter)。具体步骤如下:
1. 运行asclogit命令,拟合条件-logit回归模型。
2. 运行clogit命令,使用asclogit命令生成的结果文件来计算mem。例如,假设你的asclogit命令生成的结果文件名为“myresult”,可以使用以下命令计算mem:
```
clogit, group(id) scale(`"myresult".smle')
```
其中,group(id)表示你的数据集包含一个id变量,用于标识每个观察值所属的组。scale(`"myresult".smle')表示你要使用myresult.smle文件中的结果来计算mem。
3. 运行clogit命令后,Stata会输出mem的值。你可以使用这个值来进行后续的推断分析。
需要注意的是,如果你使用了其他的拟合方法,如mlogit命令或logit命令,那么就不能使用clogit命令来计算mem。在这种情况下,你需要使用其他的方法来计算mem。
相关问题
stata如何求cl模型的mem
在Stata中,如果你使用了clogit命令拟合了一个条件对数-logit(conditional logistic)回归模型,那么可以使用clogit命令自动计算mem(maximum empirical likelihood estimate of the scale parameter)。具体步骤如下:
1. 运行clogit命令,拟合条件-logit回归模型。例如,假设你的数据集包含一个二元因变量y和一个自变量x,并且有一个组变量id,可以使用以下命令拟合条件-logit回归模型:
```
clogit y x, group(id)
```
2. 运行clogit命令后,Stata会输出模型的结果,包括估计的系数、标准误、z值和p值等。同时,Stata会自动计算mem的值,并将其输出到结果中。
需要注意的是,clogit命令只能用于拟合条件-logit回归模型,而不能用于拟合其他类型的回归模型。如果你使用其他方法来拟合条件-logit回归模型,如asclogit命令,那么可以使用clogit命令来计算mem,但需要指定scale选项来指定使用哪个结果文件来计算mem。具体方法可以参考前面的回答。
用stata求取roc最佳阈值
在STATA中,可以使用`roctab`命令来计算ROC曲线并找到最佳阈值。下面是一些基本的STATA代码:
```
// 导入数据
use "data.dta", clear
// 使用roctab命令计算ROC曲线
roctab yhat y, graph
// 得到ROC曲线下面积(AUC)
di "AUC = " rocarea
// 得到最佳阈值及其相应的敏感度和特异度
roctab yhat y, opt
```
在上面的代码中,`yhat`是模型的预测概率,`y`是实际的分类结果。`roctab`命令可以计算ROC曲线并绘制出来,也可以通过`opt`选项找到最佳阈值及其相应的敏感度和特异度。
如果需要将ROC曲线保存为图片,可以使用以下命令:
```
graph export "roc.png", as(png) replace
```
这将保存ROC曲线为png格式的图片,并覆盖掉已存在的同名文件(如果有的话)。
需要注意的是,`roctab`命令默认使用0.5作为阈值,如果需要使用其他阈值,可以使用`cut()`选项来指定。例如,以下代码将阈值设为0.7:
```
roctab yhat y, cut(0.7)
```
希望这些信息可以帮助你计算ROC曲线并找到最佳阈值。