vibe3
- 39
- 1
I have a large weighted least squares system with millions of observations. I can't store the least squares matrix in memory, so I only store the normal equations matrix:
<br /> A^T W A<br />
where A is dense and n-by-p and W = diag(w_1,...,w_n). It takes a very long time to build this normal equations matrix due to the large number of observations. However, I also want to iteratively re-weight the observations to reduce the effect of outliers, and so at the next iteration, the weight matrix will be the product of the original weights W with some new weights V = diag(v_1,...,v_n). Therefore I need to construct the matrix:
<br /> A^T W' A<br />
where W' = diag(w_1 v_1, w_2 v_2, ..., w_n v_n).
Does anyone know of a slick (fast) way to determine the matrix A^T W' A given the matrix A^T W A and the new weights V? I am hoping I don't need to start over from scratch to build A^T W' A for each iteration, since it takes so long.
I did search the literature and didn't find much on this topic.
<br /> A^T W A<br />
where A is dense and n-by-p and W = diag(w_1,...,w_n). It takes a very long time to build this normal equations matrix due to the large number of observations. However, I also want to iteratively re-weight the observations to reduce the effect of outliers, and so at the next iteration, the weight matrix will be the product of the original weights W with some new weights V = diag(v_1,...,v_n). Therefore I need to construct the matrix:
<br /> A^T W' A<br />
where W' = diag(w_1 v_1, w_2 v_2, ..., w_n v_n).
Does anyone know of a slick (fast) way to determine the matrix A^T W' A given the matrix A^T W A and the new weights V? I am hoping I don't need to start over from scratch to build A^T W' A for each iteration, since it takes so long.
I did search the literature and didn't find much on this topic.