Considere un problema estadístico en el que tiene una response
variable que desea describir condicional en una explanatory
variable y una nested
variable, donde la variable anidada solo surge como una variable significativa para valores particulares de la variable explicativa . En los casos en que la variable explicativa no admite una variable anidada significativa, esta última generalmente se codifica como NA
en el conjunto de datos, o si se codifica con un valor, ese valor es simplemente un marcador de posición que no tiene ninguna interpretación significativa.
Esta situación tiende a surgir cada vez que tiene una variable explicativa que indica la existencia de una cosa, y una o más variables anidadas que describen las características de esa cosa. Algunos ejemplos de este tipo de situación en problemas estadísticos son los siguientes:
La variable explicativa es un indicador de si un participante de la encuesta es
married
, y la variable anidada es algunacharacteristic of the spouse
(por ejemplo, educación, edad, etc.);La variable explicativa es un indicador de
presence of an item
en un espacio, y la variable anidada es una medida de algunoscharacteristic of the item
(por ejemplo, tamaño, distancia, etc.);La variable explicativa es un indicador de la aparición de an
event
y la variable anidada es una descripción de algunoscharacteristic of the event
(por ejemplo, duración, magnitud, etc.).
En este tipo de situaciones, a menudo queremos construir un modelo de tipo de regresión (en sentido amplio que incluya GLM, GLMM, etc.) que describa la relación entre la variable de respuesta y las otras variables. No es obvio cómo tratar con la variable anidada en este tipo de modelo.
Pregunta: ¿Cómo lidiamos con la nested
variable en este tipo de modelo?
Nota: Esta pregunta está diseñada para dar una respuesta generalizada a una pregunta recurrente en CV.SE con respecto a las variables anidadas en la regresión (ver, por ejemplo, aquí , aquí , aquí y aquí ). Esta pregunta está diseñada para dar un ejemplo generalizado independiente del contexto de este problema.
fuente
Respuestas:
Los valores sin sentido de las variables anidadas no deben afectar su modelo: el desideratum crucial con este tipo de análisis de datos es que la
nested
variable no debe afectar el modelo si laexplanatory
variable original no lo admite como una variable significativa. En otras palabras, el modelo debe ser de una forma que ignore los valores sin sentido de la variable anidada . Este es un requisito crucial para un modelo válido con variables anidadas, ya que garantiza que la salida del modelo no se vea afectada por opciones de codificación arbitrarias.Modelado con variables anidadas: este requisito se logra colocando la
nested
variable en el modelo solo como una interacción con laexplanatory
variable original , sin incluirla como un efecto principal. (Más específicamente, la variable anidada debe interactuar con una declaración lógica en la variable explicativa que indica que es una variable significativa). Tenga en cuenta que esta es una excepción a la regla general de que los términos no deben incluirse como interacciones sin un término de efecto principal .Considere el caso general donde la
nested
variable solo es significativa cuando laexplanatory
variable está en algún conjunto de valoresA
. En ese caso, usaría un modelo de formulario como este:response ~ 1 + explanatory + (explanatory %in% A):nested + ...
En el caso común donde su
explanatory
variable es una variable indicadora (con un valor de uno que da lugar a una variable anidada significativa), esta forma de modelo se simplifica a esto:response ~ 1 + explanatory + explanatory:nested + ...
Observe que en estas declaraciones modelo no hay un término de efecto principal para la
nested
variable. Esto es así por diseño: la variable anidada no debe tener un término de efecto principal, ya que no es una variable significativa en ausencia de una condición en la variable explicativa. Con este tipo de formulario modelo obtendrá una estimación del efecto de la variable explicativa y otra estimación del efecto de la variable anidada.Codificación de variables anidadas en sus datos: cuando se trata de marcos de datos que enumeran las variables para la regresión, es una buena práctica que los valores de la
nested
variable se codifiquen comoNA
en los casos en que no surge significativamente de la variable explicativa. Esto le dice al lector que no hay una variable significativa aquí. Algunos analistas codifican estas variables con otros valores, como cero, pero eso generalmente es una mala práctica, ya que puede confundirse con una cantidad significativa.Matemáticamente, si multiplicas cualquier número real por cero, obtienes cero. Sin embargo, si está codificando
R
, debe tener cuidado aquí porque el programa se multiplica0:NA
para dar enNA
lugar de0
. Esto significa que es posible que deba volver a codificar losNA
valores a cero para el ajuste del modelo, o construir la matriz de diseño para el modelo de modo que estos valores se establezcan en cero.Casos donde la variable base es una función de la variable anidada: Una situación que ocasionalmente surge en el análisis de regresión que involucra variables anidadas es el caso donde la variable anidada tiene una cantidad suficiente de detalles que determina completamente la variable explicativa inicial de la que surge: - es decir, la variable explicativa original es una función de la variable anidada. Un ejemplo de esto ocurre en esta pregunta , donde el analista tiene una variable indicadora
DrugA
de si se ha tomado o no un medicamento, y una variable anidadaDrugA_Conc
para la concentración del medicamento. En este ejemplo, la última variable permite un valor de concentración de cero, que es equivalente al medicamento que no se está tomando, y porDrugA
lo tanto es equivalente aDrugA_Conc != 0
.En este tipo de casos, el término de interacción entre la variable explicativa y la variable anidada es funcionalmente equivalente a la variable anidada, por lo que es posible (y generalmente deseable) eliminar la variable explicativa inicial del modelo por completo, y simplemente usar el variable anidada por sí sola. Esto es legítimo en este caso, porque los valores en la variable anidada determinan el valor de la variable explicativa inicial. Hemos notado anteriormente que a menudo es apropiado codificar variables anidadas como
NA
cuando las condiciones para ellas no son aplicables. Si la condición surge de una variable explicativa que es un indicador, y el indicador corresponde al uso de la variable anidada, entonces el eventonested != NA
es equivalente aexplanatory
. En tales casos, es posible volver a codificar la variable anidada para que la variable explicativa inicial no sea necesaria en el modelo.Tenga en cuenta que se debe tener cuidado al mirar esta situación. Incluso en el caso de que esté utilizando una variable explicativa inicial que es una variable indicadora, puede ser útil para fines interpretativos no fusionar la variable explicativa y la variable anidada. Además, en los casos en que la variable explicativa no es una variable indicadora, generalmente contendrá información no contenida en la variable anidada, por lo que no se puede eliminar.
fuente
R
), no me queda claro por qué losNA
valores no serían aceptables. EnR
ciertamente puede tenerNA
valores en sus marcos de datos.NA
valores se producen en el marco de datos para las variables, pero no aparecen en la matriz de diseño , ya que la variable anidada solo ingresa al modelo a través de una interacción.