【问题标题】:Ordinal Logistic Regression In RR中的序数逻辑回归
【发布时间】:2019-08-20 07:40:44
【问题描述】:

我正在处理一个数据集,其中我的目标变量 CLASS 具有三个分类值。

现在,当我应用序数逻辑回归并运行 polr 命令时。它显示此错误“尝试找到合适的起始值失败”。我认为我的目标变量没有排序。谁能告诉我如何安排 Sv 的有序值?

model <- polr(Class~., data= training, Hess = TRUE)

polr 中的错误(Class ~ ., data = training, Hess = TRUE):尝试 找到合适的起始值失败另外:警告消息:1: glm.fit: 算法没有收敛 2: glm.fit: 拟合概率 数字上发生了 0 或 1

【问题讨论】:

    标签: r regression


    【解决方案1】:

    Please provide a reproducible data. 无论如何,使用无序因变量 Class 生成一些数据不会给我这个错误。见这里:

    # library the package for polr function
    library("MASS")
    
    # a sample size of 30
    n <- 30
    
    # generating a factor with smple size n and with a frequency for each level of n/3
    Class <- factor(rep(c("HIGH", "LOW", "MEDIUM"), each= n/3))
    
    # leaving it an unordered factor by using # (code not run)
    # Class <- ordered(Class, levels= c("LOW", "MEDIUM", "HIGH")) 
    
    # generating a data frame with two random variables
    set.seed(1)
    training <- data.frame(matrix(rnorm(2*n), ncol=2))
    
    # adding the dependent variable Class to te data frame
    training$Class <- Class
    
    # running model
    m <- polr(Class~., data= training, Hess = TRUE)
    
    # look at coefficients and tests
    library("AER") 
    coeftest(m) 
    

    这表明因子顺序不是问题。事实上,询问谷歌在 glm 中向我展示了类似的错误,即关于收敛而不是因子顺序。这可能会使问题重复。见这里,例如Why am I getting "algorithm did not converge" and "fitted prob numerically 0 or 1" warnings with glm?

    【讨论】:

    • 您能详细解释一下这些命令吗?到底发生了什么? n
    • 因为在这些命令之后它只显示类的摘要。我想查看所有变量的摘要,包括它们的 p 值,以便我可以识别不重要的变量。请尽快回复,因为我真的需要帮助。
    • 我在代码中添加了一些解释。代码的细节并不重要,因为代码只是为了表明错误可能不是由于因素顺序造成的。
    • 您的问题是关于错误,据我了解,提供的链接已回答该错误,并且似乎不是因子顺序问题。如果您现在还有其他问题,您应该单独发布。
    • 非常感谢您的帮助。最后一个问题,如果你能回答!您在训练中采用了两个随机变量。如果我想包含所有 18 个变量怎么办?因为当我将数据拆分为训练和测试时,polr 命令不会运行。
    猜你喜欢
    • 2013-07-24
    • 2018-01-26
    • 2018-02-12
    • 2014-06-20
    • 2021-11-13
    • 1970-01-01
    • 2014-06-26
    • 2021-05-02
    • 2017-07-30
    相关资源
    最近更新 更多