Introdução Completa de Regressão Linear em R

a regressão Linear é utilizada para predizer o valor de uma variável contínua Y com base em um ou mais entrada de variáveis preditoras X. O objetivo é estabelecer uma fórmula matemática entre a variável resposta (Y) e as variáveis preditoras (Xs). Você pode usar esta fórmula para prever Y, quando apenas os valores X são conhecidos.

introdução completa à regressão Linear com R. (Foto de Stacy Wyss)Contents1. Introduction to Linear Regression
2., Example Problem
3. Análise gráfica
– Usando Gráfico de dispersão para visualizar a relação
— Usando BoxPlot para verificar os valores anómalos
— Usando Gráfico de densidade para verificar se a variável de resposta está perto do Normal
4. O que é Análise de correlação?
5. Building the Linear Regression Model
6. Diagnóstico de regressão Linear
— Usando o valor P para verificar a significância estatística
– Qual é a hipótese nula e Alternativa?r— – O que é o valor t?
– como calcular os valores de T E P?
— R-quadrado e R-quadrado ajustado
— Erro Padrão E F-estatística
7., Como saber qual o modelo de regressão mais adequado para os dados?
8. Predicting Linear Models
9. O que é a validação cruzada k – Fold e o seu propósito?
10. Para onde ir a partir daqui?

1. A introdução à regressão Linear

regressão Linear é uma das técnicas de modelização preditiva mais utilizadas. O objetivo da regressão linear é encontrar uma equação matemática para uma variável de resposta contínua Y em função de uma ou mais variáveis X. Para que você possa usar este modelo de regressão para prever o Y quando apenas o X é conhecido.,

Esta equação matemática pode ser generalizada da seguinte forma:

$$Y = \beta_{1} + \beta_{2} X + \epsilon$$

onde ?1 é a intercepção e ?2 é o declive.colectivamente, chamam-se coeficientes de regressão e ? é o termo de erro, a parte de Y o modelo de regressão é incapaz de explicar.

Linha de Regressão Linear

Exemplo de Problema

Para esta análise, vamos usar o cars conjunto de dados que vem com o R, por padrão.,

cars é um conjunto de dados embutido padrão, que torna conveniente mostrar regressão linear de uma forma simples e fácil de entender.

pode aceder a este conjunto de dados escrevendo em cars na sua consola R.

Você vai descobrir que ele consiste de 50 observações(linhas) e 2 variáveis (colunas) do tipo”id”

espeed. Vamos imprimir as seis primeiras observações aqui.,

head(cars) 
#> speed dist#> 1 4 2#> 2 4 10#> 3 7 4#> 4 7 22#> 5 8 16#> 6 9 10

O objetivo aqui é o de estabelecer uma equação matemática para dist como uma função de speed, de modo que você pode usar para prever o dist quando somente o speed do carro é conhecido.

assim, é desejável construir um modelo de regressão linear com a variável de resposta comodist e o predictor comospeed.antes de começarmos a construir o modelo de regressão, é uma boa prática analisar e compreender as variáveis.,a análise gráfica e o estudo de correlação abaixo ajudarão com isso.

Análise Gráfica

O objetivo deste exercício é criar um modelo de regressão simples que você pode usar para prever a Distância (dist).

isto é possível estabelecendo uma fórmula matemática entre Distância (dist) e velocidade (speed).

mas antes de saltar para a sintaxe, vamos tentar entender essas variáveis graficamente.,

tipicamente, para cada um dos predictores, os seguintes gráficos ajudam a visualizar os padrões:

  • parcela de dispersão: visualize a relação linear entre o predictor e a resposta
  • parcela de caixa: para detectar quaisquer observações mais estranhas na variável. Ter anómalos em seu predictor pode afetar drasticamente as previsões, uma vez que eles podem afetar a direção/inclinação da linha de melhor ajuste.gráfico de densidade: para ver a distribuição da variável predictor. Idealmente, é preferível uma distribuição próxima do normal (uma curva em forma de sino), sem ser inclinada para a esquerda ou para a direita.,

deixe-nos ver como fazer cada um deles.

usando o gráfico de dispersão para visualizar a relação

os gráficos de dispersão podem ajudar a visualizar as relações lineares entre as variáveis de resposta e de predictor.

idealmente, se você tem muitas variáveis de predictor, um gráfico de dispersão é desenhado para cada um deles contra a resposta, juntamente com a linha de melhor ajuste como visto abaixo.,

scatter.smooth(x=cars$speed, y=cars$dist, main="Dist ~ Speed") 
Distância Vs Velocidade do gráfico de dispersão

O gráfico de dispersão, juntamente com a suavização de linha acima sugere uma relação linear e positiva relação entre o �dist� e �speed�.isto é uma coisa boa.

porque, um dos pressupostos subjacentes da regressão linear é, a relação entre a resposta e as variáveis de predictor é linear e aditiva.,

usando BoxPlot para verificar se existem valores anómalos

geralmente, um ponto anómalo é qualquer dado que se encontra fora do intervalo 1,5 * inter quartile (IQR).

IQR é calculada como a distância entre os valores do percentil 25 e do percentil 75 para essa variável.,

Boxplots da Velocidade e da Distância

Usando a Densidade de Trama Para Verificar Se a Variável de Resposta É Perto do Normal

A densidade da Trama Para a Velocidade e a Distância

4. O que é Análise de correlação?

Análise de correlação estuda a força da relação entre duas variáveis contínuas. Envolve a computação do coeficiente de correlação entre as duas variáveis.,então, qual é a correlação? E como é útil na regressão linear?a correlação é uma medida estatística que mostra o grau de dependência linear entre duas variáveis.

A fim de calcular a correlação, as duas variáveis devem ocorrer em pares, assim como o que temos aqui com speed e dist.a correlação de

pode levar valores entre -1 a +1.

Se uma variável aumenta consistentemente com o aumento do valor da outra, então eles têm uma forte correlação positiva (valor próximo de +1).,

similarmente, se um diminui consistentemente quando o outro aumenta, eles têm uma forte correlação negativa (valor próximo a -1).

um valor mais próximo de 0 sugere uma relação fraca entre as variáveis.

Uma baixa correlação (-0.2 < x < 0.2) provavelmente sugere que grande parte da variação da variável de resposta (Y) é explicada pelo predictor (X). Nesse caso, você provavelmente deve procurar melhores variáveis explicativas.,

If you observe the cars dataset in the R console, for every instance where speed increases, the distance also increases along with it.isso significa que existe uma forte relação positiva entre eles. Assim, a correlação entre eles estará mais próxima de 1.no entanto, a correlação não implica causalidade.

em outras palavras, se duas variáveis têm alta correlação, não significa uma variável “causa” o valor da outra variável a aumentar.a correlação é apenas um auxílio para entender a relação., Você só pode confiar na lógica e raciocínio empresarial para fazer esse julgamento.como calcular a correlação em R?

simplesmente use a função cor() com as duas variáveis numéricas como argumentos.

cor(cars$speed, cars$dist) 
#> 0.8068949

construindo o modelo de regressão Linear

Agora que você viu a relação linear pictorialmente no gráfico de dispersão e através da correlação, vamos tentar construir o modelo de regressão linear.

A função utilizada para construir modelos lineares é lm().,

lm() função assume em dois principais argumentos:

  1. Fórmula
  2. Dados

Os dados normalmente é uma data.frame objeto e a fórmula é um objeto da classe formula.

mas a Convenção mais comum é escrever a fórmula diretamente como escrito abaixo.ao construir o modelo de regressão linear, estabelecemos a relação entre o predictor e a resposta na forma de uma fórmula matemática.

Que é a Distância (dist) como uma função speed.,

para a saída acima, você pode notar a parte de segurança do coeficiente de segurança com dois componentes: interceptação: -17.579, velocidade: 3.932.

estes são também chamados de coeficientes beta. Por outras palavras,

$dist?=?Interceptar?+?(????velocidade)$$

=> dist = ?17.579 + 3.932?velocidade

a Regressão Linear de Diagnóstico

Agora, o modelo linear é construída e você tem uma fórmula que você pode usar para prever o dist valor se uma correspondente speed é conhecido.isto é suficiente para usar este modelo? Não!,

porque, antes de usar um modelo de regressão para fazer previsões, você precisa garantir que ele é estatisticamente significativo. Mas como garante isso?

vamos começar por imprimir as estatísticas de resumo para linearMod.

usando o valor p para verificar a significância estatística

as estatísticas resumidas acima nos dizem uma série de coisas.

um deles é o valor p do modelo (na última linha) e o valor p de variáveis de predictor individuais (coluna de extrema-direita no caso de coeficientes especiais).os valores de p são muito importantes.,

porque, podemos considerar um modelo linear como estatisticamente significativo apenas quando ambos os valores p são inferiores ao nível de significância estatística pré-determinado de 0,05.

isto pode ser interpretado visualmente pelas estrelas significantes no final da linha contra cada variável X.

Quanto mais as estrelas ao lado do valor de p-s da variável, mais significativa é a variável.

Qual é a hipótese nula e Alternativa?

sempre que há um valor p, há sempre uma hipótese nula e Alternativa associada.

então qual é a hipótese nula neste caso?,

em regressão Linear, a hipótese nula (H0) é que os coeficientes beta associados às variáveis são iguais a zero.

a hipótese alternativa (H1) é que os coeficientes não são iguais a zero. (isto é, existe uma relação entre a variável independente em questão e a variável dependente).

Qual é o valor t?

podemos interpretar o valor-t algo assim. Um valor t maior indica que é menos provável que o coeficiente não seja igual a zero puramente por acaso. Quanto mais alto o valor-t, melhor.,

Pr (>| t/) ou valor p é a probabilidade de se obter um valor t tão elevado ou superior ao valor observado quando a hipótese nula (o ? coeficiente é igual a zero ou que não há relação) é verdadeiro.o que isto significa para nós?

Quando o valor de p é menor que o nível de significância (< 0,05), você pode rejeitar com segurança a hipótese nula de que o co-eficiente ? do predictor é zero.

In our case, linearMod, both these p-Values are well below below the 0,05 threshold.,

assim, você pode rejeitar a hipótese nula e concluir que o modelo é realmente estatisticamente significante.

é muito importante que o modelo seja estatisticamente significativo antes de poder ir em frente e usá-lo para prever a variável dependente. Caso contrário, a confiança nos valores previstos a partir desse modelo reduz e pode ser interpretada como um evento de acaso.

como calcular a estatística de t e os valores de p?

quando os co-efficients do modelo e o erro padrão são conhecidos, a fórmula para calcular a estatística de t e o valor de p é a seguinte:

$t?Statistic = {??,coeficiente \sobre DST.Erro}$

No caso de querer calcular algumas das estatísticas por código manual, o excerto abaixo mostra como.

R-ao quadrado e Adj r-ao quadrado

a informação real em um dado é a variação total que ele contém, lembra-se?.

O Que R-quadrado nos diz é a proporção de variação na variável dependente (resposta) que foi explicada por este modelo.,

R ao Quadrado da Computação

Lembre-se, o total de informações em uma variável é a quantidade de variação que ele contém.

$$ R^{2} = 1 – \frac{RSS}{TSS}$$

onde, RSS é a Soma Residual dos Quadrados dado por

$$RSS = \sum_{i}^{n} \left( y_{i} – \hat{y_{i}} \right) ^{2}$$
e a Soma de Quadrados Total é dada por
$$TSS = \sum_{i}^{n} \left( y_{i} – \bar{y_{i}} \right) ^{2}$$

Aqui, y-hat é ajustado valor para a observação i e y-bar é a média de Y.,

o nosso modo de vida elimina necessariamente um modelo baseado num valor R-quadrado baixo.

para comparar a eficácia de dois modelos de regressão diferentes, é uma boa prática utilizar a amostra de validação para comparar o AIC dos dois modelos.

além da AIC, outras métricas de avaliação como o erro percentual médio absoluto( MAPE), o erro quadrático médio (MSE) e o erro absoluto médio (MAE) também podem ser usados.

isso é sobre R-ao quadrado. E o R-quadrado ajustado?o que é R-quadrado ajustado?,

à medida que adiciona mais variáveis X ao seu modelo, o valor R-quadrado do novo modelo maior será sempre maior do que o do subconjunto menor.consegue imaginar porquê?

isto é porque, uma vez que todas as variáveis no modelo original também está presente, sua contribuição para explicar a variável dependente estará presente no super-conjunto também.

portanto, qualquer nova variável que você adicione só pode adicionar (se não significativamente) à variação que já foi explicada.

é aqui, o valor R-quadrado ajustado vem ajudar.,

R-quadrado ajustado é formulado de modo que penaliza o número de termos (predictores de leitura) em seu modelo.

assim diferente de R-sq, como o número de predictores no modelo aumenta, o adj-R-sq nem sempre pode aumentar.

portanto, ao comparar modelos aninhados, é uma boa prática comparar usando adj-R-quadrado ao invés de apenas R-quadrado.,

$$ R^{2}_{aj} = 1 – \frac{MSE}{MST}$$

onde, MSE é o quadrado médio do erro dado por

$$MSE = \frac{RSS}{\left( n-q \right)}$$

e o MST é o quadrado médio do total dado por

$$MST = \frac{TSS}{\left( n-1 \right)}$$

onde, n é o número de observações e p é o número de coeficientes do modelo.,

Portanto, movendo-se em torno de numeradores e denominadores, a relação entre R2 e Radj2 torna-se:

$$R^{2}_{aj} = 1 – \left( \frac{\left( 1 – R^{2}\right) \left(n-1\right)}{n-p}\right)$$

Erro-Padrão e a Estatística F

Ambos os erros-padrão e a estatística F são medidas de bondade de ajuste.

$Std., Erro = \sqrt{MSE} = \sqrt{\frac{SSE}{n-q}}$$

$$estatística F = \frac{MSR}{MSE}$$

onde, n é o número de observações, q é o número de coeficientes e MSR é a média quadrática da regressão, calculado como,

$$MSR=\frac{\sum_{i}^{n}\left( \hat{y_{i} – \bar{y}}\right)}{q 1} = \frac{SST – SSE}{q 1}$$

quanto maior A Estatística F o que é melhor.o que é AIC e BIC?,o critério de informação de Akaike-AIC (Akaike, 1974) e o critério de informação Bayesiana – BIC (Schwarz, 1978) são medidas da bondade do ajuste do modelo de regressão linear e também podem ser usados para a seleção de modelos.

ambos os critérios dependem do valor maximizado da função de probabilidade L para o modelo estimado.

a AIC é definida como:

AIC?=?(?2)?�?ln (L)?+?(2 k)

onde, k é o número de parâmetros do modelo e o BIC é definido como:

BIC?=?(?2)?�?ln (L)?+?k?�?ln (n)

em que n é a dimensão da amostra.,

para comparação de modelos, o modelo com a pontuação AIC e BIC mais baixa é preferido.

AIC(linearMod) #=> 419.1569BIC(linearMod) #=> BIC => 424.8929

como saber qual o modelo de regressão mais adequado para os dados?,

As métricas mais comuns para olhar ao selecionar o modelo são:

ESTATÍSTICA CRITÉRIO
R-Quadrado Maior, melhor
Adj R-Squared Maior, melhor
Estatística F Maior, melhor
Std. Erro mais próximo de zero a melhor
t-estatística deve ser superior a 1,96 para que o valor p seja inferior a 0.,td>Abaixe o melhor
cp de Mallows Deve ser o número de preditores no modelo
MAPE (Mean absolute percentual error) Abaixe o melhor
MSE (Mean squared error) Abaixe o melhor
Min_Max Precisão => média(min(real, do previsto)/max(real, do previsto)) Maior, melhor

Previsão de Modelos Lineares

até agora você viu como criar um modelo de regressão linear utilizando todo o conjunto de dados., Se você construi-lo assim, não há nenhuma maneira de dizer como o modelo funcionará com novos dados.

assim, a prática preferida é dividir o seu conjunto de dados em uma amostra de 80:20 (treinamento: teste), então, construir o modelo na amostra de 80% e, em seguida, usar o modelo assim construído para prever a variável dependente em dados de teste.ao fazê-lo desta forma, teremos o modelo de valores previstos para os dados de 20% (teste), bem como os actuais (a partir do conjunto de dados original).ao calcular as medidas de precisão (como a precisão min_max) e as taxas de erro (MAPE ou MSE), você pode descobrir a precisão de previsão do modelo.,

agora, vamos ver como realmente fazer isso.

Passo 1: criar os dados de treino e teste

isto pode ser feito usando a função sample(). Certifique-se apenas de definir a semente usando set.seed() para que as amostras possam ser recriadas para uso futuro.

Passo 2: Ajustar o modelo aos dados de formação e prever dist nos dados de ensaio

Passo 3: rever as medidas de diagnóstico.

do resumo do modelo, o valor de P do modelo e o valor de P de predictor são menores do que o nível de significância.então você tem um modelo estatisticamente significante.,

também, o r-Sq e o Adj r-Sq são comparados ao modelo original construído sobre dados completos.

Passo 4: calcular a precisão de Previsão e as taxas de erro

uma correlação simples entre os valores reais e os valores previstos pode ser usada como uma forma de medida de precisão.uma maior precisão de correlação implica que os actuais e os valores previstos têm um movimento direccional semelhante, ou seja, quando os valores actuais aumentam os valores previstos também aumentam e vice-versa.,

Agora vamos calcular o Min Max precisão e MAPE:

$$MinMaxAccuracy = média \left( \frac{min\left(efetivos, predicteds\right)}{max\left(efetivos, predicteds \right)} \right)$$

$$MeanAbsolutePercentageError \ (MAPE) = média\left( \frac{abs\left(predicteds?actuals\right)} {actuals}\right)$

alternadamente, você pode calcular todas as métricas de erro de uma só vez usando a função regr.eval() no Pacote DMwR. Você terá que install.packages('DMwR') para isso se você estiver usando pela primeira vez.

Qual é a validação cruzada K-Fold e qual é a sua finalidade?,

Suponha, o modelo prevê satisfatoriamente sobre a separação de 20% (Dados de teste), é o suficiente para acreditar que o seu modelo irá executar igualmente bem o tempo todo?o que quero dizer com isto?é possível que poucos dos pontos de dados não sejam representativos da população sobre a qual o modelo foi construído.

Por exemplo, em cars dataset, vamos supor estrada de concreto foi usado para os testes de estrada sobre os 80% dados de treinamento, enquanto muddy road foi usado para os restantes 20% de dados de teste.,

Se o modelo foi treinado em tal configuração, você não pode esperar que o modelo para prever o dist no conjunto de dados de teste com igual rigor. Simplesmente porque ele não aprendeu a relação entre speed e dist em tal configuração.assim, é importante testar rigorosamente o desempenho do modelo de segurança tanto quanto possível.

uma maneira de fazer este teste rigoroso, é verificar se a equação do modelo funciona igualmente bem, quando treinado e testado em diferentes pedaços de dados distintos.,

isto é exactamente o que a validação cruzada K-Fold faz. Aqui está como funciona:

  1. divida os seus dados em partes aleatórias mutuamente exclusivas do K-S para amostras.
  2. então construa iterativamente modelos k, mantendo um dos subconjuntos-k como dados de ensaio de cada vez.

em cada iteração, construímos o modelo sobre os dados restantes (parte k-1) e calculamos o erro quadrado médio das previsões no subconjunto k’THH.finalmente, calcula-se a média destes erros quadrados médios (porções para o sistema k-s).

pode usar esta métrica para comparar diferentes modelos lineares.,ao fazer isto, terá de verificar duas coisas das previsões do K-fold:

  1. Se a precisão de predição de cada modelo do K-fold não estiver a variar demasiado para uma amostra em particular, e
  2. Se as linhas que melhor se encaixam nas K-folds não variarem demasiado em relação ao declive e ao nível.por outras palavras, devem ser paralelos e tão próximos uns dos outros quanto possível. Isto é o que o gráfico de validação cruzada K-fold (abaixo) revela.na parcela abaixo, as linhas tracejadas são paralelas?, Os símbolos pequenos e grandes não estão dispersos por uma cor em particular?
    Validação Cruzada da Parcela R

    para Onde ir a partir daqui?

    nós cobrimos os conceitos básicos sobre regressão linear. Além disso, você precisa entender que a regressão linear é baseada em certas suposições subjacentes que devem ser tomadas cuidado especialmente quando se trabalha com múltiplos Xs., Uma vez que você está familiarizado com isso, os modelos avançados de regressão irá mostrar-lhe em torno dos vários casos especiais onde uma forma diferente de regressão seria mais adequado.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *