¿Cómo debo modelar una variable dependiente continua en el

9

Tengo una variable dependiente que puede variar de 0 a infinito, con 0s siendo observaciones correctas. Entiendo que los modelos de censura y Tobit solo se aplican cuando el valor real de es parcialmente desconocido o falta, en cuyo caso se dice que los datos están truncados. Más información sobre datos censurados en este hilo .Y

Pero aquí 0 es un verdadero valor que pertenece a la población. Ejecutar OLS en estos datos tiene el problema particular de llevar estimaciones negativas. ¿Cómo debo modelar ?Y

> summary(data$Y)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   0.00    0.00    0.00    7.66    5.20  193.00 
> summary(predict(m))
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  -4.46    2.01    4.10    7.66    7.82  240.00 
> sum(predict(m) < 0) / length(data$Y)
[1] 0.0972098

Desarrollos

Después de leer las respuestas, estoy informando el ajuste de un modelo de obstáculo Gamma usando funciones de estimación ligeramente diferentes. Los resultados son bastante sorprendentes para mí. Primero echemos un vistazo a la DV. Lo que es evidente son los datos de cola extremadamente gordos. Esto tiene algunas consecuencias interesantes en la evaluación del ajuste que comentaré a continuación:

ingrese la descripción de la imagen aquí

quantile(d$Y, probs=seq(0, 1, 0.1))
        0%        10%        20%        30%        40%        50%        60%        70%        80%        90%       100% 
  0.000000   0.000000   0.000000   0.000000   0.000000   0.000000   0.286533   3.566165  11.764706  27.286630 198.184818 

Construí el modelo de obstáculo Gamma de la siguiente manera:

d$zero_one = (d$Y > 0)
logit = glm(zero_one ~ X1*log(X2) + X1*X3, data=d, family=binomial(link = logit))
gamma = glm(Y ~ X1*log(X2) + X1*X3, data=subset(d, Y>0), family=Gamma(link = log))

Finalmente, evalué el ajuste en la muestra usando tres técnicas diferentes:

# logit probability * gamma estimate
predict1 = function(m_logit, m_gamma, data)
{
  prob = predict(m_logit, newdata=data, type="response")
  Yhat = predict(m_gamma, newdata=data, type="response")
  return(prob*Yhat)
}

# if logit probability < 0.5 then 0, else logit prob * gamma estimate 
predict2 = function(m_logit, m_gamma, data)
{
  prob = predict(m_logit, newdata=data, type="response")
  Yhat = predict(m_gamma, newdata=data, type="response")
  return(ifelse(prob<0.5, 0, prob)*Yhat)
}

# if logit probability < 0.5 then 0, else gamma estimate
predict3 = function(m_logit, m_gamma, data)
{
  prob = predict(m_logit, newdata=data, type="response")
  Yhat = predict(m_gamma, newdata=data, type="response")
  return(ifelse(prob<0.5, 0, Yhat))
}

Al principio estaba evaluando el ajuste mediante las medidas habituales: AIC, desviación nula, error absoluto medio, etc. Pero al observar los errores absolutos cuantiles de las funciones anteriores se destacan algunos problemas relacionados con la alta probabilidad de un resultado 0 y el extremo cola gorda Por supuesto, el error crece exponencialmente con valores más altos de Y (también hay un valor Y muy grande en Max), pero lo que es más interesante es que confiar mucho en el modelo logit para estimar 0 produce un mejor ajuste de distribución (no lo haría) No sé cómo describir mejor este fenómeno):Y

quantile(abs(d$Y - predict1(logit, gamma, d)), probs=seq(0, 1, 0.1))
           0%           10%           20%           30%           40%           50%           60%           70%           80%           90%          100% 
   0.00320459    1.45525439    2.15327192    2.72230527    3.28279766    4.07428682    5.36259988    7.82389110   12.46936416   22.90710769 1015.46203281 
quantile(abs(d$Y - predict2(logit, gamma, d)), probs=seq(0, 1, 0.1))
         0%         10%         20%         30%         40%         50%         60%         70%         80%         90%        100% 
   0.000000    0.000000    0.000000    0.000000    0.000000    0.309598    3.903533    8.195128   13.260107   24.691358 1015.462033 
quantile(abs(d$Y - predict3(logit, gamma, d)), probs=seq(0, 1, 0.1))
         0%         10%         20%         30%         40%         50%         60%         70%         80%         90%        100% 
   0.000000    0.000000    0.000000    0.000000    0.000000    0.307692    3.557285    9.039548   16.036379   28.863912 1169.321773 
Robert Kubrick
fuente
3
¿La variable es continua distinta de 0? Si es así, se podría usar un modelo inflado a cero (p. Ej., Gamma inflado a cero / lognormal a cero, etc.)
Glen_b -Reinstalar Monica
Si. No es un modelo probit seguro. Dudo un poco sobre los modelos inflados a cero, porque parece sugerir que los 0 se informaron en exceso y la distribución IV "tiene un problema", por así decirlo, en mi caso todos los valores IV son correctos.
Robert Kubrick
¿Y qué hay de eliminar la intersección (lo sé, lo sé ... pero aquí el origen es verdaderamente 0)?
Robert Kubrick
¿Puede darnos alguna idea sobre el mecanismo de generación de datos? Por ejemplo, las distribuciones de Poisson compuestas pueden manejar este tipo de datos, pero en realidad esto está diseñado para modelar la suma de algunas estadísticas aplicadas a una colección de eventos aleatorios (es decir, la suma del costo de las reclamaciones de seguros en una póliza).
jlimahaverford
2
Robert, algunos ejemplos concretos de modelos inflados a cero para sacarlo de la tierra de abstracción (y para ayudar a explicar por qué no se trata realmente de que los datos "tengan un problema"): (1) cuántos cigarrillos fumaba uno por día en el pasado 30 días pueden requerir un modelo inflado a cero, ya que uno debe tener la costumbre de fumar cigarrillos para que el número sea> 0. (2) La cantidad de peces que uno atrapó en este viaje en bote requiere que uno haya ido a pescar para que el número sea> 0.
Alexis

Respuestas:

14

Censurado vs. inflado vs. obstáculo

Los modelos censurados, de obstáculo e inflados funcionan agregando una masa de punto sobre una densidad de probabilidad existente. La diferencia radica en dónde se agrega la masa y cómo. Por ahora, solo considere agregar una masa de punto en 0, pero el concepto se generaliza fácilmente a otros casos.

Todos ellos implican un proceso de generación de datos de dos pasos para alguna variable :Y

  1. Dibuje para determinar si o .Y=0Y>0
  2. Si , dibuje para determinar el valor deY>0Y.

Modelos inflados y vallados

Tanto los modelos inflados (generalmente inflados a cero) como los de obstáculo funcionan especificando explícita y separadamente Pr(Y=0)=π, para que el DGP se convierta en:

  1. Dibuje una vez desde para obtener la realización .ZBernoulli(π)z
  2. Si , establezca .z=0y=z=0
  3. Si , dibuje una vez desde y establezca .z=1YD(θ)y=y

En un modelo inflado, . En un modelo de obstáculo, . Esa es la única diferencia .Pr(Y=0)>0Pr(Y=0)=0

Ambos modelos conducen a una densidad con la siguiente forma:

fD(y)=I(y=0)Pr(Y=0)+I(y0)Pr(Y0)fD(y)

donde es una función indicadora. Es decir, una masa puntual simplemente se agrega a cero y en este caso esa masa es simplemente . Usted es libre de estimar directamente, o establecer para algunos invertibles como la función logit. también puede depender de . En ese caso, el modelo funciona "superponiendo" una regresión logística para bajo otro modelo de regresión para .IPr(Z=0)=1πpg(π)=XβgDXβZY

Modelos censurados

Los modelos censurados también agregan masa en un límite. Lo logran "cortando" una distribución de probabilidad y luego "agrupando" el exceso en ese límite. La forma más fácil de conceptualizar estos modelos es en términos de una variable latente con CDF . Entonces . Este es un modelo muy general; La regresión es el caso especial en el que depende de .YDFDPr(Yy)=FD(y)FDXβ

Entonces se supone que la observada está relacionada con por: YY

Y={0Y0YY>0

Esto implica una densidad de la forma

fD(y)=I(y=0)FD(0)+I(y0)(1FD(0))fD(y)

y puede extenderse fácilmente.

Poniendo todo junto

Mire las densidades:

fD(y)=I(y=0)π+I(y0)(1π)fD(y)fD(y)=I(y=0)FD(0)+I(y0)(1FD(0))fD(y)

y observe que ambos tienen la misma forma:

I(y=0)δ+I(y0)(1δ)fD(y)

porque logran el mismo objetivo: construir la densidad para agregando un punto de masa a la densidad para algunos . El modelo inflado / obstáculo establece a través de un proceso externo de Bernoulli. El modelo censurado determina "cortando" en un límite y luego "agrupando" la masa sobrante en ese límite.YδYδδY

De hecho, siempre puede postular un modelo de obstáculo que "parezca" un modelo censurado. Considere un modelo de obstáculo donde está parametrizado por y está parametrizado por . Entonces puede configurar . Un CDF inverso siempre es una función de enlace válida en la regresión logística, y de hecho una razón por la cual la regresión logística se llama "logística" es que el enlace logit estándar es en realidad el CDF inverso de la distribución logística estándar.Dμ=XβZg(π)=Xβg=FD1

También puede completar el círculo sobre esta idea: los modelos de regresión de Bernoulli con cualquier enlace CDF inverso (como el logit o probit) pueden conceptualizarse como modelos variables latentes con un umbral para observar 1 o 0. La regresión censurada es un caso especial de regresión de obstáculos donde la variable latente implícita es la misma que .ZY

¿Cual deberías usar?

Si tiene una "historia de censura" convincente, use un modelo censurado. Un uso clásico del modelo Tobit, el nombre econométrico de la regresión lineal gaussiana censurada, es para modelar las respuestas de la encuesta que están "codificadas". Los salarios a menudo se informan de esta manera, donde todos los salarios por encima de un límite, digamos 100,000, se codifican como 100,000. Esto no es lo mismo que el truncamiento , donde no se observa a las personas con salarios superiores a 100,000 . Esto podría ocurrir en una encuesta que solo se administra a personas con salarios inferiores a 100,000.

Otro uso para la censura, según lo descrito por whuber en los comentarios, es cuando se realizan mediciones con un instrumento que tiene una precisión limitada. Suponga que su dispositivo de medición de distancia no puede distinguir entre 0 y . Entonces podría censurar su distribución en .ϵϵ

De lo contrario, un obstáculo o modelo inflado es una opción segura. Por lo general, no está mal plantear una hipótesis sobre un proceso general de generación de datos en dos pasos, y puede ofrecer una idea de sus datos que de otro modo no habría tenido.

Por otro lado, puede usar un modelo censurado sin una historia de censura para crear el mismo efecto que un modelo de obstáculo sin tener que especificar un proceso de "encendido / apagado" separado. Este es el enfoque de Sigrist y Stahel (2010) , quienes censuran una distribución gamma desplazada solo como una forma de modelar datos en . Ese documento es particularmente interesante porque demuestra cuán modulares son estos modelos: en realidad puede inflar a cero un modelo censurado (sección 3.3), o puede extender la "historia de la variable latente" a varias variables latentes superpuestas (sección 3.1).[0,1]

Truncamiento

Editar: eliminado, porque esta solución era incorrecta

Shadowtalker
fuente
2
El truncamiento no es correcto; de hecho quieres censurar. El truncamiento de una distribución continua conduce a cero probabilidad de que se realice un punto final. La censura de una distribución en cero hace que la probabilidad de que todos los valores negativos se acumulen en cero, creando un átomo discreto allí: "inflación cero". De hecho, los comentarios sugieren que la censura en realidad ocurre en un valor positivo muy pequeño y que todos los valores menores que se registran como ceros: eso es censurar, puro y simple. ϵϵ
whuber
@whuber Nunca pensé en eso antes. Para un rv que se trunca debajo de , , ¿verdad? Eso, y las distribuciones mitad Cauchy o mitad t se usan para parámetros de escala positivos , de todos modos. Ahora tengo curiosidad acerca de la diferencia entre distribuciones censuradas y distribuciones truncadas infladas por límites ...XcPr(Xc)=0
shadowtalker
Matemáticamente no veo diferencia. Conceptualmente, estaría dispuesto a reconocer que puede haber una sutil diferencia, ya que la distribución censurada nos sugiere cuál sería la distribución de un resultado hipotético sin censura, mientras que pegar un átomo en el límite de una distribución truncada no hace suposiciones sobre eso. distribución hipotética Puede haber una diferencia matemática ( es decir, real) en situaciones de censura más complejas, como cuando los límites de censura varían.
whuber
@whuber solo se reduce a cómo se parametriza el átomo, ¿verdad? Como en, un gaussiano sin censura sería equivalente a un gaussiano truncado con inflado cero con una "función de enlace" Probit
shadowtalker
1
Eso suena como un modelo más complicado (en general) que la simple regresión censurada que describí. No estoy sugiriendo que el límite para variará: sin embargo, en relación con la distribución del residuo , el límite varía. Si lo desea, deje y configure , de modo que : que muestra mi modelo como un caso especial del más general que acaba de describir. yθ=XβFθ(y)=F(yθ)=F(yXβ)Fθ(0)=F(Xβ)
whuber
0

Permítanme comenzar diciendo que aplicar OLS es completamente posible, muchas aplicaciones de la vida real lo hacen. Causa (a veces) el problema de que puede terminar con valores ajustados inferiores a 0. ¿Supongo que esto es lo que le preocupa? Pero si solo unos pocos valores ajustados están por debajo de 0, entonces no me preocuparía.

El modelo tobit se puede usar (como usted dice) en el caso de modelos censurados o truncados. Pero también se aplica directamente a su caso, de hecho, el modelo tobit fue inventado para su caso. Y "se acumula" en 0, y de otro modo es rudamente continuo. Lo que debe recordar es que el modelo tobit es difícil de interpretar, debe confiar en APE y PEA. Ver los comentarios a continuación.

También podría aplicar el modelo de regresión de posición, que tiene una interpretación casi OLS, pero normalmente se usa con datos de conteo. Wooldridge 2012 CHAP 17, contiene una discusión muy clara sobre el tema.

Repmat
fuente
"el modelo tobit no tiene una interpretación real" ¿podría explicar esto un poco más? No puedo decir que estoy de acuerdo con esa declaración tal como está.
shadowtalker
Agregué el porcentaje de estimación negativa a mi pregunta. Es el 10% de la muestra, bastante alto. Que seríac, la constante de censura, en mi caso? No hay un valor de censura fijo después del cualYse convierte en 0. ¿Y qué son APE y PEA?
Robert Kubrick
@ssdecontrol En el modelo tobit, \ beta_j mide los efectos parciales de x_j en E (y * | x), donde y * es la variable latente (llamada). La variable a la que OP le gustaría el modelo es y, que es el resultado observado (horas trabajadas, contribuciones caritativas, etc.). Es por eso que uno debe confiar en el efecto parcial promedio (APE) y el efecto parcial en el promedio (PEA). No debes usar el modelo censurado. Si sus datos fueron censurados, lo sabría, es decir: tiene una pregunta sobre los ingresos, donde la última respuesta es "gano más de $ x", esa información puede "incluirse" en la estimación -> censura.
Repmat
@ user3551644 seguro, pero no veo cómo se puede decir que el modelo, por lo tanto, "no tiene una interpretación real"
shadowtalker
Hmm, está bien, actualizaré mi respuesta.
Repmat