【问题标题】:Logistic Regression Error: y values must be 0 <= y <= 1逻辑回归错误:y 值必须为 0 <= y <= 1
【发布时间】:2021-02-06 21:47:38
【问题描述】:

我正在尝试使用 glmer function 在程序 R 中使用 lme4 package 运行逻辑回归。

但是,每次我运行回归时都会出错:

Error in eval(family$initialize, rho) : y values must be 0 <= y <= 1

我知道这个错误告诉我我的一个变量需要更改,但是;我所有的变量都是数字,所以我不确定这个问题。如果变量是数据框中的字符,通常会发生这种情况。

这是我的回归代码:

speedmod <- glmer(speed ~ HaFP + HaFPWFeed + NumFeeder + (1|trackId), data=befacorn, family=binomial(link=logit))

这是我正在使用的数据框的头部:

    structure(list(trackId = c(100, 100, 13, 13, 17, 17), speed = c(116.999313, 
128.9319019, 164.6205906, 141.6179845, 209.5512926, 159.5864867
), Encamped = c(27.04731971, 26.65969681, 13.82608696, 11.25608907, 
22.45217391, 32.26981099), Constrained = c(48.36738257, 44.71162223, 
54.33043478, 60.17745303, 40.48695652, 34.76677649), Unconstrained = c(24.58529771, 
28.62868095, 31.84347826, 28.5664579, 37.06086957, 32.96341252
), dist = c(33.47023812, 30.73586278, 40.05010243, 36.29203072, 
46.60945598, 39.90154752), NDP = c(6812.840821, 1454.308521, 
959.0027313, 971.1027189, 766.8727274, 654.5480648), area = c(1212.470847, 
58.93086937, 125.1207848, 63.17518578, 439.2532168, 182.1664135
), HaFP = c(45.05, 2.2, 12.49, 10.2, 9.6, 3.1), HaFPWFeed = c(7.58, 
2.2, 9.32, 9.3, 0, 0), NumFeeder = c(14, 5, 1, 0, 1, 1)), row.names = c(NA, 
6L), class = "data.frame")

【问题讨论】:

  • 你知道你的 y 变量是什么吗?
  • 注意speed是一个连续变量speed = c(116.999313, 128.9319019, 164.6205906, 141.6179845, 209.5512926, 159.5864867 ),在这种情况下考虑线性回归。
  • @MiguelTrejo 是对的。如果您的目标变量是数字,您可以运行线性回归。如果目标变量是包含不同值的类,那么您可以对该数据应用逻辑回归。 stackoverflow.com/questions/12146914/…
  • 也许您正在尝试拟合非线性混合效应模型?例如见asancpt.github.io/nlme/chapter-6.html
  • 谢谢你,@MiguelTrejo。总是容易被忽视。

标签: r regression


【解决方案1】:

错误代码y values must be 0 &lt;= y &lt;= 1 告诉您响应变量(或y)必须介于0 和1 之间。这是因为您选择了family=binomial,它用于二进制数据(0,1)。逻辑回归是此类回归的另一个名称。正如@MiguelTrejo 在 cmets 中所说,您的方程 glmer(response ~ predictor1 + predictor2...) 中的响应变量是连续的。

在这种情况下选择线性模型之前,请确保您知道为什么要为模型选择一个族:例如,请参阅 https://stats.stackexchange.com/questions/190763/how-to-decide-which-glm-family-to-usehttp://bbolker.github.io/mixedmodels-misc/glmmFAQ.html。 输出的解释因链接功能而异(通常随族而变化)。

此外,您的结构+ (1|trackId) 表示随机截距,请参阅https://stats.stackexchange.com/questions/31569/questions-about-how-random-effects-are-specified-in-lmer 以获取编码随机效应及其含义的帮助。

【讨论】:

  • 实际上我的评论主要不是关于模型的随机效应部分,而是 OP 可能 旨在拟合非线性(混合)最小二乘型号,即response ~ Normal(mu, sigma); mu = logist(r,K,x0)
  • 啊,我明白了。道歉。我已将其编辑掉,但留下了内容。
猜你喜欢
  • 2019-05-25
  • 1970-01-01
  • 2021-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-01
  • 1970-01-01
相关资源
最近更新 更多