r fornece suporte abrangente para regressão linear múltipla. Os tópicos abaixo são fornecidos por ordem de crescente complexidade.
Montagem Do Modelo
# Multiple Linear Regression Example
fit <- lm(y ~ x1 + x2 + x3, data=mydata)
summary(fit) # show results
parcelas de diagnóstico
parcelas de diagnóstico fornecem verificações para a heterocedasticidade, normalidade e observadores influentes.,
# diagnostic plots
layout(matrix(c(1,2,3,4),2,2)) # optional 4 graphs/page
plot(fit)
clique para visualizar
Para uma avaliação mais abrangente do ajuste do modelo ver regressão de diagnóstico ou exercícios deste curso interativo em regressão.
comparando modelos
pode comparar modelos aninhados com a função anova (). O código seguinte fornece um teste simultâneo que x3 e x4 adicionam à previsão linear acima e além de x1 e x2.
validação cruzada
pode fazer K-Fold validação cruzada usando o cv.função lm () no Pacote DAAG.,
# K-fold cross-validation
library(DAAG)
cv.lm(df=mydata, fit, m=3) # 3 fold cross-validation
soma o MSE para cada dobra, divide pelo número de observações e toma a raiz quadrada para obter o erro padrão Cruz-validado da estimativa.
pode avaliar a retracção do R2 através de uma validação cruzada de K-fold. Usando a função crossval() do pacote bootstrap, faça o seguinte:
seleção variável
selecionando um subconjunto de variáveis predictor de um conjunto maior (por exemplo, seleção passo a passo) é um tópico controverso. Você pode realizar a seleção passo a passo (para a frente, para trás, ambos) usando a função stepAIC () do pacote de massa., stepAIC () executa a selecção do modelo passo a passo pelo AIC EXACTO.
Alternativamente, você pode realizar regressão de todos os subconjuntos usando a função Saltos( ) Do pacote saltos. No seguinte código nbest indica o número de subconjuntos de cada tamanho a reportar. Aqui, os dez melhores modelos serão reportados para cada tamanho de subconjunto (1 predictor, 2 predictores, etc.).
clique para visualizar
Outras opções para o gráfico( ) são bic, Cp, e adjr2. Outras opções para plotar com
subconjunto( ) são bic, cp, adjr2, e rss.,
importância relativa
o pacote relaimpo fornece medidas de importância relativa para cada um dos predictores no modelo. Veja help (calc.relimp) para pormenores sobre as quatro medidas de importância relativa fornecidas.
clique para ver
melhorias gráficas
o pacote do carro oferece uma grande variedade de gráficos para regressão, incluindo gráficos variáveis adicionados, e diagnóstico melhorado e folhetos Scatterplots.
indo mais longe
regressão não linear
o pacote nls fornece funções para regressão não linear., Veja a regressão não-linear de John Fox e os mínimos quadrados não-lineares para uma visão geral. Huet and colleagues’ Statistical Tools for Nonlinear Regression: A Practical Guide with S-PLUS and R Examples is a valuable reference book.
Regressão robusta
Existem muitas funções em R para auxiliar com regressão robusta. Por exemplo, você pode realizar uma regressão robusta com a função rlm( ) no pacote de massa. John Fox’s (quem mais?) A regressão robusta proporciona uma boa visão de partida. O site de Computação Estatística da UCLA tem exemplos robustos de regressão.,
O Pacote robusto fornece uma biblioteca abrangente de métodos robustos, incluindo regressão. O pacote robustbase também fornece estatísticas básicas robustas, incluindo métodos de seleção de modelos. E David Olive forneceu uma análise detalhada em linha de Estatísticas robustas aplicadas com o código da amostra R.
para praticar
Este curso de aprendizagem com máquina em R inclui exercícios de regressão múltipla e validação cruzada.