你能計算出 R 中 Kolmogorov-Smirnov 檢驗的功效嗎?
是否可以對 R 中的 2 面 Kolmogorov Smirnov 檢驗進行功效分析?
我正在使用 ks.test() 測試兩個經驗分佈是否不同,並希望添加功率分析。
我無法在 R 中找到任何用於 KS 測試的內置功率分析。有什麼建議嗎?
編輯:這些是隨機生成的分佈,非常接近我的數據(具有真實樣本大小和估計的指數分佈衰減率)
set.seed(100) x <- rexp(64, rate=0.34) y <- rexp(54,rate=0.37) #K-S test: Do x and y come from same distribution? ks.test(x,y)
這些數據是對兩個不同組的體型的測量。我想證明這兩個群體的分佈基本相同,但一位合作者問我是否有能力根據樣本量說出這一點。我從這裡的指數分佈中隨機抽取,但這些接近真實數據。
到目前為止,我已經說過基於雙邊 KS 測試的這些分佈沒有顯著差異。我還繪製了兩個分佈。考慮到 x 和 y 的樣本量和衰減率,我如何證明我有能力做出這樣的陳述?
尋找針對指數規模轉移替代方案的能力相當簡單。
但是,我不知道您應該使用從數據中計算出的值來計算功率可能是多少。這種事後的權力計算往往會導致違反直覺(並且可能具有誤導性)的結論。
權力和顯著性水平一樣,是你在事前處理的現象;您將使用先驗理解(包括理論、推理或任何先前的研究)來決定要考慮的一組合理的替代方案和理想的效果大小
您還可以考慮各種其他替代方案(例如,您可以將指數嵌入伽馬族中,以考慮或多或少偏斜情況的影響)。
人們可能試圖通過功效分析來回答的常見問題是:
1)對於給定的樣本量,在某些效應量或一組效應量*下的功效是多少?
給定樣本大小和功效,可檢測到多大的影響?
給定特定效應大小的所需功效,需要多大的樣本量?
*(這裡的“效果大小”是泛指的,例如,可能是特定的均值比率或均值差異,不一定是標準化的)。
顯然,您已經有了樣本量,因此您不在情況 (3) 中。您可以合理地考慮案例 (2) 或案例 (1)。
我建議案例(1)(這也提供了一種處理案例(2)的方法)。
為了說明案例 (1) 的方法並了解它與案例 (2) 的關係,讓我們考慮一個具體示例,其中:
- 規模轉移替代方案
- 指數種群
- 64 和 54 兩個樣本中的樣本量
因為樣本大小不同,我們必須考慮其中一個樣本中的相對散佈既小於 1 又大於 1 的情況(如果它們的大小相同,對稱性考慮可以只考慮一側)。但是,因為它們的大小非常接近,所以效果非常小。在任何情況下,固定其中一個樣本的參數並改變另一個。
所以一個人做的是:
預先:
choose a set of scale multipliers representing different alternatives select an nsim (say 1000) set mu1=1
要進行計算:
for each possible scale multiplier, kappa repeat nsim times generate a sample of size n1 from Exp(mu1) and n2 from Exp(kappa*mu1) perform the test compute the rejection rate across nsim tests at this kappa
在 R 中,我這樣做了:
alpha = 0.05 n1 = 54 n2 = 64 nsim = 10000 s = c(1.1,1.2,1.5,2,2.5,3) # set up grid for kappa s = c(1/rev(s),1,s) # also below and at 1 rr = array(NA,length(s)) # to hold rejection rates for(i in seq_along(s)) rr[i]=mean(replicate(nsim, ks.test(rexp(n1,1),rexp(n2,s[i]))$p.value)<alpha ) plot(rr~s,log="x",ylim=c(0,1),type="n") #set up plot points(rr~rev(s),col=3) # plot the reversed case to show the (tiny) asymmetry+noise points(rr~s,col=1) # plot the "real" case last abline(h=alpha,col=8,lty=2) # draw in alpha
這給出了以下功率“曲線”
x 軸是對數刻度,y 軸是拒絕率。
這裡很難說,但左邊的黑點比右邊略高(也就是說,當較大的樣本具有較小的比例時,功率會略微增加)。
使用逆正態 cdf 作為拒絕率的變換,我們可以使變換後的拒絕率與 log kappa 之間的關係(kappa
s
在圖中,但 x 軸是 log-scaled)非常接近線性(除了接近 0 ),並且模擬的數量足夠高,以至於噪音非常低——我們可以忽略它就目前的目的。所以我們可以只使用線性插值。下面顯示的是樣本大小下 50% 和 80% 功效的近似效應大小:
另一邊的效果大小(較大的組具有較小的比例)僅略微偏離(可以拾取較小的效果大小),但差別不大,所以我不會強調這一點。
所以測試會發現很大的差異(從比例為 1),但不會很小。
現在發表一些評論:我不認為假設檢驗與感興趣的潛在問題特別相關(它們是否非常相似?),因此這些功效計算並沒有告訴我們與該問題直接相關的任何內容。
我認為您通過在操作上預先指定您認為“基本相同”的實際含義來解決這個更有用的問題。這- 合理地追求統計活動 - 應該導致對數據進行有意義的分析。