Je rencontre des problèmes lors de l'utilisation de la fonction polr.polr (..) régression logistique ordinale dans R
Voici un sous-ensemble des données dont je dispose:
# response variable
rep = factor(c(0.00, 0.04, 0.06, 0.13, 0.15, 0.05, 0.07, 0.00, 0.06, 0.04, 0.05, 0.00, 0.92, 0.95, 0.95, 1, 0.97, 0.06, 0.06, 0.03, 0.03, 0.08, 0.07, 0.04, 0.08, 0.03, 0.07, 0.05, 0.05, 0.06, 0.04, 0.04, 0.08, 0.04, 0.04, 0.04, 0.97, 0.03, 0.04, 0.02, 0.04, 0.01, 0.06, 0.06, 0.07, 0.08, 0.05, 0.03, 0.06,0.03))
# "rep" is discrete variable which represents proportion so that it varies between 0 and 1
# It is discrete proportions because it is the proportion of TRUE over a finite list of TRUE/FALSE. example: if the list has 3 arguments, the proportions value can only be 0,1/3,2/3 or 1
# predicted variable
set.seed(10)
pred.1 = sample(x=rep(1:5,10),size=50)
pred.2 = sample(x=rep(c('a','b','c','d','e'),10),size=50)
# "pred" are discrete variables
# polr
polr(rep~pred.1+pred.2)
Le sous-ensemble, je vous ai donné fonctionne très bien! Mais tout mon ensemble de données et certains sous-ensembles ne fonctionnent pas! Et je ne trouve rien dans mes données qui diffère de ce sous-ensemble, sauf la quantité. Donc, voici ma question: Y at-il des limites en termes de nombre de niveaux par exemple qui produiraient au message d'erreur suivant:
Error in optim(s0, fmin, gmin, method = "BFGS", ...) :
the initial value in 'vmin' is not finite
et le message de notification:
glm.fit: fitted probabilities numerically 0 or 1 occurred
(I J'ai dû traduire ces deux messages en anglais afin qu'ils ne soient pas 100% corrects)
Je reçois parfois seulement le message de notification et parfois tout va bien selon le sous-ensemble de mes données que j'utilise.
Ma variable représentant un total de 101 niveaux d'information (et contiennent rien d'autre que le type de données que j'ai décrit)
Il est donc une terrible question que je pose becaue je ne peux pas vous donner mon jeu de données complet et je ne sais pas où est le problème. Pouvez-vous deviner d'où vient mon problème grâce à ces informations?
Merci
101 niveaux est probablement votre problème. Vous n'allez pas tirer beaucoup d'avantages de l'ajustement d'un modèle avec un facteur comme celui-là. Vous devez repenser la façon dont vous organisez vos données. – joran
L'avertissement de 'glm.fit' est expliqué [ici] (http://stackoverflow.com/q/8596160/324364), ce qui explique probablement pourquoi l'optimisation échoue. – joran