Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用polr对多个共线数据进行训练后调用predict_R_Statistics_Logistic Regression_Ordinal_S - Fatal编程技术网

使用polr对多个共线数据进行训练后调用predict

使用polr对多个共线数据进行训练后调用predict,r,statistics,logistic-regression,ordinal,s,R,Statistics,Logistic Regression,Ordinal,S,请看下面的代码。这个问题以前被问过,但后来被关闭了——可能是因为缺少R代码来重现这个问题 基本上,当数据中存在多重共线性时,在调用predict()期间,使用Polr训练的模型是有问题的。我错过了什么 下面粗体部分是R对我说的。剩下的是我的代码。 r = c(2,2,2,3,3,3,1,1,1,1) r = as.factor(r) x = c(0,0,0,4,5,6,0,-1,-1,1) y = c(5,5,2,1,0,3,10,4,3,8) z = c(0,0,0,4,5,6,0,-1,-1

请看下面的代码。这个问题以前被问过,但后来被关闭了——可能是因为缺少R代码来重现这个问题

基本上,当数据中存在多重共线性时,在调用
predict()
期间,使用Polr训练的模型是有问题的。我错过了什么

下面粗体部分是R对我说的。剩下的是我的代码。

r = c(2,2,2,3,3,3,1,1,1,1)
r = as.factor(r)
x = c(0,0,0,4,5,6,0,-1,-1,1)
y = c(5,5,2,1,0,3,10,4,3,8)
z = c(0,0,0,4,5,6,0,-1,-1,1)
a = data.frame(r,x,y,z)

library(MASS)
model <- polr(r~x+z, data=a, Hess=TRUE)
X%*%object$系数中的错误:不一致参数

X%*%object$系数中的错误:不一致参数

X%*%object$系数中的错误:不一致参数

[1]13 13 1 2
级别:1 2 3

[1]13 13 1 2
级别:1 2 3

[1]13 13 1 2
级别:1 2 3


现在,我已经设置了一个while循环来检测多重共线性。它删除了被忽略的预测值,并再次训练模型。您可能希望预测方法能够支持它。
test = model.frame(r~x+ z, data=a)
predict(model, test, type="class", s=model$lambda.min)
test2 = model.frame(r~x, data=a)
predict(model, test2, type="class", s=model$lambda.min)
test3 = model.frame(~x, data=a)
predict(model, test2, type="class", s=model$lambda.min)
model2 = polr(r~x, data=a, Hess=TRUE)
predict(model2, test, type="class", s=model$lambda.min)
predict(model2, test2, type="class", s=model$lambda.min)
predict(model2, test3, type="class", s=model$lambda.min)