La extracción de distancia de Cook en Python

La extracción de distancia de Cook en Python
La distancia de Cook es un enfoque útil para identificar valores atípicos y el impacto de cada observación en un modelo de regresión particular. Puede ayudar en la eliminación de valores atípicos y la investigación de qué puntos contribuyen menos a la predicción de las variables objetivo. Miraremos la regresión, los valores atípicos y cómo la distancia de Cook juega un papel en el desarrollo de un buen modelo de regresión. Más tarde, también implementaremos la distancia de Cook en Python.

Que es la regresión?

El análisis de regresión es una herramienta estadística para analizar la conexión entre variables independientes y dependientes (esto también se puede extender de muchas maneras diferentes). La aplicación más típica del análisis de regresión es pronosticar o predecir cómo una colección de condiciones afectará un resultado. Supongamos que tenía un conjunto de datos sobre estudiantes de secundaria que incluían sus puntajes de GPA, género, edad y SAT.

En ese caso, puede crear un modelo de regresión lineal básica con los factores dependientes que son GPA, género, etnia y edad, y las variables independientes que se satnalizan los puntajes. Luego, una vez que tenga el modelo, puede estimar qué estudiantes nuevos anotarán en el SAT según los otros cuatro factores, suponiendo que sea un buen ajuste. Otro buen ejemplo de análisis de regresión es la predicción del precio de la vivienda basada en la cantidad de habitaciones, área y otros factores.

¿Qué queremos decir con regresión lineal??

La regresión lineal es la técnica de aprendizaje supervisada más común, directa pero efectiva para predecir variables continuas. El objetivo de la regresión lineal es determinar cómo una variable de entrada (variable independiente) afecta una variable de salida (variable dependiente). A continuación se muestran los elementos de la regresión lineal:

  1. La variable de entrada suele ser continua
  2. La variable de salida es continua
  3. Los suposiciones de la regresión lineal se mantienen.

Los supuestos de regresión lineal incluyen una relación lineal entre las variables de entrada y salida, que los errores se distribuyen normalmente y que el término de error es independiente de la entrada.

¿Qué es la distancia euclidiana??

La distancia más pequeña entre dos objetos especificados en un plano es la distancia euclidiana. Si se extrae un triángulo recto de los dos puntos especificados, equivale a la suma de cuadrados de la base del triángulo y su altura. Se usa comúnmente en geometría para una variedad de propósitos. Este es el tipo de espacio donde las líneas que comienzan paralelas permanecen paralelas y siempre están a la misma distancia de distancia.

Esto se parece mucho al espacio en el que habitan los humanos. Esto indica que la distancia euclidiana entre dos objetos es la misma que su sentido común le dice al calcular la distancia más corta entre dos objetos. El teorema de Pitágoras se usa para calcularlo matemáticamente. La distancia de Manhattan es una métrica alternativa para determinar la distancia entre dos lugares.

¿Qué es la distancia de Manhattan??

La distancia de Manhattan se calcula donde el avión se divide en bloques, y no puede viajar en diagonal. Como resultado, Manhattan no siempre proporciona la ruta más directa entre dos puntos. Si dos puntos en un plano son (x1, y1) y (x2, y2), la distancia de Manhattan entre ellos se calcula como | x1-x2 | + | Y1-Y2 |. Esto se emplea comúnmente en ciudades donde las calles se colocan en bloques, y es imposible ir en diagonal de un lugar a otro.

¿Qué son los valores atípicos??

Los valores atípicos en un conjunto de datos son números o puntos de datos anormalmente altos o bajos en comparación con otros puntos o valores de datos. Un valor atípico es una observación que se desvía del patrón general de una muestra. Los valores atípicos deben eliminarse a medida que reducen la precisión de un modelo. Los valores atípicos se visualizan típicamente usando gráficos de caja. Por ejemplo, en una clase de estudiantes, podemos esperar que estén entre 5 y 20. Un estudiante de 50 años en la clase se consideraría un caso atípico ya que no "pertenece" a la tendencia regular de los datos.

Trazar los datos (generalmente con una gráfica de caja) es quizás la técnica más simple para ver cualquier valiente atípico en el conjunto de datos. Los procesos estadísticos relacionados con el control de calidad pueden decirle qué tan lejos está estadísticamente (de acuerdo con las desviaciones estándar de probabilidad y los niveles de confianza). Sin embargo, tenga en cuenta que un valor atípico es solo un caso atípico si tiene suficiente información sobre los datos para explicar por qué es diferente de los otros puntos de datos, lo que justifica el término "atípico.De lo contrario, los datos deben tratarse como una ocurrencia aleatoria. Deben mantenerse en el conjunto de datos, y debe aceptar los menos deseables (yo.mi., Menos deseables) Hallazgos debido a la inclusión del punto de datos.

¿Qué es la distancia de Cook??

La distancia del cocinero en la ciencia de datos se utiliza para calcular la influencia de cada punto de datos como modelo de regresión. Realizar un análisis de regresión de mínimos cuadrados es un método para identificar valores atípicos influyentes en un conjunto de variables predictoras. Riñonal. Dennis Cook, un estadístico estadounidense, originó este concepto, por eso lleva el nombre de él. A la distancia de Cook, los valores se comparan para ver si eliminar la observación actual afecta el modelo de regresión. Cuanto mayor sea la influencia de una cierta observación en el modelo, mayor es la distancia de la cocinera de esa observación.
Matemáticamente, la distancia de Cook se representa como

Di = (Di2 / C * m) * (Hii / (1-HII) 2)

dónde:
di es el yoth punto de datos
C representa el número de coeficientes en el modelo de regresión dado
M es un error cuadrado medio que se utiliza para calcular la desviación estándar de los puntos con la media
HII es el yoth valor de apalancamiento.

Conclusiones de la distancia de Cook

  1. Un valor atípico probable es un punto de datos con la distancia de un cocinero más de tres veces la media.
  2. Si hay N observaciones, cualquier punto con la distancia de Cook mayor de 4/n se considera influyente.

Implementación de la distancia de Cook en Python

Leyendo los datos
Leeremos una matriz 2-D donde 'x' representa la variable independiente, mientras que 'y' representa la variable dependiente.

importar pandas como PD
#Cree DataFrame
DF = PD.DataFrame ('x': [10, 20, 30, 40, 50, 60],
'Y': [20, 30, 40, 50, 100, 70])

Creando el modelo de regresión

Importación de statsmodels.API como SM
# almacenar valores dependientes
Y = df ['y']
# almacenar valores independientes
X = df ['x']
X = SM.add_constant (x)
# se ajusta al modelo
modelo = SM.Ols (y, x)
modelo.adaptar()

Calcular la distancia de Cook

importar numpy como np
notario público.SET_PRINTOPTIONS (supress = true)
# Crear instancia de influencia
influencia = modelo.get_influence ()
# Obtenga la distancia de Cook para cada observación
Cooks_Distances = Influencia.Cooks_Distance
# Imprimir las distancias de Cook
Imprimir (Cooks_Distances)

Otra técnica de detección atípica

Rango intercuartil (IQR)
El rango intercuartil (IQR) es una medida de la dispersión de datos. Es especialmente efectivo para datos significativamente sesgados o fuera de lo común. Por ejemplo, los datos sobre dinero (ingresos, propiedades y precios de automóviles, ahorros y activos, etc.) se sesgan con frecuencia a la derecha, y la mayoría de las observaciones están en el extremo inferior y algunas dispersas en el extremo superior. Como otros han señalado, el rango intercuartil se concentra en la mitad media de los datos mientras no tiene en cuenta las colas.

Conclusión

Pasamos por la descripción de la distancia de Cook, sus conceptos relacionados como la regresión, los valores atípicos y cómo podemos usarla para encontrar la influencia de cada observación en nuestro conjunto de datos. La distancia de Cook es importante para examinar los valores atípicos y qué impacto tiene cada observación en el modelo de regresión. Más tarde, también implementamos la distancia de Cook usando Python en un modelo de regresión.