I am often dealing with data that has thousands of terms, and many thousands, sometime hundreds of thousands, observations. Many of the terms are usually correlated, so I would like to reduce the dimensionality. But if I try to use Principal Components to do this the computation time is excessive or downright impractical. Is there another method that would work better to reduce the dimensions of the data in such a case?