Je peux former une régression logistique en R
utilisant
glm(y ~ x, family=binomial(logit)))
mais, IIUC, cela optimise la vraisemblance logarithmique.
Existe-t-il un moyen de former le modèle en utilisant la fonction de perte linéaire ( ) (qui dans ce cas est la même que la distance de variation totale )?
C'est-à-dire, étant donné un vecteur numérique et un vecteur bit (logique) , je veux construire une fonction monotone (en fait croissante) telle que est minimisé.
Voir également
Réponses:
Ce que vous voulez faire n'existe pas car il est, faute d'un meilleur mot, mathématiquement défectueux.
Mais d'abord, je soulignerai pourquoi je pense que les prémisses de votre question sont valables. J'essaierai ensuite d'expliquer pourquoi je pense que les conclusions que vous en tirez reposent sur une mauvaise compréhension du modèle logistique et, enfin, je proposerai une approche alternative.
Je noterai vosnobservations (les lettres les plus audacieuses désignent des vecteurs) qui se trouvent dans l'espace dimensionnelp(la première entrée de x{ ( xXje, yje) }ni = 1 n p est 1) avecp<n, y i ∈[0,1]et f( xXXje p < n yje∈ [ 0 , 1 ] est une fonction monotone de xF( xXje) = f( xX′jeββ) , disons comme lacourbe logistiquepour fixer les idées. Par commodité, je suppose simplement que n estsuffisammentgrand par rapport à p .XX′jeββ n p
Vous avez raison de dire que si vous avez l'intention d'utiliser TVD comme critère pour évaluer le modèle ajusté, alors il est raisonnable de s'attendre à ce que votre ajustement optimise ce même critère parmi tous les candidats possibles, sur vos données. Par conséquent
Le problème est le terme d'erreur : et si nous appliquons E ( ϵϵje= yje- f( xX′jeββ) (nous voulons simplement que notre modèle soit asymptotiquementnon biaisé), alors, ϵ i doitêtrehétéroscédastique. En effet, y i ne peut prendre que deux valeurs, 0 et 1. Par conséquent, étant donné
xE( ϵϵ )=0 ϵje yje , ϵ i ne peut également prendre que deux valeurs:1-f( xXXje ϵje lorsque y i = 1 , ce qui se produit avec la probabilité f ( x1 - f( xX′jeββ) yje= 1 , et - f ( xF( xX′jeββ) lorsque y i = 1 , ce qui se produit avec la probabilité 1 - f ( x- f( xX′jeββ) yje= 1 1 - f( xX′jeββ) .
Ensemble, ces considérations impliquent que:
d'où n'est pas constant mais en forme de parabole concave et est maximisé lorsque xvar ( ϵϵ ) est tel que E ( y | xXX .E( y| Xx )≈.5
Cette hétéroscédasticité inhérente des résidus a des conséquences . Cela implique entre autres que lorsque vous minimisez la fonction de perte , vous surpondérez asymptotiquement une partie de votre échantillon. Autrement dit, le β ajustél1 ne correspond pas du tout aux données, mais seulement à la partie de celles-ci qui est regroupée autour des endroits où xββ∗ est tel que E ( yXX . À savoir, ce sontles points de données les moins informatifs de votre échantillon: ils correspondent aux observations pour lesquelles la composante de bruit est la plus importante. Par conséquent, votre ajustement est tiré vers βE( yy| Xx )≈.5 , p.ex. rendu non pertinent.ββ∗= ββ: f( xX′ββ) ≈ .5
Une solution, comme il ressort de l'exposé ci-dessus, consiste à supprimer l'exigence de non-impartialité. Une façon populaire de biaiser l'estimateur (avec une interprétation bayésienne jointe) est d'inclure un terme de rétrécissement. Si nous redimensionnons la réponse:
et, pour des raisons de calcul, remplacer par une autre fonction monotone g ( xF( xX′ββ) --il sera commode pour la suite pour désigner la première composante du vecteur de paramètretant que c et le reste p - 1 les yg( xx , [ c , γγ] ) = xX′[ c , γγ] c p - 1 γγ | | γγ| |2
la source
Je ne sais pas pourquoi vous voudriez utiliser la perte L1 pour quelque chose contraint entre 0 et 1. Selon votre objectif, vous voudrez peut-être envisager quelque chose comme la perte de charnière, qui est similaire à la perte L1 dans une direction et à plat dans l'autre.
Dans tous les cas, le code ci-dessous devrait faire ce que vous avez demandé. Notez que la réponse optimale est fondamentalement une fonction pas à pas.
la source
Vous pouvez utiliser le package glmnet pour adapter les modèles L1, L2. Il ne se limite pas à la régression logistique mais l'inclut.
Voici la vignette: http://web.stanford.edu/~hastie/glmnet/glmnet_alpha.html
Il existe également un webminar: https://www.youtube.com/watch?v=BU2gjoLPfDc
Liblinear est bon, mais j'ai trouvé glmnet plus facile à démarrer. Glmnet comprend une fonction qui effectue une validation croisée et sélectionne un paramètre de régularisation pour vous en fonction de différentes métriques telles que l'AUC.
Concernant la théorie, je lirais l'article de tibshiarini concernant le lasso (régularisation L1) et le chapitre sur les éléments de l'apprentissage statistique. http://statweb.stanford.edu/~tibs/lasso/lasso.pdf
À propos de la perte de journal, c'est juste pour évaluer les modèles. Ce n'est pas une fonction de perte pour l'ajustement du modèle.
la source