Podemos dizer que a regressão logística é uma forma generalizada de regressão linear, mas a principal diferença está na faixa de valor prevista é (-∞, ∞), enquanto o intervalo de valor previsto na regressão logística é (0,1). Neste post, aprenderemos sobre regressão logística e como implementá -la na linguagem de programação R.
Por que usar regressão logística
Depois de entender a relação entre independente (variáveis preditores) e dependente (variável de resposta), a regressão linear é frequentemente usada. Quando a variável dependente é categórica, é melhor escolher a regressão logística. É um dos modelos mais simples, mas muito útil em aplicativos diferentes, porque é fácil de interpretar e rápido na implementação.
Na regressão logística, tentamos categorizar os dados/observação em classes distintas que mostram que a regressão logística é um algoritmo de classificação. A regressão logística pode ser útil em diferentes aplicações, como:
Podemos usar o registro de crédito e o saldo bancário de um cliente para prever se o cliente é elegível para tomar o empréstimo do banco ou não (a variável de resposta será "elegível" ou "não elegível. Você pode acessar a partir da condição acima de que a variável de resposta pode ter apenas dois valores. Enquanto que na regressão linear a variável dependente pode levar mais valores múltiplos contínuos.
Regressão logística em r no Ubuntu 20.04
Em r Quando a variável de resposta é binária, o melhor para prever um valor de um evento é usar o modelo de regressão logística. Este modelo usa um método para encontrar a seguinte equação:
Log [p (x) / (1-p (x))] = β0 + β1x1 + β2x2 +… + βpxpXJ é a Jth Predictor Variable e βJ é a estimativa do coeficiente para o XJ. Uma equação é usada pelo modelo de regressão logística para calcular a probabilidade e gera a observação/saída do valor 1. Isso significa a saída com uma probabilidade igual a 0.5 ou mais será considerado como valor 1. Fora isso, todos os valores serão considerados como 0.
p (x) = eβ0 + β1x1 + β2x2 +… + βpxp / (1 + eβ0 + β1x1 + β2x2 +… + βpxp)O exemplo passo a passo a seguir ensinará como usar a regressão logística em r.
Etapa 1: carregue os dados para o modelo em r
Primeiro, temos que carregar um conjunto de dados padrão para demonstrar o uso do modelo. Este conjunto de dados consiste em 1000 observações, conforme exibido abaixo.
Nesta coluna do conjunto de dados, o padrão está mostrando se um indivíduo é um padrão. O aluno está mostrando se um indivíduo é um aluno. O equilíbrio está mostrando o equilíbrio médio de um indivíduo. E a renda está indicando a renda de um indivíduo. Para construir um modelo de regressão, o status, o saldo bancário e a renda serão usados para prever a probabilidade dos indivíduos.
Etapa 2: Criação de amostras de treinamento e teste
Dividiremos o conjunto de dados em um conjunto de testes e um conjunto de treinamento para testar e treinar o modelo.
70% dos dados são usados para o conjunto de treinamento e 30% para o conjunto de testes.
Etapa 3: Ajustando a regressão logística
Em r, para se ajustar à regressão logística, temos que usar uma função GLM e definir a família como binomial.
Nas chances de log, a mudança média é indicada pelos coeficientes. O valor p do status do aluno é 0.0843 Valor p de equilíbrio é <0.0000, P-value of income is 0.4304. These values are showing how effectively each independent variable is at predicting the likelihood of default.
Em R, para verificar o quão bem nosso modelo logístico se encaixa no Data McFadden's, a métrica R2 é usada. Varia de 0 a 1. Se o valor estiver próximo de 0, indica que o modelo não está em forma. No entanto, valores acima de 0.40 são considerados um modelo adequado. A função PR2 pode ser usada para calcular o R2 de McFadden.
Como o valor acima está acima de 0.472, está indicando que nosso modelo tem alto poder preditivo, bem como o modelo está em forma.
A importância de uma função também pode ser calculada pelo uso da função de varimp. O valor mais alto indica que a importância dessa variável será maior do que outros.
Etapa 4: use o modelo de regressão logística para fazer previsões
Depois de encaixar o modelo de regressão, não podemos fazer previsões sobre se um indivíduo inadimpleirá ou não em diferentes valores de equilíbrio, renda e o status do aluno:
Como podemos ver, se o saldo for 1400, a renda é 2000 com o status do aluno "sim" tendo um 0.02732106 Probabilidade de inadimplência. Por outro lado, um indivíduo com os mesmos parâmetros, mas o status do aluno "não" tem um 0.0439 Probabilidade de inadimplência.
Para calcular todos os indivíduos em nosso conjunto de dados, o seguinte código é usado.
previsto <- predict(model, test, type="response")Etapa 5: diagnosticando o modelo de regressão logística:
Nesta última etapa, analisaremos o desempenho do nosso modelo no banco de dados de teste. Por padrão, os indivíduos que têm uma probabilidade maior que 0.5 será previsto "padrão". No entanto, usando o OptimalCutoff () A função maximizará a precisão do nosso modelo.
Como podemos ver acima, 0.5451712 é o corte ideal de probabilidade. Então, um indivíduo com probabilidade de 0.5451712 de ser "padrão" ou maior será considerado como "padrão". No entanto, um indivíduo tem uma probabilidade menor que 0.5451712 será considerado "não padrão"
Conclusão
Depois de passar por este tutorial, você deve estar familiarizado com a regressão logística na linguagem de programação R no Ubuntu 20.04. Você também poderá identificar quando deve usar este modelo e por que é importante com valores binomiais. Com a ajuda de códigos e equações, implementamos as cinco etapas do uso da regressão logística em R com exemplos para explicá -lo em detalhes. Essas etapas abrangem tudo o que começa do carregamento de dados para r, treinando e testando o conjunto de dados, ajustando o modelo e previsão para modelar diagnósticos.