繁体   English   中英

加权数据的逻辑回归(人口)

[英]Logistic regression with weighted data (population)

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

  1. 有关特征存在的因变量(二进制:0,1)

  2. 三个解释性的分类变量,即性别,年龄组和受教育程度

  3. 在对受访者进行加权调整后反映出总体水平上的抽样频率后,以千为单位的值。

  4. 频率,即样本中具有特定特征的人数(例如,样本中15-34岁,具有该特征的受教育程度为1的女性人数)。

因此,对于10个国家的Y因变量(0,1),我具有人口统计学变量的所有可能组合(所有类别)。更具体地说,如果运行以下命令,则可以查看我的数据集的格式:

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. 当解释变量中存在NA时,为什么两种方法的结果不同?

  3. 当我使用千分之几或实际值(即乘以1000)运行glm时,我具有相同的OR,但具有不同的标准误差,偏差,AIC等。哪个正确? 如果我使用成千上万的人口,这是错误的吗?

先感谢您!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM