R

比較 R 中兩個多項式回歸之間差異的統計顯著性

  • August 22, 2016

所以首先我在這個論壇上做了一些研究,我知道有人問了非常相似 的問題,但他們通常沒有得到正確的回答,或者有時答案不夠詳細,我無法理解。所以這次我的問題是:我有兩組數據,每組數據都進行多項式回歸,如下所示:

Ratio<-(mydata2[,c(2)])
Time_in_days<-(mydata2[,c(1)])
fit3IRC <- lm( Ratio~(poly(Time_in_days,2)) )

多項式回歸圖是:

在此處輸入圖像描述

係數是:

> as.vector(coef(fit3CN))
[1] -0.9751726 -4.0876782  0.6860041
> as.vector(coef(fit3IRC))
[1] -1.1446297 -5.4449486  0.5883757 

現在我想知道,如果有一種方法可以使用 R 函數進行測試,它會告訴我兩個多項式回歸之間的差異是否存在統計顯著性,因為知道相關的天數是 [ 1,100]。

據我了解,我不能直接應用方差分析測試,因為這些值來自兩組不同的數據,也不是用於比較模型/真實數據的 AIC。

我嘗試按照@Roland 在相關問題中給出的說明進行操作,但在查看結果時我可能誤解了一些東西:

這是我所做的:

我將兩個數據集合併為一個。

f是@Roland 談到的可變因素。我為第一組輸入 1,為另一組輸入 0。

y<-(mydata2[,c(2)])
x<-(mydata2[,c(1)])
f<-(mydata2[,c(3)])

plot(x,y, xlim=c(1,nrow(mydata2)),type='p')

fit3ANOVA <- lm( y~(poly(x,2)) )

fit3ANOVACN <- lm( y~f*(poly(x,2)) )

我的數據現在看起來像這樣:

在此處輸入圖像描述

紅色的fit3ANOVA那個還在工作,但我對藍色fit3ANOVACN的有問題,模型的結果很奇怪。我不知道擬合模型是否正確,我不明白@Roland 的確切含義。

考慮到@DeltaIV 解決方案,我想在這種情況下: 在此處輸入圖像描述 即使它們重疊,模型也有很大不同。我這樣認為是對的嗎?

#Create some example data
mydata1 <- subset(iris, Species == "setosa", select = c(Sepal.Length, Sepal.Width))
mydata2 <- subset(iris, Species == "virginica", select = c(Sepal.Length, Sepal.Width))

#add a grouping variable
mydata1$g <- "a"
mydata2$g <- "b"

#combine the datasets
mydata <- rbind(mydata1, mydata2)

#model without grouping variable
fit0 <- lm(Sepal.Width ~ poly(Sepal.Length, 2), data = mydata)

#model with grouping variable
fit1 <- lm(Sepal.Width ~ poly(Sepal.Length, 2) * g, data = mydata)

#compare models 
anova(fit0, fit1)
#Analysis of Variance Table
#
#Model 1: Sepal.Width ~ poly(Sepal.Length, 2)
#Model 2: Sepal.Width ~ poly(Sepal.Length, 2) * g
# Res.Df RSS Df Sum of Sq F Pr(>F) 
#1 97 16.4700 
#2 94 7.1143 3 9.3557 41.205 < 2.2e-16 ***
# ---
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

如您所見,fit1明顯優於fit0,即分組變量的效果顯著。由於分組變量代表各自的數據集,因此可以認為對兩個數據集的多項式擬合顯著不同。

引用自:https://stats.stackexchange.com/questions/231059

comments powered by Disqus