gpt4 book ai didi

stata - Stata中的综合歧视指数(IDI)

转载 作者:行者123 更新时间:2023-12-02 04:55:07 24 4
gpt4 key购买 nike

我得到了两个截然不同的综合歧视改进 (IDI) 结果。

如果我使用 nriidi.pkg 包并运行 idi 我会得到这个输出

    . idi totaloutcome grace_prob, prvars(allelecount)

----------------------------------------------------
IDI | Estimate Std. Err. P-value
----------+-----------------------------------------
| -0.01116 0.00430 0.00946
----------------------------------------------------

但是当我使用 Mark Lunt 程序中的 idi

 . net from http://personalpages.manchester.ac.uk/staff/mark.lunt

. idi totaloutcome allelecount grace_prob

Integrated Discrimination Improvement for allelecount = 0.0017
Standard Error = 0.0022
z = 0.7615
P-value (one-sided) = 0.2232
P-value (two-sided) = 0.4464

谁能解释为什么会发生这种情况或说明为什么一个包可能比其他包更好?

最佳答案

各种问题在这里捆绑在一起。

  1. 为什么有两个idi程序?很简单:两位独立工作的作者编写了两个同名程序,然后将他们的程序发布在自己的网站上。没有机制可以阻止这种情况的发生。怎么会有?如果作者都试图通过 Stata Journal 或在 SSC 站点(help ssc 获取信息)发表文章,第二个发表文章的作者将被要求更改姓名与同一站点上已有程序发生冲突的任何程序。但是没有人有义务以这两种方式中的任何一种进行发布。 (此外,使用 searchfindit 作者可以在 Internet 上查找具有给定名称的已发布程序以避免冲突。)

  2. 那么您如何同时使用这两个程序?您可以将这两个程序复制到单独的目录或文件夹中,并在它们之间移动。更好的方法是更改​​至少两个程序之一的名称。

    • 例如,我可以通过进入 Stata 安装 Mark Lunt 的 idi 程序

      . copy http://personalpages.manchester.ac.uk/staff/mark.lunt/idi.ado idi_l.ado
    • 然后我需要编辑程序文件 idi_l.ado 以便标题行显示为 program idi_l

    • 您还需要编辑相应的帮助文件,尽管您可以按照上面的 copy 命令的样式使用 type 远程访问它。

    • 如果这对您来说是新的,请允许我强调这些是 Stata 命令;不需要浏览器,尽管有些地方的人如果在防火墙后面将无法这样做。

  3. 为什么程序会产生不同的答案?答案很简单,您必须查看代码。就比较两个 ado 文件而言,Stata 在这里是开源的,因此在这方面与 R 完全一样。程序之间的主要区别在于,在运行两个 logistic 命令后,Byberg 程序从对 ci 的两次调用中得到标准错误,而 Lunt 程序从对ttestunequal 选项。这两个结果通常很接近,但也可能大相径庭。正如@Metrics 指出的那样,您应该使用 viewsource 或最喜欢的文本编辑器来查看代码。

  4. 一个程序更好吗?这很难判断,但我个人的看法是,与 Stata 标准相比,Lunt 程序编写得更好并且质量更高。 Byberg 程序做了一些不必要的事情,最重要的是不处理 ifin 限定符。

  5. OP 的结果如何?我们看不到 OP 的数据,因此无法发表评论。

为了便于比较,我之前重写了 Byberg 程序,但不保证能回答更多关于它的问题!

 *! 1.0.0 NJC 9 Aug 2013 
* modifying idi (Liisa Byberg) from http://www.ucr.uu.se/sv/images/stories/downloads
program idi_b, rclass
version 10.1
syntax varlist(numeric min=2) [if] [in] , PRvars(varlist numeric min=1)

quietly {
marksample touse
tokenize "`varlist'"
args out
tempvar pred1 pred2 diffpred
tempname mdiffprednonevents sediffprednonevents mdiffpredevents sediffpredevents
tempname idi seidi zidi pidi

logistic `varlist' if `touse'
predict `pred1' if `touse'
logistic `varlist' `prvars' if `touse'
predict `pred2' if `touse'
gen `diffpred' = `pred2' - `pred1'

ci `diffpred' if `out' == 0
scalar `mdiffprednonevents' = r(mean)
scalar `sediffprednonevents' = r(se)
ci `diffpred' if `out' == 1
scalar `mdiffpredevents' = r(mean)
scalar `sediffpredevents' = r(se)

scalar `idi' = `mdiffpredevents' - `mdiffprednonevents'
scalar `seidi' = sqrt(`sediffprednonevents'^2 + `sediffpredevents'^2)
scalar `zidi' = `idi'/`seidi'
scalar `pidi' = 2*(1-normal(abs(`zidi')))
}

di _n "IDI"
di " Estimate " %9.5f `idi'
di " Std. Err. " %9.5f `seidi'
di " z " %9.5f `zidi'
di " P-value " %9.5f `pidi'

return scalar idi_b_p = `pidi'
return scalar idi_b_z = `zidi'
return scalar idi_b_se = `seidi'
return scalar idi_b = `idi'

end

关于stata - Stata中的综合歧视指数(IDI),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18132272/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com