Development

NAVIGATION
CATEGORIES
REFERRENCE
LINKS
  • why does lm() not allow for negative weights?

    0 answers - 2652 bytes - related search similar search Add To My Delicious Add To My Stumble Upon Add To My Google Mark Add To My Facebook Add To My Digg Add To My Reddit

    Thanks Duncan Murdoch,
    Why do commonly used estimator functions (such as lm(),
    glm(), etc.)
    not allow negative case weights?
    Residual sums of squares (or deviances) could be negative
    with negative case weights. This doesn't seem like a good
    thing: would you really want the fit to be far from those points?
    Yes, this is actually what I want for this particular estimator. But I can
    see now why this generally doesn't seem like a a good idea.
    Best,
    Jens
    Nachricht
    Von: Duncan Murdoch [mailto:murdoch (AT) stats (DOT) uwo.ca]
    Gesendet: Friday, August 04, 2006 7:36 PM
    An: Jens Hainmueller
    Cc: r-help (AT) stat (DOT) math.ethz.ch
    Betreff: Re: [R] why does lm() not allow for negative weights?
    8/4/2006 1:26 PM, Jens Hainmueller wrote:
    Dear List,
    I suspect that there is a good reason for this.
    Yet, I can see reasonable cases when one wants to use
    negative case weights.
    Take lm() for example:
    n <- 20
    Y <- rnorm(n)
    X <- cbind(rep(1,n),runif(n),rnorm(n)) Weights <- rnorm(n)
    # Includes
    Pos and Neg Weights Weights
    # Now do Weighted LS and get beta coeffs:
    b <- solve(t(X)%*%diag(Weights)%*%X) %*% t(X) %*% diag(Weights)%*%Y
    That formula does not necessarily give least squares
    estimates in the case where weights might be negative. For
    example, with a single observation y, a single parameter mu,
    design matrix X = 1, and weight -1, that formula becomes
    b <- y,
    but that is the worst possible estimator in a least squares
    sense. The residual sum of squares can be made arbitrarily
    large and negative by setting b to a large value.
    Duncan Murdoch
    b
    # This seems like a valid model, but when I try lm(Y ~
    X[,2:3],weights=Weights)
    # I get: "missing or negative weights not allowed"
    What is the rationale for not allowing negative weights? I
    ask this,
    because I am currently trying to implement a (two stage) estimator
    into R that involves negative case weights. Weights are
    generated in
    the first stage, so it would be nice if I could use canned
    functions
    such as
    lm(,weights=Weights) in the second stage.
    Thank you for your help.
    Best,
    Jens
    R-help (AT) stat (DOT) math.ethz.ch mailing list
    PLEASE do read the posting guide
    and provide commented, minimal, self-contained, reproducible code.
    R-help (AT) stat (DOT) math.ethz.ch mailing list
    PLEASE do read the posting guide
    and provide commented, minimal, self-contained, reproducible code.

Re: why does lm() not allow for negative weights?


max 4000 letters.
Your nickname that display:
In order to stop the spam: 5 + 4 =
QUESTION ON "Development"

EMSDN.COM