提问人:brossb12 提问时间:6/7/2023 最后编辑:brossb12 更新时间:6/7/2023 访问量:28
R 中的逻辑回归模型,用于识别应需要安全库存退货警告的库存项目
Logistic regression model in R to identify inventory items that should require safety stock returning warnings
问:
我一直致力于在 R 中构建一个逻辑回归模型,目标是使用它来确定新库存项目的任何给定项目数据集是否需要安全库存。
尝试运行此模型时,我收到警告消息: 警告消息: 1:glm.fit:算法未收敛 2:glm.fit:发生数值 0 或 1 的拟合概率
我正在尝试在当前库存项目的数据集上训练模型,其变量包括:交货时间(以天为单位)、单位成本(以美元为单位)和每日使用量(数量/天)。使用物料是否需要安全库存作为模型中的因变量,值 1 表示是,值 0 表示否。
参考型号代码: SafetyStock_model <- glm(公式 = SafetyStock ~ UnitCost + LeadTime + DailyUsage, family = 二项式(link = “logit”), data = SafetyStock_Train)
此代码返回上面列出的警告消息
我知道如果您看到完美的分离,可能会发生这种情况,但我认为我使用的数据不应该发生这种情况。关于为什么会发生这种情况,或者我该如何解决它的任何想法?感谢所有意见
谢谢!
编辑:包括当前状态的数据样本和模型摘要。
structure(list(PartNumber = c("72150", "66K4A3SN-SF", "AN320-4", "67L20423", "72245", "60N29740-CT", "LW-16107", "65990", "LW-349290-1-70", "31M22993"), UnitCost = c(93.45, 752.584, 0.4984, 142.044, 784.24486, 0.16198, 101.12536, 33.642, 610.2285, 784.24486), DailyUsage =c(0.0145833333333333, 1.10833333333333, 0.0229166666666667,0.00416666666666667, 0.06875, 0.00833333333333333,0.0104166666666667, 0.00208333333333333, 0.0166666666666667, 0.0520833333333333), LeadTime = c(35, 180, 40, 30, 130,365, 90, 40, 40, 130), SafetyStock = structure(c(1L, 2L, 1L, 1L, 2L, 1L,1L, 1L, 1L, 2L), levels = c("0", "1"), class = "factor")), row.names =c(NA, -10L), class = c("tbl_df", "tbl", "data.frame"))
Call:
glm(formula = SafetyStock ~ UnitCost + LeadTime + DailyUsage,
family = binomial(link = "logit"), data = SafetyStock_Train)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.677e+02 3.951e+02 -0.678 0.498
UnitCost 1.284e-03 1.011e-02 0.127 0.899
LeadTime 1.296e-01 3.420e-01 0.379 0.705
DailyUsage 5.122e+03 7.660e+03 0.669 0.504
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1.1914e+03 on 1026 degrees of freedom
Residual deviance: 7.6262e-03 on 1023 degrees of freedom
AIC: 8.0076
Number of Fisher Scoring iterations: 25
答: 暂无答案
评论
dput(0
dput(head(SafetyStock_Train, 10))
summary()