我正在尝试对调查数据进行加权逻辑回归。我的权重范围是40到130。权重基于受访者,并且是汽车销量,人口统计因素等因素。
当我尝试使用glm运行加权LR时,我的精度为1%。当我尝试通过将所有权重除以100来更改权重基准时,精度提高到57%。然后我也尝试了“调查”包。但是我无法使用“ step
”函数运行迭代。所以我试图混合使用glm和调查包。我首先使用调查包创建调查设计。然后使用调查启动NULL模型。之后,我使用“ step
”函数运行迭代,最后将最终迭代中的变量用于调查包的“ svyglm
”函数中以获得最终估计值。但是有了这个,我没有任何残差,所以我没有任何方法来获得精度。
library(magrittr)
library(survey)
data1 <- read.csv("weighted sample 2.csv")
# Creating survey design in SURVEY
my_svy <- svydesign(data = data1,ids = ~1, weights = ~WGT_REG)
# Initiating NULL model in GLM
logr<-glm(output ~ 1,data=data1,family="binomial")
# Running iteration using GLM
logrstep<-step(logr,direction = "both",scope = formula(data1))
# Running final model using SURVEY
logr_survey <- svyglm(output ~ (all variables from last iteration in step function), design=my_svy, family = "binomial")
summary(logr_survey)
问题
1)我想知道混合两个软件包的方法是对还是错?或如果使用正确的权重基础是正确的步骤?
2)加权回归的权重是否总是必须小于1?还建议进行加权LR的任何更好方法吗?