Как взвесить частное сумм в качестве зависимой переменной для регрессии в R? - PullRequest
1 голос
/ 13 сентября 2011

Редактировать - переписал вопрос, поскольку оригинал не имеет смысла:

В R - как мне получить модель подбора lm, которая является частным сумм для двух переменных, сгруппированных по третьей факторной переменной, но которая весит некоторые записи больше, чем другие? Данные выглядят так:

Browser       Visits    Clicks
Chrome         100       25
Chrome         89        40
Chrome         10        0
Safari         40        10
Safari         30        2    

Из комментариев это команда для регрессии WLS, взвешенной по посещениям, но я не думаю, что правильно использую весовую функцию, так как не знаю, как ошибки соотносятся с посещениями, просто они .

fit <- lm(Clicks/Visits ~ Browser, weights=(visits/sum(visits)))

1 Ответ

3 голосов
/ 13 сентября 2011

Вы запрашиваете модель тарифа, то есть количество событий на число в группе риска.Обычно это реализуется путем моделирования процесса как распределенного по Пуассону набора событий:

    dat <- read.table(textConnection("Browser       Visits    Clicks
 Chrome         100       25
 Chrome         89        40
 Chrome         10        0
 Safari         40        10
 Safari         30        2"), header=TRUE)

 dat$CperV <- with(dat, Clicks/Visits)
    dat


 glm(CperV ~ Browser, data=dat, family = "poisson")

Call:  glm(formula = CperV ~ Browser, family = "poisson", data = dat)

Coefficients:
  (Intercept)  BrowserSafari  
       -1.456         -0.387  

Degrees of Freedom: 4 Total (i.e. Null);  3 Residual
Null Deviance:      0.772 
Residual Deviance: 0.7379   AIC: Inf 
    Residual Deviance: 0.1182   AIC: 1.467 

> exp(-1.456  ) # estimated rate for nonSafari Visits
[1] 0.2331671
> exp(-1.456-0.387 ) # estimated rate for Safari Visits
[1] 0.1583417
> mean(dat[dat$Browser=="Safari",  "CperV"])  # actual means
[1] 0.1583333
> mean(dat[dat$Browser!="Safari",  "CperV"])  # actual means
[1] 0.2331461
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...