t- 통계량은 피처의 예측 능력에 대해 아무 말도 할 수 없으며 예측 변수를 화면 밖으로 보거나 예측 변수를 예측 모델로 만드는 데 사용해서는 안됩니다.
p- 값은 가짜 기능이 중요하다고 말합니다
R에서 다음 시나리오 설정을 고려하십시오. 두 개의 벡터를 만들어 봅시다. 첫 번째는 단순히 랜덤 코인 플립입니다.5000
set.seed(154)
N <- 5000
y <- rnorm(N)
두 번째 벡터는 관측치이며 각각 동일한 크기의 랜덤 클래스 중 하나에 무작위로 할당됩니다 .5000500
N.classes <- 500
rand.class <- factor(cut(1:N, N.classes))
이제 우리는 y
주어진 예측을 위해 선형 모델을 적합합니다 rand.classes
.
M <- lm(y ~ rand.class - 1) #(*)
올바른 계수의 모든 값들을 하나도없는 0 인 모든 예측력. 그럼에도 불구하고, 그들 중 많은 수가 5 % 수준에서 중요합니다.
ps <- coef(summary(M))[, "Pr(>|t|)"]
hist(ps, breaks=30)
실제로 예측력이 없더라도 약 5 %가 중요 할 것으로 예상됩니다!
P- 값이 중요한 기능을 감지하지 못함
다른 방향의 예가 있습니다.
set.seed(154)
N <- 100
x1 <- runif(N)
x2 <- x1 + rnorm(N, sd = 0.05)
y <- x1 + x2 + rnorm(N)
M <- lm(y ~ x1 + x2)
summary(M)
각각 예측력이있는 두 개의 상관 된 예측 변수를 만들었습니다 .
M <- lm(y ~ x1 + x2)
summary(M)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.1271 0.2092 0.608 0.545
x1 0.8369 2.0954 0.399 0.690
x2 0.9216 2.0097 0.459 0.648
p- 값은 두 변수의 예측 검정력을 탐지하지 못합니다. 상관 관계는 모형이 데이터에서 두 개의 개별 계수를 얼마나 정확하게 추정 할 수 있는지에 영향을 미치기 때문입니다.
추론 통계는 변수의 예측력 또는 중요성에 대해 알려주지 않습니다. 이러한 측정 방법을 사용하는 것은 이러한 측정을 남용합니다. 예측 선형 모형에서 변수 선택에 사용할 수있는 훨씬 더 나은 옵션이 있습니다 glmnet
.
(*) 여기서 가로 채기를 생략하고 있으므로 모든 비교는 첫 번째 클래스의 그룹 평균이 아니라 0의 기준선에 대한 것입니다. 이것은 @ whuber의 제안이었습니다.
주석에서 매우 흥미로운 토론으로 이어 졌으므로 원래 코드는
rand.class <- factor(sample(1:N.classes, N, replace=TRUE))
과
M <- lm(y ~ rand.class)
다음 히스토그램으로 이어졌습니다