tft每日頭條

 > 生活

 > 測試模型分析

測試模型分析

生活 更新时间:2025-01-06 20:37:09

上次談了用coin包做置換檢驗。lmPerm軟件包支持線性模型的置換檢驗。具體地說,lmp()aovp()函數是修改後的lm()aov()函數,用于執行置換檢驗,而不是正常的理論檢驗。

lmp()aovp()函數中的參數類似于lm()aov()函數中的參數,隻是增加了一個perm=參數。perm=選項可以取值"Exact", "Prob", 或"SPR"。Exact根據所有可能的排列生成精确的測試。Prob從所有可能的排列中持續采樣,直到估計标準偏差降到估計p值的0.1以下。停止規則由可選的Ca參數控制。最後,SPR使用序貫概率比檢驗(a sequential probability ratio test)來決定何時停止抽樣。請注意,如果觀察次數大于10,則perm=”exact”将自動缺省為perm=”prob”;精确測試僅适用于較小的問題。

為了了解其工作原理,我們将使用置換方法進行簡單回歸、多項式回歸、多元回歸、單向方差分析、單向協方差分析和雙向析因設計

簡單線性回歸

我們用線性回歸的方法研究了15名女性的體重和身高之間的關系。使用lmp()而不是lm()生成如下清單所示的置換測試結果。

#Permutation tests for simple linear regression library(lmPerm) set.seed(1234) fit <- lmp(weight~height, data=women, perm="Prob") summary(fit)

測試模型分析(線性模型的置換測試)1

簡單線性回歸

多項式回歸的置換檢驗

#Permutation tests for polynomial regression library(lmPerm) set.seed(1234) fit <- lmp(weight~height I(height^2), data=women, perm="Prob") summary(fit)

測試模型分析(線性模型的置換測試)2

多項式回歸

如您所見,使用置換測試測試這些回歸非常簡單,幾乎不需要對底層代碼進行更改。輸出也類似于lm()函數産生的輸出。請注意,添加了一個Iter列,指示需要多少次叠代才能達到停止規則。

多元回歸

下面運用多元回歸從人口、文盲、收入和霜凍四個方面對美國50個州的謀殺率進行了預測。對此問題應用lmp()函數會産生以下輸出。

#Permutation tests for multiple regression library(lmPerm) set.seed(1234) states <- as.data.frame(state.x77) fit <- lmp(Murder~Population Illiteracy Income Frost, data=states, perm="Prob") summary(fit)

測試模型分析(線性模型的置換測試)3

多元回歸

當使用正态理論時,人口和文盲都是顯著的(p<0.05)。但根據置換檢驗,人口變量不再顯著。當兩種方法不一緻時,您應該更仔細地查看您的數據。這可能是因為正态假設是站不住腳的,或者是存在異常值。

單因素方差分析和協方差分析

方差設計的每一種分析都可以通過排列檢驗來執行。首先,讓我們看一下關于治療方案對降低膽固醇的影響的單因素方差分析(One-way ANOVA)問題。代碼和結果将在下一個清單中給出。

#Permutation test for One-Way ANOVA library(lmPerm) library(multcomp) set.seed(1234) fit <- aovp(response~trt, data=cholesterol, perm="Prob") summary(fit)

測試模型分析(線性模型的置換測試)4

單因素方差分析

結果表明,兩種方法的治療效果不盡相同。本節中的第二個示例将置換測試應用于協方差的單向分析。這個問題是從第9章開始的,在這一章中,你調查了四種藥物劑量對老鼠窩重的影響,并控制了懷孕時間。下一個清單顯示了排列測試和結果。

#Permutation test for one-way ANCOVA library(lmPerm) set.seed(1234) fit <- aovp(weight ~ gesttime dose, data=litter, perm="Prob") summary(fit)

測試模型分析(線性模型的置換測試)5

協方差的單向分析

根據p值,四種藥物劑量對窩重的影響并不相等,在控制了懷孕時間前提下。

雙因素方差分析

我們研究了維生素C對豚鼠牙齒生長的影響。兩個操縱因素分别是劑量(三個水平)和給藥方式(兩個水平)。在每個處理組合中放置10隻豚鼠,采用平衡的3x2析因設計。排列測試将在下一個清單中提供。

#Permutation test for two-way ANOVA library(lmPerm) set.seed(1234) fit <- aovp(len~supp*dose, data=ToothGrowth, perm="Prob") summary(fit)

測試模型分析(線性模型的置換測試)6

雙因素方差分析

在0.05的顯著性水平上,所有三個效應在統計上都不同于零。在0.01水平上,隻有主效應顯著。

重要的是要注意,當aovp()應用于ANOVA設計時,它默認為唯一的平方和(也稱為SAS Type III平方和)。每種效果都會針對其他每種效果進行調整。R中參數方差分析設計的默認值是順序平方和(SAS I類平方和)。每個效果都會針對模型中較早出現的效果進行調整。對于平衡設計,這兩種方法是一緻的,但對于每個細胞觀察次數不相等的不平衡設計,就不是這樣了。不平衡越大,分歧就越大。如果需要,在aovp()函數中指定seqs=true将産生連續的平方和。

關于置換檢驗的補充意見

R提供除coinlmPerm之外的其他排列包。perm包提供一些與coin包相同的功能,并且可以作為該包的獨立驗證。corrperm包提供具有重複測量的相關性的排列測試。logregperm包為Logistic回歸提供了一個排列測試。也許最重要的是,glmperm包将置換測試擴展到了廣義線性模型。

置換檢驗為依賴于基礎抽樣分布知識的檢驗提供了一種強大的替代方案。在描述的每一種排列測試中,我們都能夠測試統計假設,而不需要求助于正态分布、t分布、F分布或卡方分布。

您可能已經注意到,基于正态理論的測試結果與前面幾節中的置換方法的結果非常接近。這些問題中的數據表現良好,方法之間的一緻性證明了正态的理論方法在這種情況下是多麼有效。

在數據明顯非正态(例如,高度傾斜)、存在異常值、樣本量較小或不存在參數檢驗的情況下,置換檢驗才真正有用武之地。然而,如果原始樣本不能很好地代表感興趣的總體,則沒有任何測試(包括排列測試)會改進生成的推論。

置換檢驗主要用于生成可用于測試無效假設的p值。他們可以幫助回答這個問題,“有效果嗎?”用置換檢驗求取置信區間和測量精度估計的難度較大。幸運的是,這是Bootstrapping擅長的領域。

歡迎點贊和關注!

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved