Introducción
Uno de los mayores problemas de la regresión lineal son los residuos autocorrelacionados. En este contexto, este artículo revisa la regresión lineal, profundiza en el procedimiento Cochrane-Orcutt como una forma de resolver este problema y explora una aplicación del mundo real en el análisis de la activación cerebral por resonancia magnética funcional.
La regresión lineal es probablemente una de las herramientas más importantes para cualquier científico de datos. Sin embargo, es común ver que se cometen muchos conceptos erróneos, especialmente en el contexto de las series temporales. Por lo tanto, dediquemos algo de tiempo a revisar el concepto. El objetivo principal de un GLM en el análisis de series temporales es modelar la relación entre variables en una secuencia de puntos temporales. Dónde Y son los datos de destino, X son los datos de la característica, B y A los coeficientes a estimar y Ɛ es el error gaussiano.
El índice hace referencia a la evolución temporal de los datos. Escribiendo en una forma más compacta:
por el autor.
La estimación de parámetros se realiza mediante mínimos cuadrados ordinarios (MCO), lo que supone que los errores, o derechos residuales de autorentre los valores observados y los valores predichos por el modelo, son independientes y están idénticamente distribuidos (iid).
Esto significa que los residuos no deben estar autocorrelacionados para garantizar la estimación correcta de los coeficientes, la validez del modelo y la precisión de las predicciones.
La autocorrelación se refiere a la correlación entre observaciones dentro de una serie de tiempo. Podemos entenderlo como cómo cada punto de datos se relaciona con puntos de datos rezagados en una secuencia.
Las funciones de autocorrelación (ACF) se utilizan para detectar la autocorrelación. Estos métodos miden la correlación entre un punto de datos y sus valores rezagados (t = 1,2,…,40), que revela si los puntos de datos están relacionados con los valores anteriores o siguientes. Los gráficos ACF (Figura 1) muestran coeficientes de correlación en diferentes retrasos, lo que indica la fuerza de la autocorrelación y la significancia estadística sobre la región de sombra.
Si los coeficientes de ciertos rezagos difieren significativamente de cero, sugiere la presencia de autocorrelación.
La autocorrelación en los residuos sugiere que existe una relación o dependencia entre los errores actuales y pasados en la serie temporal. Este patrón de correlación indica que los errores no son aleatorios y pueden verse influenciados por factores no tenidos en cuenta en el modelo. Por ejemplo, la autocorrelación puede conducir a estimaciones de parámetros sesgadas, especialmente en la varianza, afectando la comprensión de las relaciones entre variables. Esto resulta en inferencias inválidas extraídas del modelo, lo que lleva a conclusiones engañosas sobre las relaciones entre variables. Es más, resulta en predicciones ineficienteslo que significa que el modelo no captura la información correcta.
El procedimiento Cochrane-Orcutt es un método famoso en econometría y en diversas áreas para abordar cuestiones de autocorrelación en una serie de tiempo a través de un modelo lineal de correlación serial en el término de error. [1,2]. Ya sabemos que esto viola uno de los supuestos de la regresión de mínimos cuadrados ordinarios (MCO), que supone que los errores (residuales) no están correlacionados. [1]. Más adelante en el artículo, utilizaremos el procedimiento para eliminar la autocorrelación y comprobar qué tan sesgados están los coeficientes.
El procedimiento Cochrane-Orcutt es el siguiente:
- 1. Regresión MCO inicial: Comience con un análisis de regresión inicial utilizando mínimos cuadrados ordinarios (OLS) para estimar los parámetros del modelo.
- 2. Cálculo residual: Calcule los residuos de la regresión inicial.
- 3. Prueba de autocorrelación: Examine los residuos para detectar la presencia de autocorrelación utilizando gráficos ACF o pruebas como la prueba de Durbin-Watson. Si la autocorrelación no es significativa, no es necesario seguir el procedimiento.
- 4. Transformación: El modelo estimado se transforma diferenciando las variables dependientes e independientes para eliminar la autocorrelación. La idea aquí es hacer que los residuos estén más cerca de no estar correlacionados.
- 5. Regresión del modelo transformado: Realice un nuevo análisis de regresión con el modelo transformado y calcule nuevos residuos.
- 6. Verifique la autocorrelación: Pruebe nuevamente la autocorrelación de los nuevos residuos. Si la autocorrelación persiste, regrese al paso 4 y transforme aún más el modelo hasta que los residuos no muestren una autocorrelación significativa.
Estimación final del modelo: Una vez que los residuos no muestren una autocorrelación significativa, utilice el modelo final y los coeficientes derivados del procedimiento Cochrane-Orcutt para hacer inferencias y sacar conclusiones.
Una breve introducción a la resonancia magnética funcional
La resonancia magnética funcional (fMRI) es una técnica de neuroimagen que mide y mapea la actividad cerebral detectando cambios en el flujo sanguíneo. Se basa en el principio de que la actividad neuronal está asociada con un mayor flujo sanguíneo y oxigenación. En la resonancia magnética funcional, cuando una región del cerebro se activa, desencadena una respuesta hemodinámica que provoca cambios en las señales dependientes del nivel de oxígeno en sangre (BOLD). Los datos de la resonancia magnética funcional generalmente consisten en imágenes en 3D que representan la activación del cerebro en diferentes puntos temporales; por lo tanto, cada volumen (vóxel) del cerebro tiene su propia serie temporal (Figura 2).
El modelo lineal general (GLM)
El GLM supone que la señal medida por fMRI es una combinación lineal de diferentes factores (características), como la información de la tarea mezclada con la respuesta esperada de la actividad neuronal conocida como función de respuesta hemodinámica (HRF). Para simplificar, ignoraremos la naturaleza del HRF y simplemente asumiremos que es una característica importante.
Comprender el impacto de las tareas en la señal BOLD resultante. y (variable dependiente), vamos a utilizar un GLM. Esto se traduce en comprobar el efecto a través de coeficientes estadísticamente significativos asociados con la información de la tarea. Por eso, X1 y X2 (variables independientes) son información sobre la tarea que fue ejecutada por el participante a través de la recolección de datos convolucionada con el HRF (Figura 3).
Aplicación sobre datos reales
Para comprobar esta aplicación del Mundo Real, utilizaremos datos recopilados por el Prof. João Sato de la Universidad Federal de ABC, que está disponible en GitHub. La variable independiente datos_fmri contiene datos de un vóxel (una única serie temporal), pero podríamos hacerlo para cada vóxel del cerebro. Las variables dependientes que contienen la información de la tarea son cong y incong. Las explicaciones de estas variables están fuera del alcance de este artículo.
#Reading data
fmri_img = nib.load('/Users/rodrigo/Medium/GLM_Orcutt/Stroop.nii')
cong = np.loadtxt('/Users/rodrigo/Medium/GLM_Orcutt/congruent.txt')
incong = np.loadtxt('/Users/rodrigo/Medium/GLM_Orcutt/incongruent.txt')#Get the series from each voxel
fmri_data = fmri_img.get_fdata()
#HRF function
HRF = glover(.5)
#Convolution of task data with HRF
conv_cong = np.convolve(cong.ravel(), HRF.ravel(), mode='same')
conv_incong = np.convolve(incong.ravel(), HRF.ravel(), mode='same')
Visualización de las variables de información de la tarea (características).
Montaje de GLM
Usando mínimos cuadrados ordinarios para ajustar el modelo y estimar los parámetros del modelo, llegamos a
import statsmodels.api as sm#Selecting one voxel (time series)
y = fmri_data[20,30,30]
x = np.array([conv_incong, conv_cong]).T
#add constant to predictor variables
x = sm.add_constant(x)
#fit linear regression model
model = sm.OLS(y,x).fit()
#view model summary
print(model.summary())
params = model.params
Es posible ver ese coeficiente X1. es estadísticamente significativo, una vez P > |t| es menor que 0,05. Eso podría significar que la tarea efectivamente afecta la señal BOLD. Pero antes de utilizar estos parámetros para hacer inferencias, es esencial comprobar si los residuos, lo que significa y menos predicción, no están autocorrelacionados en ningún retraso. De lo contrario, nuestra estimación está sesgada.
Comprobación de la autocorrelación de residuos
Como ya se ha comentado, el gráfico ACF es una buena forma de comprobar la autocorrelación en la serie.
Al observar el gráfico ACF es posible detectar una autocorrelación alta en el retardo 1. Por lo tanto, este modelo lineal está sesgado y es importante solucionar este problema.
Cochrane-Orcutt para resolver la autocorrelación en residuos
El procedimiento Cochrane-Orcutt se utiliza ampliamente en el análisis de datos de resonancia magnética funcional para resolver este tipo de problemas. [2]. En este caso específico, la autocorrelación de rezago 1 en los residuos es significativa, por lo que podemos utilizar la fórmula Cochrane-Orcutt para el término autorregresivo AR(1).
# LAG 0
yt = y[2:180]
# LAG 1
yt1 = y[1:179]# calculate correlation coef. for lag 1
rho= np.corrcoef(yt,yt1)[0,1]
# Cochrane-Orcutt equation
Y2= yt - rho*yt1
X2 = x[2:180,1:] - rho*x[1:179,1:]
Ajuste del modelo transformado
Ajustando nuevamente el modelo pero después de la corrección de Cochrane-Orcutt.
import statsmodels.api as sm#add constant to predictor variables
X2 = sm.add_constant(X2)
#fit linear regression model
model = sm.OLS(Y2,X2).fit()
#view model summary
print(model.summary())
params = model.params
Ahora el coeficiente X1 ya no es estadísticamente significativo, descartando la hipótesis de que la tarea impacte la señal BOLD. Los parámetros de estimación del error estándar cambiaron significativamente, lo que indica el alto impacto de la autocorrelación en los residuos de la estimación.
Comprobando la autocorrelación nuevamente
Esto tiene sentido ya que es posible demostrar que la varianza siempre está sesgada cuando hay autocorrelación. [1].
Ahora se eliminó la autocorrelación de los residuos y la estimación ya no está sesgada. Si hubiéramos ignorado la autocorrelación en los residuos, podríamos considerar el coeficiente significativo. Sin embargo, después de eliminar la autocorrelación, resulta que el parámetro no es significativo, evitando una inferencia espuria de que la tarea sí está relacionada con la señal.
La autocorrelación en los residuos de un modelo lineal general puede generar estimaciones sesgadas, predicciones ineficientes e inferencias no válidas. La aplicación del procedimiento Cochrane-Orcutt a datos de resonancia magnética funcional del mundo real demuestra su eficacia para eliminar la autocorrelación de los residuos y evitar conclusiones falsas, lo que garantiza la confiabilidad de los parámetros del modelo y la precisión de las inferencias extraídas del análisis.
Observaciones
Cochrane-Orcutt es sólo un método para resolver la autocorrelación en los residuos. Sin embargo, existen otros para abordar este problema como el Procedimiento Hildreth-Lu y el Procedimiento de Primeras Diferencias. [1].