Bon après-midi, j'ai un problème avec la sortie que je reçois lors de l'exécution d'une régression logistique avec le paquet NNET. Je veux prédire Category
avec HS_TR (Return Period)
et SLR (Sea Level Rise)
. Le modèle multinomial, appelé fit
, a été calculé avec les informations du sous-ensemble x.sub
. Il existe 4 catégories possibles 1,2,3 ou 4.Résultats de probabilités de Multinomial Regression nnet package
x.sub
:
POINTID HS_TR SLR Category
4 10 0.0 3
4 10 0.6 4
4 50 0.0 3
4 50 0.6 4
4 100 0.0 4
4 100 0.6 4
Quand je lance le modèle>fit <- multinom(Category ~ HS_TR + SLR, x.sub, maxit=3000)
-je obtenir les résultats:
Coefficients:
(Intercept) HS_TR SLR
-30.5791517 0.4130478 62.0976951
Residual Deviance: 0.0001820405
AIC: 6.000182
Maintenant que je le multinomial, je veux connaître la catégorie prédite pour un scénario spécifique (d3) de SLR et HS_TR. Je définis d3 et appliquer la prédiction et j'obtenir un résultat raisonnable:
d3<-data.frame("HS_TR"=c(10),"SLR"=c(0))
prediction <-(predict(fit,d3))
Je reçois
> prediction
[[1]]
[1] 3
Level: 3
Cependant, lorsque je calcule la probabilité d'obtenir la prédiction prediction <-(predict(fit,d3, type="probs"))
, je reçois le texte suivant:
> prediction
[[1]]
1
0
Ce qui n'a aucun sens car il dit qu'il y a une probabilité de 0. Puisque le modèle que je cours donne une prédiction du CATEGORY
, je ne comprends pas Et pourquoi alors, la probabilité est 0. Est-ce que quelqu'un sait pourquoi je l'obtiens?
Si quelqu'un sait comment je pourrais travailler sur le problème afin que je puisse le résoudre. Merci d'avance.
Pourriez-vous fournir un exemple de jeu de données? – ekstroem
Oui, @ekstroem bien sûr. Considérons le x.sub être le tableau suivant (j'ai modifié pour poster qui pourrait être plus facile à lire): 'POINTID HS_TR SLR Catégorie 19 4 10 3 0.0 20 4 10 4 0,6 21 4 50 3 0.0 22 4 50 0,6 0 23 4 100 0,0 4 24 4 100 0,6 0' – David
David, David, David. Il est si triste de voir une question potentiellement utile gâchée par le fait de ne pas lire les pages d'aide de SO et d'utiliser [edit] pour créer un [MCVE] et de publier des mises à jour dans les commentaires. Je vois aussi 147 résultats pour une recherche avec "[r] nnet predict" et sera tenté de downvote si vous n'améliorez pas la question plus loin. –