Remoção à distância de Cook em Python

Remoção à distância de Cook em Python
A distância de Cook é uma abordagem útil para identificar outliers e o impacto de cada observação em um modelo de regressão específico. Pode ajudar na remoção de discrepantes e na investigação de quais pontos contribuem menos para a previsão de variáveis ​​de destino. Veremos a regressão, outliers e como a distância de Cook desempenha um papel no desenvolvimento de um bom modelo de regressão. Mais tarde, também implementaremos a distância de Cook em Python.

O que é regressão?

A análise de regressão é uma ferramenta estatística para analisar a conexão entre variáveis ​​independentes e dependentes (isso também pode ser estendido de muitas maneiras diferentes). A aplicação mais típica da análise de regressão está prevendo ou prevendo como uma coleção de condições afetará um resultado. Suponha que você tenha um conjunto de dados sobre estudantes do ensino médio que incluíam seus escores de GPA, sexo, idade e SAT.

Nesse caso, você pode criar um modelo básico de regressão linear, com os fatores dependentes sendo GPA, gênero, etnia e idade e as variáveis ​​independentes sendo as pontuações do SAT. Então, depois de ter o modelo, você pode estimar o que novos alunos marcarão no SAT com base nos outros quatro fatores, assumindo que é um bom ajuste. Outro bom exemplo de análise de regressão é a previsão do preço da casa com base no número de salas, área e outros fatores.

O que queremos dizer com regressão linear?

A regressão linear é a técnica de aprendizado mais comum, direta e eficaz, mas eficaz, para prever variáveis ​​contínuas. O objetivo da regressão linear é determinar como uma variável de entrada (variável independente) afeta uma variável de saída (variável dependente). Abaixo estão os elementos da regressão linear:

  1. A variável de entrada geralmente é contínua
  2. A variável de saída é contínua
  3. As suposições de regressão linear de relevo.

As suposições de regressão linear incluem uma relação linear entre as variáveis ​​de entrada e saída, que os erros são normalmente distribuídos e que o termo de erro é independente da entrada.

O que é a distância euclidiana?

A menor distância entre dois objetos especificados em um avião é a distância euclidiana. Se um triângulo direito é extraído dos dois pontos especificados, ele é igual à soma dos quadrados da base do triângulo e sua altura. É comumente usado na geometria para uma variedade de propósitos. Este é o tipo de espaço em que as linhas que começam paralelas permanecem paralelas e estão sempre a mesma distância separada.

Isso se assemelha muito ao espaço em que os humanos habitam. Isso indica que a distância euclidiana entre dois objetos é a mesma que o seu senso comum diz ao calcular a menor distância entre dois objetos. O teorema de Pitágoras é usado para calculá -lo matematicamente. A distância de Manhattan é uma métrica alternativa para determinar a distância entre dois lugares.

Qual é a distância de Manhattan?

A distância de Manhattan é calculada onde o avião é dividido em blocos e você não pode viajar na diagonal. Como resultado, Manhattan nem sempre fornece a rota mais direta entre dois pontos. Se dois pontos em um avião forem (x1, y1) e (x2, y2), a distância de Manhattan entre eles é calculada como | x1-x2 | + | y1-y2 |. Isso é comumente empregado em cidades onde as ruas são estabelecidas em quarteirões, e é impossível ir na diagonal de um local para outro.

O que são outliers?

Outliers em um conjunto de dados são números ou pontos de dados anormalmente altos ou baixos em comparação com outros pontos de dados ou valores. Um outlier é uma observação que se desvia do padrão geral de uma amostra. Os outliers devem ser removidos à medida que reduzem a precisão de um modelo. Os outliers são normalmente visualizados usando gráficos de caixa. Por exemplo, em uma turma de estudantes, podemos esperar que estejam entre 5 e 20. Um estudante de 50 anos da turma seria considerado um outlier, pois não "pertence" à tendência regular dos dados.

Plotar os dados (normalmente com um gráfico de caixa) é talvez a técnica mais simples para ver qualquer outlier no conjunto de dados. Processos estatísticos relacionados ao controle de qualidade podem dizer a que distância você está estatisticamente (de acordo com desvios padrão de probabilidade e níveis de confiança). No entanto, lembre -se de que um outlier é apenas um outlier se você tiver informações suficientes sobre os dados para explicar por que é diferente dos outros pontos de dados, justificando assim o termo “outlier.Caso contrário, os dados devem ser tratados como uma ocorrência aleatória. Eles devem ser mantidos no conjunto de dados - e você deve aceitar os menos desejáveis ​​(i.e., menos desejáveis) resultados devido à inclusão do ponto de dados.

Qual é a distância de Cook?

A distância do cozinheiro na ciência de dados é usada para calcular a influência de cada ponto de dados como um modelo de regressão. Realizar uma análise de regressão de mínimos quadrados é um método de identificação de discrepantes influentes em um conjunto de variáveis ​​preditivas. R. Dennis Cook, um estatístico americano, originou esse conceito, e é por isso que recebeu o nome dele. Na distância de Cook, os valores são comparados para ver se a remoção da observação atual afeta o modelo de regressão. Quanto maior a influência de uma certa observação no modelo, maior a distância da cozinha dessa observação.
Matematicamente, a distância de Cook é representada como

Di = (di2 / c * m) * (hii / (1-hii) 2)

onde:
deu é o iº Data Point
c representa o número de coeficientes no modelo de regressão especificado
M é um erro quadrado médio que é usado para calcular o desvio padrão de pontos com a média
hii é o iº Valor de alavancagem.

Conclusões da distância de Cook

  1. Um provável outlier é um ponto de dados com a distância de um cozinheiro mais de três vezes a média.
  2. Se houver n observações, qualquer ponto com a distância de Cook maior que 4/n é considerado influente.

Implementando a distância de Cook em Python

Lendo os dados
Vamos ler uma matriz 2-D em que 'x' representa a variável independente, enquanto 'y' representa a variável dependente.

importar pandas como PD
#crete dataframe
df = pd.Dataframe ('x': [10, 20, 30, 40, 50, 60],
'Y': [20, 30, 40, 50, 100, 70])

Criando o modelo de regressão

Importar StatsModels.API como SM
# armazenando valores dependentes
Y = df ['y']
# Armazenamento de valores independentes
X = df ['x']
X = sm.add_constant (x)
# se encaixe no modelo
modelo = sm.Ols (y, x)
modelo.ajustar()

Calcule a distância de Cook

importar numpy como np
NP.set_printoptions (suprime = true)
# Crie instância de influência
influência = modelo.get_influence ()
# Obtenha a distância de Cook para cada observação
Cooks_Distances = Influência.Cooks_distance
# Imprima as distâncias de Cook
Imprimir (Cooks_Distances)

Outra técnica de detecção externa

Faixa Interquartil (IQR)
O intervalo interquartil (IQR) é uma medida de dispersão de dados. É especialmente eficaz para dados significativamente distorcidos ou de outra forma fora do ordens. Por exemplo, dados sobre dinheiro (renda, preços de propriedade e carro, economias e ativos etc.) são frequentemente distorcidos à direita, com a maioria das observações estando na extremidade baixa e algumas dispersas no final. Como outros apontaram, o intervalo interquartil se concentra na metade do meio dos dados enquanto desconsidera as caudas.

Conclusão

Passamos pela descrição da distância de Cook, seus conceitos relacionados, como regressão, outliers e como podemos usá -lo para encontrar a influência de cada observação em nosso conjunto de dados. A distância de Cook é importante para examinar os outliers e que impacto cada observação tem no modelo de regressão. Mais tarde, também implementamos a distância de Cook usando o Python em um modelo de regressão.