Cook’s Distance¶

API Reference¶

Visualiza la influencia y el apalancamiento de instancias individuales en un modelo de regresión.

classyellowbrick.regressor.influence.CooksDistance(ax=None, draw_threshold=True, linefmt=’C0-‘, markerfmt=’,’, **kwargs)¶

Bases: yellowbrick.base.Visualizer

La Distancia de Cook es una medida de lo influyente que es una instancia para el cálculo de una regresión, por ejemplo, si se elimina la instancia ¿se cambiarían sustancialmente los coeficientes estimados del modelo subyacente? Por ello, la distancia de Cook se utiliza generalmente para detectar valores atípicos en la regresión estándar OLS. De hecho, una regla general es que D(i) > 4/n es un buen umbral para determinar los puntos altamente influyentes como valores atípicos y este visualizador puede informar del porcentaje de datos que está por encima de ese umbral.

Esta implementación de la Distancia de Cook asume la regresión de mínimos cuadrados ordinarios, y por lo tanto incorpora un sklearn.linear_model.LinearRegression bajo el capó.La distancia se calcula a través de la palanca no blanqueada de la matriz de proyección, calculada dentro de fit(). Los resultados de este visualizador son, por tanto, similares, aunque no tan avanzados, a los de un cálculo similar que utilice modelos estadísticos. El cálculo de la influencia para otros modelos de regresión requiere dejar una validación fuera y puede ser costoso de calcular.

Ver también

Para una discusión más larga sobre la detección de valores atípicos en la regresión y el cálculo del apalancamiento y la influencia, ver la regresión lineal en python, outliers/leveragedetect por Huiming Song.

Parámetros axmatplotlib Ejes, por defecto: None

Los ejes para trazar la figura. Si se pasa None se utilizarán los ejes actuales (o se generarán si es necesario).

draw_thresholdbool, por defecto: True

Dibuja una línea horizontal en D(i) == 4/n para identificar fácilmente los puntos más influyentes en la regresión final. Esto también dibujará una leyenda que especifica el porcentaje de puntos de datos que están por encima del umbral.

linefmtstr, por defecto: ‘C0-‘

Una cadena que define las propiedades de las líneas verticales del gráfico de tallo, por lo general esto será un color o un color y un estilo de línea. El valor predeterminado es simplemente una línea sólida con el primer color del ciclo de color.

markerfmtstr, por defecto: ‘,’

Una cadena que define las propiedades de los marcadores en las cabezas de la trama de tallo. El valor predeterminado es «pixel», por ejemplo, básicamente no hay cabeza de marcador en la parte superior del gráfico de tallo.

kwargsdict

Agumentos de palabras clave que se pasan a la clase base y pueden influir en la visualización final (por ejemplo, parámetros de tamaño o título).

Notas

La distancia de Cook es muy similar a DFFITS, otro diagnóstico que pretende mostrar la influencia de un punto en una regresión estadística. Aunque los valores calculados de Cook y DFFITS son diferentes, son conceptualmente idénticos e incluso existe una fórmula de forma cerrada para convertir un valor en otro. Por ello, hemos optado por implementar la distancia de Cook en lugar de DFFITS o además de éste.

Atributos distance_array, 1D

El valor de la distancia de Cook para cada instancia especificada en X, por ejemplo, una matriz 1D con forma (X.shape,).

p_values_array, 1D

Los valores p asociados a la prueba F de la distribución de la distancia de Cook. Una matriz 1D cuya forma coincide con distance_.

influence_threshold_float

Un umbral de influencia de regla general para determinar los valores atípicos en el modelo de regresión, definido como It=4/n.

outlier_percentage_float

El porcentaje de instancias cuya distancia de Cook es mayor que el umbral de influencia, el porcentaje es 0.0 <= p <= 100.0.

draw()¶

Dibuja un gráfico de tallo donde cada tallo es la distancia de Cook de la instancia en el índice especificado por el eje x. Opcionalmente, dibuja una línea de umbral.

finalize()¶

Prepara la visualización para su presentación y elaboración de informes.

fit(X, y)¶

Calcula el apalancamiento de X y utiliza los residuos de asklearn.linear_model.LinearRegression para calcular la distancia de Cook de cada observación en X, sus valores p y el número de valores atípicos definidos por el número de observaciones suministradas.

Parámetros Xarray-like, 2D

La matriz de diseño exógena, por ejemplo, datos de entrenamiento.

Yarray-like, 1D

La variable de respuesta endógena, por ejemplo, los datos objetivo.

Devuelve selfCooksDistance

Fit devuelve la instancia del visualizador.

yellowbrick.regressor.influence.cooks_distance(X, y, ax=None, draw_threshold=True, linefmt=’C0-‘, markerfmt=’,’, show=True, **kwargs)¶

La Distancia de Cook es una medida de lo influyente que es una instancia para el cálculo de una regresión, por ejemplo, si se elimina la instancia ¿se cambiarían sustancialmente los coeficientes estimados del modelo subyacente? Por ello, la distancia de Cook se utiliza generalmente para detectar valores atípicos en la regresión estándar OLS. De hecho, una regla general es que D(i) > 4/n es un buen umbral para determinar los puntos altamente influyentes como valores atípicos y este visualizador puede informar del porcentaje de datos que está por encima de ese umbral.

Esta implementación de la Distancia de Cook asume la regresión de mínimos cuadrados ordinarios, y por lo tanto incorpora un sklearn.linear_model.LinearRegression bajo el capó.La distancia se calcula a través de la palanca no blanqueada de la matriz de proyección, calculada dentro de fit(). Los resultados de este visualizador son, por tanto, similares, aunque no tan avanzados, a los de un cálculo similar que utilice modelos estadísticos. El cálculo de la influencia para otros modelos de regresión requiere dejar una validación fuera y puede ser costoso de calcular.

Ver también

Para una discusión más larga sobre la detección de valores atípicos en la regresión y el cálculo del apalancamiento y la influencia, ver regresión lineal en python, outliers/leveragedetect por Huiming Song.

Parámetros Xarray-like, 2D

La matriz de diseño exógena, por ejemplo, los datos de entrenamiento.

yarray-like, 1D

La variable de respuesta endógena, por ejemplo, los datos objetivo.

axmatplotlib Ejes, por defecto: None

Los ejes para trazar la figura. Si se pasa None se utilizarán los ejes actuales (o se generarán si es necesario).

draw_thresholdbool, por defecto: True

Dibuja una línea horizontal en D(i) == 4/n para identificar fácilmente los puntos más influyentes en la regresión final. Esto también dibujará una leyenda que especifica el porcentaje de puntos de datos que están por encima del umbral.

linefmtstr, por defecto: ‘C0-‘

Una cadena que define las propiedades de las líneas verticales del gráfico de tallo, por lo general esto será un color o un color y un estilo de línea. El valor predeterminado es simplemente una línea sólida con el primer color del ciclo de color.

markerfmt: str, por defecto: ‘,’

Una cadena que define las propiedades de los marcadores en las cabezas de la parcela de tallo. El valor predeterminado es «píxel», por ejemplo, básicamente no hay cabeza de marcador en la parte superior de la trama de tallo.

show: bool, por defecto: True

Si es True, llama a show(), que a su vez llama a plt.show() como no se puede llamar a plt.savefig desde esta firma, ni aclear_figure. Si es False, simplemente llama a finalize()

kwargsdict

Agumentos de palabras clave que se pasan a la clase base y que pueden influir en la visualización final (por ejemplo, parámetros de tamaño o título).

Deja una respuesta

Tu dirección de correo electrónico no será publicada.