2015-05-02 2 views
0

У меня есть набор данных, где я хочу предсказать категорию из независимых переменных. Вывод категории может принимать несколько значений, а не только логический выбор.Интерпретация числового вывода для категориального зависимого

> cars <- data.frame(Speed = c( 47,  49,  32,  27,  12,  11), 
         Colour = c("Red", "Red", "Other", "Other", "Purple", "Purple")) 
> cars$Colour <- as.factor(cars$Colour) 

> model <- glm(Colour ~ Speed, family=binomial, data=cars) 
> predict(model, newdata=data.frame(Speed = c(48))) 
     1 
0.7136062 

Как интерпретировать 0.7136062 в контексте выбора цвета, который у меня есть?

Редактировать: так как я могу получить вероятность того, что тест, когда скорость = 48, является красной, фиолетовой, другой?

Очевидно, что я могу изменить Цвета, чтобы быть фиктивными переменными: is_red, is_purple, но этот пример надуман - может быть много цветов или что-то еще.

+0

Вы понимаете, что означает слово «биномиальный»? –

+2

Для 'glm' с логистической регрессией' прогноз' по умолчанию возвращает журнал (коэффициенты) результата. Например, если ваша ссылочная категория «Красная», тогда «предсказывать» возвращает журнал (коэффициенты) «Не красный». Если вы хотите * вероятность * не красного цвета, добавьте 'type =" response "' к вашему вызову 'pred'. Для получения дополнительной информации см. Справку для 'predict.glm'. – eipi10

+0

@ eipi10 спасибо. Я думаю, что я понимаю разницу между type = link/response сейчас, но как я могу использовать 'прогноз.glm', чтобы получить вероятность вероятности не фиолетового, или не другого? Что указывает на то, что это вероятность для Не Красного? –

ответ

0

Как указано в комментариях, многоминимальная модель даст прогнозы, которые расскажут вам, какая категория является наиболее вероятной.

library(nnet) 

cars <- data.frame(Speed = c( 47,  49,  32,  27,  12,  11), 
        Colour = c("Red", "Red", "Other", "Other", "Purple", "Purple")) 
cars$Colour <- as.factor(cars$Colour) 

model <- multinom(Colour ~ Speed, family=binomial, data=cars)  
summary(model) 
predict(model, newdata=data.frame(Speed = c(48))) 
Смежные вопросы