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).