文 / Chuck Huber, Director of Statistical Outreach at StataCorp
导读
在上一篇文章〓中,作者向您展示了如何使用蒙特卡罗模拟计算t检验的功效。在这篇文章中,将向您展示如何将您的模拟集成到 Stata 的power
命令中,以便您可以轻松地为一系列参数值创建自定义表格和图形。
在●规划科学研究时,统计学家很少¤计算一组假设的power。我们通常计算一系列参数值的功效,并选■择一组在参数值和逻辑上可行的现实假设。例如,下面我使用power onemean
来计算从 50 到 100 以 10 为增量的样本大小的功效。该表显示了假设的参数值,包括 alpha 水平、零◤假设和替代假设下的均值、标准化每个样本数量的均值 (delta)、标准差和功效之间□的差异。
我还使用了下面的graph
选项来绘制样本大小范围内的功效。然后,我可以使用表格和图表来选择满足我的研究功效要求的样本量。
「图 1:n = 50 到 100 的︽估计功效,增量为 10」
除了样本♂数量之外,power
命令还允许您输入其他参数的值范围,例如标准差、均值或 alpha 水平。而power
可将结果创建为表格和图表。
还可以将自己的方法添加到强大的命令套件①中。让我们将上一篇文章中的t测试模拟◣程序添加到power
中,看※看它是如何工作的。
回想一下我上一篇文章,我们创建了一个名为simttest
的程序来计算t检验的功效。该程序接受五个输入参数, 创建一个伪随机数据集,检验原假▅设,并返回假设检验的结果。
我们使用simulate
多次运行程序并将结果保存到一个名为reject
的变量中。
然后,我们将power 计算为原假设被拒绝的次数比例。
您可以通过创建名为『power_cmd_ mymethod
的程序将此】模拟方法添加到power
,其中mymethod
是 power
命令的名称。让我们调用程序power_cmd_simttest
。
下面的代码块定义了power_cmd_simttest
。请注意它与我们的simttest
程序相似。它从capture program drop
开始,然后是program
,然后是version 15.1
。接下来,我们使用syntax
定义输入参数,就像我们在simttest
中所→做的那样。在这里,我添加了一个名为『reps()
的新输入参数,它是模拟的重▓复次数。
程序的中间部分运行模拟并总结结果。simulate
和summarize
都是quietly
状态的,这抑制它们输出的显示。这里模拟运行程∑ 序simttest
并将结果保存到变量reject
,就像以前▼一样。请注意,simulate
和simttest
中的所有※输入参数都是使用syntax定
义的本地宏。summary
计算reject
的平均值并将其存储在标量r(mean)
中。
代码块的底部返回power
和其他参数。power
返回变量reject
的平均值,其他参数只是从syntax
传递〗过来的局部宏。
现在您可以通过输入power simttest
来运行▼模拟。
成功了!我们也可以为一系列样本量制作表格和图表。
「图 2:n = 50 到 100 的模拟功效,增量为 10」
如果您◥希望为其他参数(例如m0
、ma
和sd
)输入一系¤列值,则需要再编写一∮个小程序。该程序必须命名为power_cmd_ mymethod _init
。
下面的代码块定义了power_cmd_simttest_init
并以capture program drop
和program
开始,就像我们的其他程序一样。请注意,程序定义以选项sclass
开头。sreturn local pss_colnames
这行代码在双引号中列出的参数输出表初◤始化列。sreturn local pss_numopts
这行代码◣允许您指定放置在双引号中的参数numlists
。
现在,您可以使用power simttest
来计算假设不同替代假设的一系列均值的功效。您甚至可以针对不同的样本量执行此操作。
您可以通∩过在graph
选项ω中指定xdimension
来绘制╳功效分析的结果。
「图 3:假设 n=75 和 n=100 ,ma =72(1)75 的模拟功率」
本文向您展◥示了如何使用 Monte Carlo 模拟计〓算功率以及如何将这些模拟集成到power
中。我从一个简单的t测试示例☆开始,以便我们可以专注于编程并使用power onemean
检查我们的工作。
Stata软件订购:
如需订购Stata V17全新版软【件,请联系Stata中国授权经销商⌒ 及合作伙伴北京友万ぷ信息科技有限公司(www.uone-tech.cn)。我司拥有强大的售后服务团队,聚合国内一→线Stata行业专家为客户提供优质的技术支持服务,并帮助中国用户建立完善的软件服务体系。手机/微信:18610597626 邮箱:crystal@uone-tech.cn。
专注分享商业数据分析、金融数据分︻析、应用统▽计分析、知识图谱、机器学习、计量经济、人工智能、网络爬虫、自动化报告与可重复研究等热门技术内容。定向培养Stata、Python、R语言∑数据人才,助力产学研政企商协同发展,为中国大数据产业蓄能。合作热线:010-56548231 邮箱:info@uone-tech.cn。