Sure, I can imagine GLS is a much better way to deal with this.

I guess I was looking at this because I did try GLS but got exactly the 
same results as LM and I just wanted to be sure.

I did "debug" the code in 
https://stat.ethz.ch/pipermail/r-help/2002-January/017774.html and the 
offending line is:

...
mod <- lm(y ~ X - 1)
...

in the Orcutt procedure. Essentially, X is twice the length of y, as 
below:

> cochrane.orcutt(regrCMSlm)
debugging in: cochrane.orcutt(regrCMSlm)
debug: {
    UseMethod("cochrane.orcutt")
}
Browse[1]> 
debug: UseMethod("cochrane.orcutt")
Browse[1]> 
debugging in: cochrane.orcutt.lm(regrCMSlm)
debug: {
    X <- model.matrix(mod)
    y <- model.response(model.frame(mod))
    e <- residuals(mod)
    n <- length(e)
    names <- colnames(X)
    rho <- sum(e[1:(n - 1)] * e[2:n])/sum(e^2)
    y <- y[2:n] - rho * y[1:(n - 1)]
    X <- X[2:n, ] - rho * X[1:(n - 1), ]
    mod <- lm(y ~ X - 1)
    result <- list()
    result$coefficients <- coef(mod)
    names(result$coefficients) <- names
    summary <- summary(mod, corr = F)
    result$cov <- (summary$sigma^2) * summary$cov.unscaled
    dimnames(result$cov) <- list(names, names)
    result$sigma <- summary$sigma
    result$rho <- rho
    class(result) <- "cochrane.orcutt"
    result
}
Browse[1]> 
debug: X <- model.matrix(mod)
Browse[1]> 
debug: y <- model.response(model.frame(mod))
Browse[1]> length(X)
[1] 378 #<<<<<<<<<<<<<<<<------------------------------
Browse[1]> 
debug: e <- residuals(mod)
Browse[1]> length(y)
[1] 189 #<<<<<<<<<<<<<<<<------------------------------
Browse[1]> 
debug: n <- length(e)
Browse[1]> 
debug: names <- colnames(X)
Browse[1]> 
debug: rho <- sum(e[1:(n - 1)] * e[2:n])/sum(e^2)
Browse[1]> 
debug: y <- y[2:n] - rho * y[1:(n - 1)]
Browse[1]> 
debug: X <- X[2:n, ] - rho * X[1:(n - 1), ]
Browse[1]> 
debug: mod <- lm(y ~ X - 1)
Browse[1]> 
Error in model.frame.default(formula = y ~ X - 1, drop.unused.levels = 
TRUE) : 
  variable lengths differ (found for 'X')

Tolga




"John Fox" <jfox@mcmaster.ca> 
17/06/2008 17:51

To
<tolga.i.uzuner@jpmorgan.com>
cc
<r-help@r-project.org>
Subject
RE: [R] Problems with Cochrane-Orcutt procedures






Dear Tolga,

I'm afraid that I don't see an error. (I expect in any event that the
Cochrane-Orcott and Prais estimators are now only of historical interest.)

Regards,
 John

------------------------------
John Fox, Professor
Department of Sociology
McMaster University
Hamilton, Ontario, Canada
web: socserv.mcmaster.ca/jfox


> -----Original Message-----
> From: r-help-bounces@r-project.org [mailto:r-help-bounces@r-project.org]
On
> Behalf Of tolga.i.uzuner@jpmorgan.com
> Sent: June-17-08 11:13 AM
> To: r-help@r-project.org
> Subject: [R] Problems with Cochrane-Orcutt procedures
> 
> Hi John,
> 
> Hi Folks/Prof. Fox,
> 
> I found some code John Fox had written sometime back on the
Cochrane-Orcutt
> and Prais procedures here:
> https://stat.ethz.ch/pipermail/r-help/2002-January/017774.html
> 
> I thought I would try it out and get the following errors below. Was
> wondering if anyone had any immediate opinions why this might be ?
> 
> The linear model is the object regrCMSlm .
> 
> Thanks,
> Tolga
> 
> > regrCMSlm
> 
> Call:
> lm(formula = regrCMS[, 1] ~ regrCMS[, 2])
> 
> Coefficients:
>  (Intercept)  regrCMS[, 2]
>      25.7067       -0.3409
> 
> > summary(regrCMSlm)
> 
> Call:
> lm(formula = regrCMS[, 1] ~ regrCMS[, 2])
> 
> Residuals:
> 09/20/07 11/28/07 02/01/08 04/09/08 06/16/08
>  10.0593   0.3588  -1.1459   0.1340  -9.8520
> 
> Coefficients:
>              Estimate Std. Error t value Pr(>|t|)
> (Intercept)  25.70673    0.85300   30.14   <2e-16 ***
> regrCMS[, 2] -0.34092    0.02205  -15.46   <2e-16 ***
> ---
> Signif. codes:  0 b






Generally, this communication is for informational purposes only
and it is not intended as an offer or solicitation for the purchase
or sale of any financial instrument or as an official confirmation
of any transaction. In the event you are receiving the offering
materials attached below related to your interest in hedge funds or
private equity, this communication may be intended as an offer or
solicitation for the purchase or sale of such fund(s).  All market
prices, data and other information are not warranted as to
completeness or accuracy and are subject to change without notice.
Any comments or statements made herein do not necessarily reflect
those of JPMorgan Chase & Co., its subsidiaries and affiliates.

This transmission may contain information that is privileged,
confidential, legally privileged, and/or exempt from disclosure
under applicable law. If you are not the intended recipient, you
are hereby notified that any disclosure, copying, distribution, or
use of the information contained herein (including any reliance
thereon) is STRICTLY PROHIBITED. Although this transmission and any
attachments are believed to be free of any virus or other defect
that might affect any computer system into which it is received and
opened, it is the responsibility of the recipient to ensure that it
is virus free and no responsibility is accepted by JPMorgan Chase &
Co., its subsidiaries and affiliates, as applicable, for any loss
or damage arising in any way from its use. If you received this
transmission in error, please immediately contact the sender and
destroy the material in its entirety, whether in electronic or hard
copy format. Thank you.
Please refer to http://www.jpmorgan.com/pages/disclosures for
disclosures relating to UK legal entities.
	[[alternative HTML version deleted]]

