多元线性回归中变量子集的经典 F 检验具有以下形式
在哪里是“缩减”模型下的误差平方和,它嵌套在“大”模型中, 和是两个模型的自由度。在“大”模型中的额外变量没有线性解释力的零假设下,统计量分布为 F和自由程度。
但是,替代方案下的分布是什么?我假设它是一个非中心 F(我希望不是双重非中心),但我找不到任何关于非中心参数到底是什么的参考。我猜这取决于真实的回归系数,并且可能在设计矩阵上,但除此之外我不太确定。
多元线性回归中变量子集的经典 F 检验具有以下形式
但是,替代方案下的分布是什么?我假设它是一个非中心 F(我希望不是双重非中心),但我找不到任何关于非中心参数到底是什么的参考。我猜这取决于真实的回归系数,并且可能在设计矩阵上,但除此之外我不太确定。
非中心性参数是,受限模型的投影为,是真实参数的向量,是无限制(真实)模型的设计矩阵,是规范:
您可以像这样阅读公式:是以设计矩阵为条件的期望值向量. 如果你对待作为经验数据向量,则其在受限模型子空间上的投影为,它给你预测来自该“数据”的受限模型。最后,类似于并为您提供该预测的错误。因此给出该误差的平方和. 如果受限模型为真,则已经在定义的子空间内, 和,使得非中心性参数为.
你应该在 Mardia, Kent & Bibby 找到这个。(1980 年)。多元分析。
我通过蒙特卡洛实验确认了@caracal 的答案。我从线性模型(大小随机)生成随机实例,计算 F 统计量并使用非中心参数计算 p 值
这是R代码(请原谅风格,我还在学习):
#sum of squares
sum2 <- function(x) { return(sum(x * x)) }
#random integer between n and 2n
rint <- function(n) { return(ceiling(runif(1,min=n,max=2*n))) }
#generate random instance from linear model plus noise.
#n observations of p2 vector
#regress against all variables and against a subset of p1 of them
#compute the F-statistic for the test of the p2-p1 marginal variables
#compute the p-value under the putative non-centrality parameter
gend <- function(n,p1,p2,sig = 1) {
beta2 <- matrix(rnorm(p2,sd=0.1),nrow=p2)
beta1 <- matrix(beta2[1:p1],nrow=p1)
X <- matrix(rnorm(n*p2),nrow=n,ncol=p2)
yt1 <- X[,1:p1] %*% beta1
yt2 <- X %*% beta2
y <- yt2 + matrix(rnorm(n,mean=0,sd=sig),nrow=n)
ncp <- (sum2(yt2 - yt1)) / (sig ** 2)
bhat2 <- lm(y ~ X - 1)
bhat1 <- lm(y ~ X[,1:p1] - 1)
SSE1 <- sum2(bhat1$residual)
SSE2 <- sum2(bhat2$residual)
df1 <- bhat1$df.residual
df2 <- bhat2$df.residual
Fstat <- ((SSE1 - SSE2) / (df1 - df2)) / (SSE2 / bhat2$df.residual)
pval <- pf(Fstat,df=df1-df2,df2=df2,ncp=ncp)
return(pval)
}
#call the above function, but randomize the problem size (within reason)
genr <- function(n,p1,p2,sig=1) {
use.p1 <- rint(p1)
use.p2 <- use.p1 + rint(p2 - p1)
return(gend(n=rint(n),p1=use.p1,p2=use.p2,sig=sig+runif(1)))
}
ntrial <- 4096
ssize <- 256
z <- replicate(ntrial,genr(ssize,p1=4,p2=10))
plot(ecdf(z))