Qual é a fórmula ao quadrado R ajustada em lm em R e como deve ser interpretada?

35

Qual é a fórmula exata usada em R lm() para o quadrado R ajustado? Como eu posso interpretar isso?

Fórmulas quadradas de r ajustadas

Parece haver várias fórmulas para calcular o quadrado R ajustado.

  • Wherry fórmula de: 1(1R2)(n1)(nv)
  • Fórmula de McNemar: 1(1R2)(n1)(nv1)
  • Fórmula do Senhor: 1(1R2)(n+v1)(nv1)
  • Fórmula de Stein: 1[(n1)(nk1)(n2)(nk2)(n+1)n](1R2)

Descrições de livros didáticos

  • De acordo com o livro de Field, Discovering Statistics Using R (2012, p. 273) R usa a equação de Wherry que "nos diz quanta variação em Y seria contabilizada se o modelo tivesse sido derivado da população da qual a amostra foi retirada". Ele não dá a fórmula para Wherry. Ele recomenda o uso da fórmula de Stein (à mão) para verificar a validade do modelo.
  • Kleiber / Zeileis, Econometria Aplicada com R (2008, p. 59) afirmam que é "o quadrado R ajustado de Theil" e não diz exatamente como sua interpretação varia do múltiplo R ao quadrado.
  • Dalgaard, Introductory Statistics with R (2008, p. 113) escreve que "se você multiplicar [R ajustado ao quadrado] por 100%, pode ser interpretado como '% de redução de variância'". Ele não diz a que fórmula isso corresponde.

Eu já havia pensado e lido amplamente que o R-quadrado penaliza por adicionar variáveis ​​adicionais ao modelo. Agora, o uso dessas diferentes fórmulas parece exigir interpretações diferentes. Também examinei uma questão relacionada ao estouro de pilha ( qual é a diferença entre o quadrado múltiplo R e o quadrado R ajustado em uma regressão de mínimos quadrados com uma variável única? ) E o dicionário estatístico da escola Wharton na UPenn .

Questões

  • Qual fórmula é usada para R-quadrado ajustado por R lm() ?
  • Como eu posso interpretar isso?
- Reinstate Monica
fonte
8
de summary.lm () ans$adj.r.squared <- 1 - (1 - ans$r.squared) * ((n - df.int)/rdf):, em que ans $ r.squared = R ^ 2; n = n, rdf = df residual, df.int = intercepta df (0 ou 1).
EDi
Vou fornecer uma resposta para o problema real aqui, que não é "que tipo de R ^ 2 ...". A informação que você (e muitos outros) não possui é a seguinte: todos os pacotes R, até o núcleo, disponibilizam o código fonte. Até o material compilado nas distribuições está disponível em {packagenames} .tar.gz no CRAN ou em outro repositório.
precisa saber é o seguinte
OP aqui: obrigado por esta excelente contribuição. E a minha segunda pergunta: como posso interpretar? Eu li tantas interpretações diferentes de Adj. R-quadrado que às vezes parece basear-se em uma fórmula que pode não ser de Wherry?

Respostas:

29

1. Qual fórmula lmem R é usada para o quadrado r ajustado?

Como já mencionado, a digitação summary.lmfornecerá o código que R usa para calcular o quadrado R ajustado. Extraindo a linha mais relevante que você obtém:

ans$adj.r.squared <- 1 - (1 - ans$r.squared) * ((n - df.int)/rdf)

que corresponde em notação matemática a:

Radj2=1(1R2)n1np1

df.int=1nprdfn-p-1

npnp1

2. Por que existem tantas fórmulas quadradas r ajustadas?

Radj2ρ2ρ2

R2Radj2

Rumadj2

Rumadj2ρ2ρ2R2

Referências

  • R2
Jeromy Anglim
fonte
9

Em relação à sua primeira pergunta: se você não sabe como é calculado, veja o código! Se você digitar summary.lmseu console, obterá o código para esta função. Se você desnatado durante todo o código que você vai encontrar uma linha: ans$adj.r.squared <- 1 - (1 - ans$r.squared) * ((n - df.int)/rdf). Se você olhar algumas linhas acima desta linha, notará que:

  • ans$r.squaredR2
  • n é o número de resíduos = número de observações
  • df.int é 0 ou 1 (dependendo se você tiver uma interceptação)
  • rdf é seu df residual

R2R2

EDi
fonte