(Movido dos comentários para uma resposta conforme solicitado por @Greenparker)
Parte 1)
O termo log p vem da concentração (gaussiana) de medida. Em particular, se você possuivariáveis aleatóriaspga de GaI [I], o máximo delas é da ordem deσ √registrop----√p com alta probabilidade.σregistrop----√
O fator vem do fato de que você está observando o erro médio de previsão - ou seja, ele corresponde ao n - 1 do outro lado - se você analisasse o erro total, ele não estaria lá.n- 1n- 1
Parte 2)
Essencialmente, você tem duas forças que precisa controlar:
- i) as boas propriedades de ter mais dados (então queremos que seja grande);n
- ii) as dificuldades têm mais características (irrelevantes) (então queremos que seja pequeno).p
Em estatística clássica, que normalmente corrigir e deixe n ir ao infinito: este regime não é super útil para a teoria high-dimensional, porque é (assintoticamente) no regime de baixa-dimensional pela construção .pn
Alternativamente, poderíamos deixar ir ao infinito e n estadia fixa, mas depois nosso erro apenas explode como o problema torna-se praticamente impossível. Dependendo do problema, o erro pode chegar ao infinito ou parar em algum limite superior natural ( por exemplo , 100% de erro de classificação incorreta).pn
Como esses dois casos são um pouco inúteis, consideramos ambos indo para o infinito, de modo que nossa teoria é relevante (permanece alta dimensional) sem ser apocalíptica (recursos infinitos, dados finitos).n , p
Ter dois "botões" geralmente é mais difícil do que ter um único botão, então fixamos para alguns f fixos e deixamos n ir para o infinito (e, portanto, p vai para o infinito indiretamente). [F2] A escolha de f determina o comportamento do problema. Por razões de minha resposta à parte 1, verifica-se que a "maldade" dos recursos extras cresce apenas como log p, enquanto a "bondade" dos dados extras cresce como n .p = f( N )fnpfregistropn
- Se permanece constante (equivalentemente,p=f(n)=Θ(Cn)para algunsC), pisamos na água e o problema é uma lavagem (o erro permanece fixo assintoticamente);registropnp = f( n ) = Θ ( Cn)C
- se (p=o(Cn)) atingimos assintoticamente erro zero;registropn→ 0p = o ( Cn)
- e se (p=ω(Cn)), o erro acaba indo para o infinito.registropn→ ∞p = ω ( Cn)
Este último regime às vezes é chamado de "ultra-dimensional" na literatura. O termo "ultra-alta-dimensional" não tem uma definição rigorosa, até onde eu saiba, mas é informalmente apenas "o regime que quebra o laço e estimadores semelhantes".
Podemos demonstrar isso com um pequeno estudo de simulação em condições bastante idealizadas. Aqui tomamos orientação teórica sobre a escolha ideal de de [BRT09] e escolhemos λ = 3 √λ .λ = 3 log(p)/n−−−−−−−√
Primeiro, considere um caso em que . Isso está no regime de alta dimensão 'tratável' descrito acima e, como a teoria prevê, vemos o erro de previsão convergir para zero:p=f(n)=3n
Código a reproduzir:
library(glmnet)
library(ggplot2)
# Standard High-Dimensional Asymptotics: log(p) / n -> 0
N <- c(50, 100, 200, 400, 600, 800, 1000, 1100, 1200, 1300)
P <- 3 * N
ERROR_HD <- data.frame()
for(ix in seq_along(N)){
n <- N[ix]
p <- P[ix]
PMSE <- replicate(20, {
X <- matrix(rnorm(n * p), ncol=p)
beta <- rep(0, p)
beta[1:10] <- runif(10, 2, 3)
y <- X %*% beta + rnorm(n)
g <- glmnet(X, y)
## Cf. Theorem 7.2 of Bickel et al. AOS 37(4), p.1705-1732, 2009.
## lambda ~ 2*\sqrt{2} * \sqrt{\log(p)/n}
## is good scaling for controlling prediction error of the lasso
err <- X %*% beta - predict(g, newx=X, s=3 * sqrt(log(p)/n))
mean(err^2)
})
ERROR_HD <- rbind(ERROR_HD, data.frame(PMSE=PMSE, n=n, p=p))
}
ggplot(ERROR_HD, aes(x=n, y=PMSE)) + geom_point() + theme_bw() +
xlab("Number of Samples (n)") +
ylab("Mean Prediction Error (at observed design points)") +
ggtitle("Prediction Error Converging to 0 under High-Dim Asymptotics") +
scale_x_continuous(sec.axis = sec_axis(~ 3 * ., name="Number of Features (p)")) +
scale_y_log10()
Podemos comparar isso com o caso em que permanece aproximadamente constante: eu chamo isso de regime ultra-dimensional de "fronteira", mas esse não é um termo padrão:logpn
P <- 10 + ceiling(exp(N/120))
Aqui vemos que o erro de previsão (usando o mesmo design acima) diminui em vez de continuar a zero.
Penen2en2
P <- 10 + ceiling(exp(N^(1.03)/120))
Xen1.5
Apesar do que eu disse acima e de como isso pode parecer, o regime de altidimensionalidade não é realmente totalmente impossível (embora seja próximo), mas requer técnicas muito mais sofisticadas do que apenas um simples máximo de variáveis aleatórias gaussianas para controlar o erro. A necessidade de usar essas técnicas complexas é a fonte definitiva da complexidade que você observa.
p,np=f(n)
Parte 3)
logpn
n,pn,p
Se você estiver confortável e disposto a se aprofundar na literatura de pesquisa, eu examinaria os trabalhos de Jianqing Fan e Jinchi Lv, que fizeram a maior parte do trabalho fundamental sobre problemas de dimensão ultra-alta. ("Triagem" é um bom termo para pesquisar)
[F1] Na verdade, qualquer variável aleatória subgaussiana , mas isso não acrescenta muito a essa discussão.
sns=g(n)
T. Hastie, R. Tibshirani e M. Wainwright. Aprendizagem Estatística com Sparsity. Monografias sobre estatística e probabilidade aplicada 143. CRC Press, 2015. Disponível em download gratuito em https://web.stanford.edu/~hastie/StatLearnSparsity_files/SLS.pdf
Peter J. Bickel, Ya'acov Ritov e Alexandre B. Tsybakov. "Análise Simultânea de Lasso e Dantzig Selector". Anais da estatística 37 (4), p. 1705-1732, 2009. http://dx.doi.org/10.1214/08-AOS620