Para um exemplo simples, assuma que existem dois modelos de regressão linear
- Modelo 1 tem três preditores,
x1a
,x2b
, ex2c
- O modelo 2 possui três preditores do modelo 1 e dois preditores adicionais
x2a
ex2b
Existe uma equação de regressão populacional em que a variação populacional explicada é para o Modelo 1 e para o Modelo 2. A variação incremental explicada pelo Modelo 2 na população é ρ 2 ( 2 ) Δ ρ 2 = ρ 2 ( 2 ) - ρ 2 ( 1 )
Estou interessado em obter erros padrão e intervalos de confiança para um estimador de . Embora o exemplo envolva 3 e 2 preditores, respectivamente, meu interesse em pesquisa diz respeito a uma ampla gama de diferentes números de preditores (por exemplo, 5 e 30). Meu primeiro pensamento foi usar como um estimador e inicializá-lo, mas não tinha certeza se isso seria possível. seja apropriado. Δ r 2 a d j = r 2 a d j ( 2 ) - r 2 a d j ( 1 )
Questões
- É um estimador razoável de ? Δ p 2
- Como um intervalo de confiança pode ser obtido para a mudança r-quadrado da população (isto é, )?
- O bootstrapping seria apropriado para o cálculo do intervalo de confiança?
Qualquer referência a simulações ou a literatura publicada também seria bem-vinda.
Código de exemplo
Se ajudar, criei um pequeno conjunto de dados de simulação em R que poderia ser usado para demonstrar uma resposta:
n <- 100
x <- data.frame(matrix(rnorm(n *5), ncol=5))
names(x) <- c('x1a', 'x1b', 'x1c', 'x2a', 'x2b')
beta <- c(1,2,3,1,2)
model2_rho_square <- .7
error_rho_square <- 1 - model2_rho_square
error_sd <- sqrt(error_rho_square / model2_rho_square* sum(beta^2))
model1_rho_square <- sum(beta[1:3]^2) / (sum(beta^2) + error_sd^2)
delta_rho_square <- model2_rho_square - model1_rho_square
x$y <- rnorm(n, beta[1] * x$x1a + beta[2] * x$x1b + beta[3] * x$x1c +
beta[4] * x$x2a + beta[5] * x$x2b, error_sd)
c(delta_rho_square, model1_rho_square, model2_rho_square)
summary(lm(y~., data=x))$adj.r.square -
summary(lm(y~x1a + x1b + x1c, data=x))$adj.r.square
Motivo de preocupação com o bootstrap
Eu executei um bootstrap em alguns dados com cerca de 300 casos e 5 preditores no modelo simples e 30 preditores no modelo completo. Enquanto a estimativa da amostra usando diferença quadrática r ajustada foi 0.116
, o intervalo de confiança aumentado foi maior IC95% (0,095 a 0,214) e a média dos bootstraps não ficou nem perto da estimativa da amostra. Em vez disso, a média das amostras com boostrapped parecia estar centrada na estimativa amostral da diferença entre os quadrados r na amostra. Isso apesar do fato de eu estar usando os quadrados r ajustados da amostra para estimar a diferença.
Curiosamente, tentei uma maneira alternativa de calcular como
- calcular amostra de mudança quadrada r
- ajuste a alteração do quadrado r da amostra usando a fórmula r-quadrado ajustada padrão
Quando aplicado aos dados da amostra, reduziu a estimativa de para, mas os intervalos de confiança pareciam apropriados para o método que mencionei primeiro, IC95% (0,062, 0,19) com média de 0,118..082
Em termos gerais, estou preocupado que o bootstrapping assuma que a amostra é a população e, portanto, as estimativas de que a redução por sobreajuste pode não ter um desempenho adequado.
fonte
Respostas:
PopulaçãoR2
Em primeiro lugar, estou tentando entender a definição da população R-quadrado .
Citando seu comentário:
Eu acho que você quer dizer este é o limite da amostra quando se reproduz o modelo infinitamente muitas vezes (com os mesmos preditores em cada repetição).R2
Então, qual é a fórmula para o valor assintótico da amostra ? Escreva seu modelo linear Y = μ + σ G como em https://stats.stackexchange.com/a/58133/8402 e use as mesmas notações que este link. Em seguida, pode-se verificar que a amostra de R 2 vai para p o p R 2 : = λR2 Y= μ + σG
R2 quando se replica o modeloY=μ+σGinfinitamente várias vezes.p o p R2: = λn + λ Y= μ + σG
Como exemplo:
População de um submodeloR2
Agora vamos supor que o modelo é com H 1 : μ ∈ W 1 e considerar o submodelo H 0 : μ ∈ W 0 .Y= μ + σG H1 1: U ∈ W1 1 H0 0: U ∈ W0 0
Agora você define a população do submodelo como o valor assintótico do calculado em relação ao modelo mas sob a premissa distributiva do modelo ? O valor assintótico (se houver) parece mais difícil de encontrar.H 0 R 2 H 0 H 1R2 H0 0 R2 H0 0 H1 1
fonte
Em vez de responder à pergunta que você fez, vou perguntar por que você faz essa pergunta. Eu presumo que você quer saber se
é pelo menos tão bom quanto
em explicar
y
. Como esses modelos estão aninhados, a maneira óbvia de responder a essa pergunta parece ser executar uma análise de variação comparando-os, da mesma maneira que você pode executar uma análise de desvio para dois GLMs, comoEm seguida, você pode usar a melhoria do quadrado R da amostra entre os modelos como seu melhor palpite sobre qual seria a melhoria de ajuste na população, sempre assumindo que você pode entender o sentido da população ao quadrado R. Pessoalmente, não tenho certeza de que posso, mas com isso não importa de qualquer maneira.
De maneira mais geral, se você está interessado em quantidades populacionais, provavelmente está interessado em generalização, portanto, uma medida de ajuste da amostra não é exatamente o que você deseja, por mais 'corrigida'. Por exemplo, a validação cruzada de alguma quantidade que estima o tipo e a quantidade de erros reais que você poderia esperar da amostra, como o MSE, pareceria obter o que deseja.
Mas é bem possível que eu esteja perdendo alguma coisa aqui ...
fonte
Bootstrap r-quadrado com ajuste duplo
Meu melhor palpite atual para uma resposta é fazer um bootstrap r-square com ajuste duplo. Eu implementei a técnica. Envolve o seguinte:
A lógica é que o primeiro quadrado r ajustado ajusta o viés introduzido pelo bootrapping (isto é, o bootstrapping assume que a amostra r-square é a população r-square). O segundo quadrado r ajustado ajusta a correção padrão aplicada a uma amostra normal para estimar o quadrado r da população.
Neste ponto, tudo o que vejo é que a aplicação desse algoritmo gera estimativas que parecem corretas (ou seja, a média theta_hat no bootstrap está muito próxima da amostra theta_hat). O erro padrão está alinhado com a minha intuição. Ainda não testei se ele fornece cobertura freqüentista adequada onde o processo de geração de dados é conhecido, e também não tenho muita certeza, neste ponto, de como o argumento poderia ser justificado a partir dos primeiros princípios.
Se alguém perceber algum motivo pelo qual essa abordagem seria problemática, ficaria grato em saber disso.
Simulação por Algina et al
Smithson (2001) sobre o uso do parâmetro noncentrality
Referências
fonte