Si tengo datos positivos muy sesgados, a menudo tomo registros. Pero, ¿qué debo hacer con datos no negativos muy sesgados que incluyen ceros? He visto dos transformaciones utilizadas:
- que tiene la característica ordenada que 0 se asigna a 0.
- donde c se estima o se establece como un valor positivo muy pequeño.
¿Hay otros enfoques? ¿Hay buenas razones para preferir un enfoque sobre los otros?
data-transformation
large-data
Rob Hyndman
fuente
fuente
Respuestas:
Me parece que la elección más adecuada de transformación depende del modelo y el contexto.
El punto '0' puede surgir de varias razones diferentes, cada una de las cuales puede ser tratada de manera diferente:
Realmente no estoy ofreciendo una respuesta, ya que sospecho que no hay una transformación universal 'correcta' cuando tienes ceros.
fuente
Nadie mencionó la transformación inversa del seno hiperbólico. Entonces, para completar, lo estoy agregando aquí.
Esta es una alternativa a las transformaciones de Box-Cox y se define por donde . Para cualquier valor de , cero se asigna a cero. También hay una versión de dos parámetros que permite un cambio, al igual que con la transformación BC de dos parámetros. Burbidge, Magee y Robb (1988)θ > 0 θ θ
La transformación IHS funciona con datos definidos en toda la línea real, incluidos valores negativos y ceros. Para valores grandes de se comporta como una transformación logarítmica, independientemente del valor de (excepto 0). El caso limitante comoθ θ → 0 f ( y , θ ) → yy θ θ→0 da .f(y,θ)→y
Me parece que la transformación de IHS debería ser mucho más conocida de lo que es.
fuente
Un enfoque útil cuando la variable se usa como un factor independiente en la regresión es reemplazarla por dos variables: una es un indicador binario de si es cero y la otra es el valor de la variable original o una nueva expresión de la misma, como su logaritmo. Esta técnica se discute en el libro de Hosmer & Lemeshow sobre regresión logística (y en otros lugares, estoy seguro). Los gráficos de probabilidad truncada de la parte positiva de la variable original son útiles para identificar una nueva expresión apropiada. (Consulte el análisis en https://stats.stackexchange.com/a/30749/919 para ver ejemplos).
Cuando la variable es dependiente en un modelo lineal, la regresión censurada (como Tobit ) puede ser útil, evitando nuevamente la necesidad de producir un logaritmo iniciado. Esta técnica es común entre los econométricos.
fuente
Las transformaciones de registro con cambios son casos especiales de las transformaciones de Box-Cox :
Esta es la forma extendida para valores negativos, pero también aplicable a datos que contienen ceros. Box y Cox (1964) presenta un algoritmo para encontrar los valores apropiados para los utilizando la máxima probabilidad. Esto te da la máxima transformación.λ
Una razón para preferir las transformaciones de Box-Cox es que están desarrolladas para garantizar suposiciones para el modelo lineal. Se ha realizado un trabajo para demostrar que, incluso si sus datos no pueden transformarse a la normalidad, la estimada aún conduce a una distribución simétrica.λ
No estoy seguro de qué tan bien trata sus datos, ya que podría ser que que es solo la transformación de registro que mencionó, pero puede valer la pena estimar los requeridos para ver si otro La transformación es apropiada.λλ=(0,1) λ
En R, la
boxcox.fit
función en el paquetegeoR
calculará los parámetros por usted.fuente
lambda2=TRUE
en los argumentos paraboxcox.fit
. (También actualicé la respuesta.)boxcoxfit
.Supongo que cero! = Datos faltantes, ya que esa es una pregunta completamente diferente.
Cuando pienso en cómo manejar los ceros en la regresión lineal múltiple, tiendo a considerar cuántos ceros tenemos en realidad.
Solo un par de ceros
Si tengo un solo cero en un conjunto de datos razonablemente grande, tiendo a:
¿El modelo se ajusta al cambio? ¿Qué pasa con los valores de los parámetros? Si el modelo es bastante robusto para la eliminación del punto, optaré por un enfoque rápido y sucio de agregar .c
Puede hacer que este procedimiento sea un poco menos crudo y usar el método boxcox con los cambios descritos en la respuesta de ars.
Gran cantidad de ceros
Si mi conjunto de datos contiene una gran cantidad de ceros, esto sugiere que la regresión lineal simple no es la mejor herramienta para el trabajo. En cambio, usaría algo como el modelado de mezclas (como lo sugieren Srikant y Robin).
fuente
Si quieres algo rápido y sucio, ¿por qué no usar la raíz cuadrada?
fuente
Supongo que tienes datos continuos.
Si los datos incluyen ceros, esto significa que tiene un pico en cero que puede deberse a algún aspecto particular de sus datos. Aparece, por ejemplo, en energía eólica, el viento por debajo de 2 m / s produce energía cero (se llama corte) y el viento sobre (algo alrededor) 25 m / s también produce energía cero (por razones de seguridad, se llama corte) . Si bien la distribución de la energía eólica producida parece continua, hay un pico en cero.
Mi solución: en este caso, sugiero tratar los ceros por separado trabajando con una mezcla de la espiga en cero y el modelo que planeó usar para la parte de la distribución que es continua (wrt Lebesgue).
fuente
Comparando la respuesta proporcionada por @RobHyndman con una transformación log-plus-one extendida a valores negativos con el formulario:
Como puede ver, a medida que aumenta más, la transformación parece una función de paso. Con se parece mucho a la transformación log-plus-one. Y cuando se acerca a una línea.θ ≈ 1 θ → 0θ θ≈1 θ→0
EDITAR: tenga en cuenta que la transformación de registro puede modificarse de manera similar a una escala arbitraria, con resultados similares. Solo quería mostrar qué da resultados similares basados en la respuesta anterior. La mayor diferencia entre ambos enfoques es la región cercana a , como podemos ver por sus derivados.x = 0θ x=0
fuente
Dado que se ha propuesto el ajuste de dos parámetros de Box-Cox, aquí hay algunas R para ajustar los datos de entrada, ejecutar una función arbitraria (por ejemplo, predicción de series de tiempo) y luego devolver la salida invertida:
fuente
Suponga que Y es la cantidad de dinero que cada estadounidense gasta en un auto nuevo en un año determinado (precio total de compra). Y aumentará a 0; no tendrá valores entre 0 y aproximadamente 12,000; y tomará otros valores principalmente en la adolescencia, veinte y treinta de miles. Los predictores serían representantes del nivel de necesidad y / o interés en realizar dicha compra. Difícilmente podría decirse que la necesidad o el interés son cero para las personas que no hicieron ninguna compra; en estas escalas, los no compradores estarían mucho más cerca de los compradores que Y o incluso el registro de Y sugeriría. En un caso como este, pero en la atención médica, descubrí que las predicciones más precisas, juzgadas por la validación cruzada del conjunto de prueba / conjunto de entrenamiento, se obtuvieron, en orden creciente,
Algunos retrocederán en esta categorización de una variable dependiente continua. Pero aunque sacrifica algo de información, la categorización parece ayudar al restaurar un aspecto subyacente importante de la situación, una vez más, que los "ceros" son mucho más similares al resto de lo que Y indicaría.
fuente
La transformación de energía de Yeo-Johnson discutida aquí tiene excelentes propiedades diseñadas para manejar ceros y negativos mientras se construye sobre las fortalezas de la transformación de energía de Box Cox. Esto es lo que normalmente hago cuando trato con ceros o datos negativos.
Aquí hay un resumen de las transformaciones con pros / contras para ilustrar por qué es preferible Yeo-Johnson.
Iniciar sesión
Pros: le va bien con datos positivos.
Contras: no maneja ceros.
Log Plus 1
Pros: El desplazamiento más 1 agrega la capacidad de manejar ceros además de datos positivos.
Contras: falla con datos negativos
Raíz cuadrada
Pros: Utiliza una transformación de potencia que puede manejar ceros y datos positivos.
Contras: falla con datos negativos
Box Cox
Código R:
Pros: permite transformaciones de potencia a escala
Contras: Sufre de problemas con ceros y negativos (es decir, solo puede manejar datos positivos.
Yeo Johnson
Código R:
Pros: puede manejar datos positivos, cero y negativos.
Contras: Ninguno que se me ocurra. Las propiedades son muy similares a Box-Cox pero pueden manejar datos cero y negativos.
fuente
Para aclarar cómo lidiar con el registro de cero en los modelos de regresión, hemos escrito un artículo pedagógico que explica la mejor solución y los errores comunes que las personas cometen en la práctica. También presentamos una nueva solución para abordar este problema.
Puede encontrar el documento haciendo clic aquí: https://ssrn.com/abstract=3444996
En nuestro artículo, en realidad proporcionamos un ejemplo donde agregar constantes muy pequeñas es en realidad proporcionar el mayor sesgo. Proporcionamos derivar una expresión del sesgo.
En realidad, Poisson Pseudo Maximum Likelihood (PPML) puede considerarse como una buena solución para este problema. Hay que considerar el siguiente proceso:
Mostramos que este estimador es imparcial y que simplemente puede estimarse con GMM con cualquier software estadístico estándar. Por ejemplo, puede estimarse ejecutando solo una línea de código con Stata.
Esperamos que este artículo pueda ayudar y nos encantaría recibir sus comentarios.
Christophe Bellégo y Louis-Daniel Pape CREST - Ecole Polytechnique - ENSAE
fuente