Tengo un conjunto de datos que contiene múltiples proporciones que suman 1. Estoy interesado en el cambio de estas proporciones a lo largo de un gradiente (ver a continuación los datos de ejemplo).
gradient <- 1:99
A1 <- gradient * 0.005
A2 <- gradient * 0.004
A3 <- 1 - (A1 + A2)
df <- data.frame(gradient = gradient,
A1 = A1,
A2 = A2,
A3 = A3)
require(ggplot2)
require(reshape2)
dfm <- melt(df, id = "gradient")
ggplot(dfm, aes(x = gradient, y = value, fill = variable)) +
geom_area()
Información adicional: No es necesario que sea necesariamente lineal, lo hice solo para facilitar el ejemplo. Los recuentos originales a partir de los cuales se calculan estas proporciones también están disponibles. El conjunto de datos real contiene más variables que suman 1 (por ejemplo, B1, B2 y B3, C1 a C4, etc.), por lo que también sería útil una sugerencia para una solución multivariante ... Pero por ahora me quedaré con el univariante lado de las estadísticas.
Pregunta: ¿Cómo se puede analizar este tipo de datos? ¿He leído un poco, y quizás un modelo multinomial o un glm es adecuado? - Si ejecuto 3 (o 2) glms, ¿cómo puedo incorporar la restricción de que los valores pronosticados suman 1? No solo quiero trazar ese tipo de datos, también quiero hacer una regresión más profunda como el análisis. Preferiblemente quiero usar R, ¿cómo puedo hacer esto en R?
fuente
proprcspline
en Stata podría ser lo que estás buscando (sé que quieres usarR
, pero tal vez esto podría ser un punto de partida): proprcspline calcula una spline cúbica restringida de proporciones de observaciones en cada categoría de yvar dado xvar, y los grafica como un diagrama de área apilada. Opcionalmente, estas proporciones suavizadas se pueden ajustar para un conjunto de variables de control (cvars).Respuestas:
En una dimensión, esto suena como un trabajo para la regresión beta (con o sin dispersión variable). Este es un modelo de regresión con una variable dependiente distribuida en beta, naturalmente con restricción 0-1. Un paquete R es betareg y un documento que describe su uso está aquí .
Para más de dos proporciones, la extensión habitual de la distribución Beta conduce a la regresión de Dirichlet. Está disponible un paquete R DirichletReg , descrito, por ejemplo, aquí .
Hay algunas razones para no usar enlaces logit y regresión logística multinomial para datos de composición verdaderos, principalmente por qué supuestos fuertes implican para la varianza. Sin embargo, si sus datos son todos recuentos realmente normalizados (¿abundancias?), Esas suposiciones pueden ser correctas y la sugerencia de Peter probablemente sería el camino a seguir.
fuente
No estoy seguro exactamente de lo que está tratando de descubrir, pero ¿qué pasa con una regresión logística multinomial con gradiente como la variable independiente?
En R, una forma de hacer esto es la función mlogit en la biblioteca mlogit. Ver esta viñeta
fuente