gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 21:53:44 28 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,作者可以在互联网上查找具有给定名称的已发布程序以避免冲突。)

  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 程序会从对带有unequal选项的ttest。两个结果通常很接近,但也可能有很大不同。正如 @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/

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