文 / 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。