r - 使用 R 绘制线性模型 (lm) 时产生 NaN

标签 r linear-regression glm lm

我正在尝试创建一个正常回归模型和一个逻辑回归模型来预测真实状态数据中的欺诈行为。我使用混合数据集(分类变量和数值变量),在其中进行了预处理和重新编码,以便每个分类变量的每个级别的权重保持平衡(避免包含仅具有 1 个注册表的级别的变量与具有多个注册表的级别混合)观察等)。我添加了一个交互来增加我的 lm 的 R^2。当我想绘制线性模型时,我收到此警告:

    Warning messages:
1: In sqrt(crit * p * (1 - hh)/hh) : NaNs produced
2: In sqrt(crit * p * (1 - hh)/hh) : NaNs produced

这似乎与库克的距离有关 - https://bugs.r-project.org/bugzilla3/show_bug.cgi?format=multiple&id=9316 -(影响因素,即使我删除了异常值......)。知道导致此错误的原因以及如何绘制线性模型吗?

我的代码示例:

lm.a3 <- lm(log(response) ~(.-file_status)*file_status, data=data) 
final.lm3 <- stepAIC(lm.a3,direction="both")
summary(final.lm3) #R^2 = 64%
par(mfrow=c(2,2))
plot(final.lm3)

感谢您的宝贵时间,非常感谢您的回答

最佳答案

问题是我在运行 stepAIC 函数之前进行了对数转换以提高拟合度。由于我的一些响应变量等于 1,因此在执行 log(response_variable) 时,该函数的输出在某些情况下等于 0。向对数函数的参数添加最小数量解决了该问题:log(response_variable + 0.0001234)。感谢@LyzandeR 的反馈。

关于r - 使用 R 绘制线性模型 (lm) 时产生 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28329751/

相关文章:

r - 如何在没有模型对象的情况下根据 ns 样条参数进行预测

r - 转换为R中的句子大小写

R Dataframe - 如何计算到某一点的行数?

r - jar 直方图并出现错误 "missing value where TRUE/FALSE needed"

r - 在 R 中使用带有 {plm} 的模型中的所有变量

python - 在 Python 中实现线性回归

r - 如何使 'for loop' 跳过其中显示错误的一些迭代?

python - scikit 从 coef_ 学习预测

r - eval(expr, envir, enclos) : no loop for break/next, 跳转到顶层时出错

r - R 中的 Bigglm : Limitations and Improvements of source code (E. g。调用 Fortran)