[R] Problems with Cochrane-Orcutt procedures
John Fox
jfox at mcmaster.ca
Tue Jun 17 19:49:22 CEST 2008
Dear Tolga,
That's a little more information, but because the code seems to work for me
on other data (though no longer the message dispatch), I can't say what
produces the error. I guess that if you can't debug this yourself, you'll
have to share the data (generally a good idea in any event).
> mod <- lm(Hartnagel[,5] ~ Hartnagel[,7])
> mod
Call:
lm(formula = Hartnagel[, 5] ~ Hartnagel[, 7])
Coefficients:
(Intercept) Hartnagel[, 7]
-85.1117 0.2126
> cochrane.orcutt.lm(mod)
$coefficients
(Intercept) Hartnagel[, 7]
57.05592426 0.04015223
$cov
(Intercept) Hartnagel[, 7]
(Intercept) 1226.739528 -1.381235045
Hartnagel[, 7] -1.381235 0.001713204
$sigma
[1] 14.00277
$rho
[1] 0.7835837
attr(,"class")
[1] "cochrane.orcutt"
Regards,
John
------------------------------
John Fox, Professor
Department of Sociology
McMaster University
Hamilton, Ontario, Canada
web: socserv.mcmaster.ca/jfox
> -----Original Message-----
> From: tolga.i.uzuner at jpmorgan.com [mailto:tolga.i.uzuner at jpmorgan.com]
> Sent: June-17-08 1:17 PM
> To: John Fox
> Cc: r-help at r-project.org; tolga.i.uzuner at jpmorgan.com
> Subject: RE: [R] Problems with Cochrane-Orcutt procedures
>
>
> 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 at mcmaster.ca>
>
> 17/06/2008 17:51 To
> <tolga.i.uzuner at jpmorgan.com>
> cc
> <r-help at 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 at r-project.org [mailto:r-help-bounces at r-project.org]
> On
> > Behalf Of tolga.i.uzuner at jpmorgan.com
> > Sent: June-17-08 11:13 AM
> > To: r-help at 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.
More information about the R-help
mailing list