【发布时间】:2017-11-29 06:48:14
【问题描述】:
无法修复以下逻辑回归的以下错误
training=(IBM$Serial<625)
data=IBM[!training,]
dim(data)
stock.direction <- data$Direction
training_model=glm(stock.direction~data$lag2,data=data,family=binomial)
###Error### ---- Error in eval(family$initialize) : y values must be 0 <= y <= 1
我正在使用的数据中的几行
X Date Open High Low Close Adj.Close Volume Return lag1 lag2 lag3 Direction Serial
1 28-11-2012 190.979996 192.039993 189.270004 191.979996 165.107727 3603600 0.004010855 0.004010855 -0.001198021 -0.006354834 Up 1
2 29-11-2012 192.75 192.899994 190.199997 191.529999 164.720734 4077900 0.00114865 0.00114865 -0.004020279 -0.009502386 Up 2
3 30-11-2012 191.75 192 189.5 190.070007 163.465073 4936400 0.003630178 0.003630178 -0.001894039 -0.005576956 Up 3
4 03-12-2012 190.759995 191.300003 188.360001 189.479996 162.957703 3349600 0.001213907 0.001213907 -0.002480478 -0.001636046 Up 4
【问题讨论】:
-
您有
Direction变量作为字符(向上)。它不会工作 -
逻辑回归不应该适用于定性变量吗?你会建议的任何修复方法
-
但是您需要将变量更改为 1 或 0,因为错误消息告诉您,所以如果您必须上下分类,您可以使用
ifelse将它们更改为 0 和 1s
标签: r logistic-regression r-factor