在R中逻辑回归(使用multinom)的输出中出现NAs

时间:2013-11-14 07:24:09

标签: r logistic-regression

我正在尝试使用multinom() nnetmultinom()包对以下数据执行逻辑回归:R:
Train Data
Test Data

数据描述:

每个列车和测试文件都有10,000行数据和144个变量,其中最后一列是“预测”,这是应该在测试数据中预测的列。因为,predict只包含两个值0和1(二进制),所以我开始使用train_data <- read.csv("train_data.csv") test_data <- read.csv("test_data.csv") library(nnet) my_multinom <- multinom(formula= as.factor(Predict) ~ ., data= train_data) predictions <- predict(my_multinom, test_data[,1:143]) 将列车数据拟合到逻辑回归模型。大多数行是连续的数值,而一些字段包含名称字段,如工作日的名称(“星期日”,“星期一”,......),这些都被视为因子。

以下是使用的代码:

> summary(predictions)
   0    1   NA's 
 130   52   9818 

输出是:

NA's

其中,Predict的{​​{1}}列中没有train_data

> summary(as.factor(train_data$Predict))
   0    1 
9734  266 

我想知道发生如此大量NA's(超过98%)的原因是什么,以及如何继续进行以便我可以避免这些NA's

1 个答案:

答案 0 :(得分:0)

查看您的测试数据。预测为NA的每一行都包含NA值:

all(apply(sapply(test_data[is.na(predictions),1:143], is.na),1,any))
#[1] TRUE

其他行不包含任何NA值:

any(apply(sapply(test_data[!is.na(predictions),1:143], is.na),1,any))
#[1] FALSE