Tengo dos variables continuas, X e Y, que están correlacionadas - no son independientes. Para corregir la no independencia, tengo una estructura de correlación conocida, una matriz S.
Si se llama gls(Y ~ X, correlation = S)
Lo que creo que ocurre es que, internamente, gls() transforma X e Y de alguna manera para que la regresión acabe siendo S^(-1)*Y = S^(-1) * X
.
¿Cómo se realiza realmente esta transformación? De la literatura que he consultado, he visto de todo, desde:
X.transformed <- solve(chol(S)) %*% X
#The inverse of the Choleski decomposition of S times the vertical vector X,
#which in my case does nothing to the data
a
X.transformed <- chol(solve(S)) %*% X
# which has negative values and gives meaningless values of X
Otro método que he visto es transformar la variable dependiente por
chol(solve(S)) %*% Y
y la variable independiente por
chol(solve(S)) %*% cbind(1,X)
y hacer el modelo lineal utilizando los términos de intercepción transformados en la primera columna de la matriz X:
lm(Y ~ X - 1)
En una nota relacionada, ¿tiene algún sentido transformar manualmente los datos para trazarlos? ¿Los valores transformados tienen algún significado, o simplemente están ahí para estimar los coeficientes de regresión? (En otras palabras, si X es una variable de cifras de masa corporal, los valores de X no son necesariamente erróneos si son negativos, ya que siguen siendo lineales). Supongo que de esto se deduce que un $R^2$ ¿la estadística de las variables transformadas tampoco tiene sentido?