Tengo algunos datos de series temporales en los que la variable medida es enteros positivos discretos (recuentos). Quiero probar si hay una tendencia al alza con el tiempo (o no). La variable independiente (x) está en el rango 0-500 y la variable dependiente (y) está en el rango 0-8.
Pensé que respondía esto ajustando una regresión de la forma y = floor(a*x + b)
usando mínimos cuadrados ordinarios (MCO).
¿Cómo haría para hacer esto usando R (o Python)? ¿Existe un paquete para él o es mejor que escriba mi propio algoritmo?
PD: Sé que esta no es la técnica ideal, pero necesito hacer un análisis relativamente simple que realmente pueda entender: mi experiencia es la biología, no las matemáticas. Sé que estoy violando supuestos sobre el error en la variable medida y la independencia de las mediciones con el tiempo.
fuente
Respuestas:
Podrías ajustar el modelo en el que declaras usando la función
nls
(mínimos cuadrados no lineales)R
, pero como dijiste, eso violará muchos de los supuestos y probablemente aún no tenga mucho sentido (estás diciendo que el resultado predicho es aleatorio en torno a un paso función, no valores enteros alrededor de una relación que aumenta sin problemas).La forma más común de ajustar los datos de conteo es usar la regresión de Poisson usando la
glm
funciónR
, el primer ejemplo en la página de ayuda es una regresión de Poisson, aunque si no está tan familiarizado con las estadísticas, sería mejor consultar con un estadístico para asegurarse que estás haciendo las cosas correctamenteSi el valor de 8 es un máximo absoluto (imposible ver un conteo más alto, no solo eso es lo que vio), entonces puede considerar la regresión logística de probabilidades proporcionales, hay un par de herramientas para hacer esto en paquetes
R
, pero usted Realmente debería involucrar a un estadístico si desea hacer esto.fuente
Sin embargo, el modelo que está sugiriendo puede ocurrir, por ejemplo, cuando observa datos redondeados: con errores normales de id .
Creo que es interesante ver qué se puede hacer con él. Denoto por el cdf de la variable normal estándar. Si , entonces usando notaciones familiares de computadora.F ϵ∼N(0,σ2)
puntos de datos . La probabilidad de registro viene dada por Esto no es idéntico a los mínimos cuadrados. Puede intentar maximizar esto con un método numérico. Aquí hay una ilustración en R:(xi,yi)
En rojo y azul, las líneas encuentran por maximización numérica de esta probabilidad y mínimos cuadrados, respectivamente. La escalera verde es para encontrada desde la probabilidad máxima ... esto sugiere que podría usar mínimos cuadrados, hasta una traducción de por 0.5, y obtener aproximadamente el mismo resultado; o, esos mínimos cuadrados se ajustan bien al modelo donde es el entero más cercano. Los datos redondeados se cumplen con tanta frecuencia que estoy seguro de que esto se conoce y se ha estudiado ampliamente ...ax+b ⌊ax+b⌋ a,b b
fuente