Je sais que quelque chose me manque dans ma compréhension de la régression logistique et apprécierais vraiment toute aide.
Autant que je sache, la régression logistique suppose que la probabilité d'un résultat '1' compte tenu des entrées est une combinaison linéaire des entrées, passant par une fonction de logistique inverse. Ceci est illustré dans le code R suivant:
#create data:
x1 = rnorm(1000) # some continuous variables
x2 = rnorm(1000)
z = 1 + 2*x1 + 3*x2 # linear combination with a bias
pr = 1/(1+exp(-z)) # pass through an inv-logit function
y = pr > 0.5 # take as '1' if probability > 0.5
#now feed it to glm:
df = data.frame(y=y,x1=x1,x2=x2)
glm =glm( y~x1+x2,data=df,family="binomial")
et j'obtiens le message d'erreur suivant:
Messages d'avertissement: 1: glm.fit: l'algorithme n'a pas convergé 2: glm.fit: probabilités ajustées numériquement égales à 0 ou 1
J'ai travaillé avec R pendant un certain temps maintenant; assez pour savoir que probablement je suis le seul à blâmer .. que se passe-t-il ici?
Réponses:
La variable de réponse est une variable aléatoire de Bernoulli prenant la valeur avec une probabilité . 1 p r ( i )yi 1 pr(i)
la source
LogisticRegression convient pour l’ajustement si des probabilités ou des proportions sont fournies comme cibles, et pas seulement des résultats 0/1.
Nous avons ici trois cibles potentielles pour la régression logistique.
p
qui est la proportion / probabilité vraie / cible,pnoisy
qui est p avec le bruit normal ajouté dans l'échelle de cotes du journal, etdichot
qui est traité comme un paramètre du PDF binomial et échantillonné à partir de celui-ci. Vous devriez tester les 3 - j'ai constaté que certaines implémentations de source ouverte en LR ne pouvaient pas convenirp
.En fonction de votre application, vous préférerez peut-être pnoisy.
En pratique, vous devez également prendre en compte la manière dont le bruit est susceptible de se former dans votre application cible et essayer de l'imiter.
la source