加权数据的Logistic回归(人口)

时间:2015-07-09 15:56:38

标签: r warnings logistic-regression weighted

我试图对通过真实调查收集的数据进行逻辑回归。数据集包含聚合数据(即已作为微数据的总和导出),并包含以下列:

  1. 关于特征存在的从属Y变量(二进制:0,1)

  2. 三个解释性分类变量,即性别,年龄组和教育水平

  3. 在调查受访者中应用加权调整后,数值为千,反映了人口层面的抽样频率。

  4. 频率,即样本中具有特定特征的人数(例如,年龄在15-34岁之间的样本中的女性人数,具有该特征的具有教育程度的1级)。
  5. 因此,我为10个国家的Y因变量(0,1)提供了人口统计变量(所有分类)的所有可能组合。更具体地说,如果运行以下内容,您可以看到我的数据集的格式: / p>

    Country<-rep(c(paste("country",1:10,sep='_',each=36)
    Y<-rep(0:1, each=18, len=360)
    Sex<- rep(c("Females", "Males"), each=9, times=20)
    Age<- rep(c("15-34", "35-54", "55+"), each=3, times=40)
    Education<- rep(c("edu1", "edu2", "edu3"), len=360)
    Value<- runif(360, 0.6, 100.56)
    Freq<- floor(runif(360,1,150)) 
    
    data<- data.frame(Country, Y, Sex, Age, Education, Value, Freq)
    

    经过大量的研究,我选择首先运行逻辑回归,如下所示:

    glm(Y~Age+Sex+Education+Country, weights=Value, data=data, family=binomial(logit))
    

    但我有一个错误 - 警告信息:

    Warning message:
    In eval(expr, envir, enclos) : non-integer #successes in a binomial glm!
    

    然后我将数据从长形式转换为宽形式,以便运行第二个逻辑,如下:

    glm( cbind(ans1,ans0) ~ Age+Sex+Education+Country,  data=data, family = binomial(logit))
    

    但我也有错误 - 警告信息:

    Warning message:
    In eval(expr, envir, enclos) : non-integer counts in a binomial glm!
    

    当某些类别组合中存在NA时,两种方式的结果完全不同。

    所以,如果有人能回答以下任何问题,我将不胜感激:

    1. 有人知道我是用第一种还是第二种方式正确运行glm?我的问题是我不知道我是否可以使用加权数据运行逻辑回归。我应该使用例如样本中的频率吗?但是我没有使用权重......

    2. 为什么我在解释变量中有NAs的两种方式有不同的结果?

    3. 当我运行数值为千的glm和实际值,即乘以1000时,我有相同的OR但不同的标准错误,偏差,AIC等。哪个是正确的?如果我使用数千人口是不是错了?

    4. 提前谢谢!

0 个答案:

没有答案