7 votos

¿Cómo modelar el rango de variables?

Consideremos un caso en el que en lugar de observar los valores reales de las variables, observamos el rango de las variables. Los posibles valores de la gama podrían enumerarse (es decir, podría ser un conjunto fijo de valores, por ejemplo, para gamas de grupos de edad fijas) o podrían ser específicos de la observación (y podrían superponerse).

En el primer caso, la variable podría ser tratada como una variable ordinal . (Basado en los comentarios de @whuber, tratar esta variable como una variable ordinal parece una restricción innecesaria). ¿Es posible algo similar para el último caso? ¿Existen otros métodos para analizar tales datos?


Estoy interesado en el tratamiento general para analizar las variables de datos de intervalo - como una variable de salida así como una variable de entrada a un modelo. También, si hay algún método de análisis de datos exploratorio para tales variables.

5voto

Neal Puntos 316

En Stata, ambos casos pueden ser manejados con el comando de regresión de intervalos intreg que es una generalización del Tobit. Puede manejar datos censurados de punto, intervalo o izquierda/derecha (o una mezcla de todos ellos). Asume la normalidad del término de error, pero la transformación del registro a menudo puede funcionar si sus datos lo requieren y lo permiten.

No estoy seguro de si hay implementaciones enlatadas no de Stata, pero hay fórmulas y referencias al final del enlace del manual. Se trata de una función de probabilidad bastante sencilla que debería ser bastante fácil de maximizar. También hay una buena comparación entre el enfoque de probit ordenado y la regresión de intervalos utilizando el valor del logaritmo de la probabilidad para el primer caso.

Aquí hay una simulación muy simple con $N=5000, Y= \alpha + \beta \cdot X + \varepsilon = \frac {1}{2} + 1 \cdot X + \mathcal {N}[0,1]$ :

#delimit;
clear all;

set seed 10011979;
set obs 5000;

gen x = rnormal();
gen ystar = 0.5 + 1*x + rnormal();
gen ylb = ystar - int((5-1)*runiform());
gen yub = ystar + int((5-1)*runiform());

intreg ylb yub x;

Cada observación tiene un intervalo variable construido añadiendo/ restando un número uniforme aleatorio al valor real, de modo que los intervalos pueden superponerse. Los datos básicamente se ven así:

First 10 Observations

Como pueden ver, 2 observaciones no están censuradas (es decir, datos puntuales).

La salida es:

Interval regression                               Number of obs   =    5000
                                                  LR chi2(1)      =    2102.49 
Log likelihood = -3580.5326                       Prob > chi2     =     0.0000

------------------------------------------------------------------------------
             |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
           x |    .979912   .0192016    51.03   0.000     .9422775    1.017546
       _cons |   .4757097   .0190327    24.99   0.000     .4384063    .5130131
-------------+----------------------------------------------------------------
    /lnsigma |   .0336532   .0143186     2.35   0.019     .0055893    .0617171
-------------+----------------------------------------------------------------
       sigma |   1.034226   .0148086                      1.005605    1.063661
------------------------------------------------------------------------------

  Observation summary:         0  left-censored observations
                             326     uncensored observations
                               0 right-censored observations
                            4674       interval observations

Parece que todos los parámetros, incluyendo la desviación estándar del error, están bastante cerca de los verdaderos valores.

4voto

Rossini Puntos 1473

Estás buscando una regresión de intervalos: En R puedes usar el paquete de supervivencia como se explica aquí

O puedes intentarlo con el intReg usando la función intReg

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X