IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

Likelihood différentes dans logLik() et boxcox()


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 9
    Par défaut Likelihood différentes dans logLik() et boxcox()
    J'explique linéairement le prix p d'un logement par ses caractéristiques x (nombre de pièces, surface, proximité d'une école etc.) : reg1<-lm(p~.,x). J'utilise la fonction boxcox(reg1) pour vérifier la linéarité de la relation. Graphiquement (voir image), on choisit une transformation 'racine' reg2<-lm(sqrt(p)~.,x).

    Maintenant, on m'a demandé de tester néanmoins le modèle reg3<-lm(log(p)~.,x). Or, quand je calcule la vraisemblance de ce modèle avec logLik(), je trouve logLik(reg3) > logLik(reg2), ce qui ne devrait pas être le cas puisque boxcox (qui rejette la transformation log) fait appel au maximum de vraisemblance...

    Bref, si quelqu'un peut m'expliquer ce mystère... j'imagine que ce n'est pas la même vraisemblance derrière logLik et derrière boxcox, ce que confirme la doc R.

    Dans boxcox, on a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    loglik <- -n/2 * log(sum(qr.resid(xqr, yt/ydot^(la-1))^2))
    Avec object la régression, <la> la valeur courante de lambda (en vue d'un plot) et yt <- (y^la - 1)/la la transformée de Box-Cox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    xqr <- object$qr
    y <- object$y
    logy <- log(y)
    ydot <- exp(mean(logy))

    En revanche, dans logLik (avec des notations différentes) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    val <- 0.5 * (sum(log(w)) - N * (log(2 * pi) + 1 - log(N) + log(sum(w * res^2))))
    Avec object la régression et w la matrice des poids, qui par défaut est la matrice identité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    res <- object$residuals (object, c'est toujours la régression)
    p <- object$rank
    N <- length(res)
    (on pourra se servir de ça : http://russell.vcharite.univ-mrs.fr/EIE/fchap14.pdf)
    Images attachées Images attachées  

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/10/2004, 17h00
  2. URGENT - Nombre d'enregistrements différents dans une table
    Par Jeankiki dans le forum Bases de données
    Réponses: 6
    Dernier message: 11/08/2004, 15h51
  3. Réponses: 3
    Dernier message: 15/04/2004, 08h44
  4. enregistrer deux variable différente dans un seul champs
    Par developpeur_mehdi dans le forum Bases de données
    Réponses: 7
    Dernier message: 07/03/2004, 23h18
  5. Éléments de couleurs différentes dans un CheckListBox
    Par shogoune dans le forum Composants VCL
    Réponses: 5
    Dernier message: 12/06/2003, 20h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo