是否R2R2取决于样本量?

机器算法验证 多重回归 r平方
2022-03-13 15:40:55

众所周知,添加更多回归量只能提高 观察次数假设您有一个大小为的样本,并且您绘制了一个大小为的随机子样本。原则上, 应该如何变化?R2Nn<NR2

有两件事相当直观:

  1. 子样本大小越接近全样本,方差越小,平均值越接近全样本。自然,一旦样本相同,平均的分布就会退化为全样本的分布。R2

  2. 子样本越小,越接近1。实际上,当观测数等于变量数时,R2R2=1

因此,问题的答案似乎遵循以下关系

Rsub-sample2=(Rfull-sample2)nkNk

其中是回归器的数量。关系的曲率可能取决于多种因素。k

我在 R 中进行了尝试,上面的内容得到了证实。 = 790)的个子样本的密度图三个不同的子样本大小分别等于您可以看到离全样本(蓝线)越远,越小。R210,000Nn25, 50,500R2n

那么,如何取决于样本量?你知道关于这个的定理吗?R2

n=25

在此处输入图像描述

n=50

在此处输入图像描述

n=500

在此处输入图像描述

# Import data

library(data.table)
mydata <- fread('http://www.stats.ox.ac.uk/pub/datasets/csb/ch1a.dat')

# Compute benchmark R2 - all sample

fit <- lm(V3 ~ V2 + V4 + V5, data=mydata)
R2_benchmark <- summary(fit)$r.squared

# Compute R2 for M subsamples of size n

set.seed(263293) # obtained from www.random.org
M <- 10000
R2 <- numeric(M)
n <- 500

for(i in 1:M) {

  mysample <- mydata[sample(1:nrow(mydata), n, replace=FALSE),]
  fit <- lm(V3 ~ V2 + V4 + V5, data=mysample)
  R2[i] <- summary(fit)$r.squared

}

# Compare

plot(density(R2))
abline(v = R2_benchmark, col="blue")

t.test(R2,mu = R2_benchmark, alternative="two.sided")
2个回答

不,估计的的期望不会改变,但其估计的方差会随着样本量的增加而减小。𝑅2

– 用户 158565

我们需要谨慎地采用“子样本越小, 越接近1”的说法。虽然样本接近 1 的机会确实会随着样本量的减小而增加,但这只是因为样本𝑅2𝑅2𝑅2随着样本量的减少,变量变得更加可变。它绝对不会趋于接近 1!因此,这些定理侧重于样本 的分布𝑅2尤其是它的方差该分布与回归 F 统计量的 F 比率分布直接相关。有关详细信息,请参阅您最喜欢的回归文本。

– 呼呼

您似乎正在尝试描述所谓的“调整后的 R 平方”,这确实取决于观察次数n和模型参数p的数量:

R2=1SSResSSTotal
Radjusted2=1n1npSSResSSTotal