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 :

Fonction d'optimisation pour Regression Multilineaire


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Février 2013
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 8
    Par défaut Fonction d'optimisation pour Regression Multilineaire
    Bonjour à tous,

    Je suis actuellement en train de travailler sur un programme me permettant de faire des régression multilinéaires en R, en régressant une variable en fonction de régresseurs que je choisis parmi un univers, qui est fini.

    Le fait est que j'aimerais pouvoir mettre en input tout mon univers, et déterminer les poids optimaux qui maximisent le R2. Cela implique que la fonction choisira d'allouer ou non des poids à certaines de mes variables explicatives.
    J'aimerais également fixer une contrainte qui serait que les poids de mes régresseurs soient positifs, ou nul, le cas échéant.

    Auriez_vous quelque chose de similaire, ou auriez-vous une idée quant à la façon de coder cela ?

    Merci infiniment.

    Georges

  2. #2
    Inactif  
    Profil pro
    " "
    Inscrit en
    Janvier 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : " "

    Informations forums :
    Inscription : Janvier 2008
    Messages : 330
    Par défaut
    Bonjour,

    Tu as combien de variables indépendantes (les X_i), de quels types, ... et combien de variables dépendantes (les y que tu souhaites prédire) ?

    Pourquoi, faire des régressions pondérées ?
    ...


    BC

  3. #3
    Membre du Club
    Inscrit en
    Février 2013
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 8
    Par défaut
    Bonjour à toi, et merci de ta réponse.

    En fait, j'ai 1 variable que je voudrais expliquer par plusieurs autres variables, allant de 2, jusqu'à disons 100.

    Dans l’idéal, j'aimerais donc optimiser les coefficients que me renvoie R, de façon à ce que le R2 de la régression soit maximal, tout en sélectionnant le moins de régresseurs possibles.

    Concrètement, dans le cas le plus extrême, j'aimerais avoir un R2 de 99.99%, en utilisant 1 régresseur seulement.

    Merci

  4. #4
    Inactif  
    Profil pro
    " "
    Inscrit en
    Janvier 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : " "

    Informations forums :
    Inscription : Janvier 2008
    Messages : 330
    Par défaut
    Bonjour,
    Si tu n'a qu'une seule variable à prédire, je pense que c'est faisable avec la fonction lm.
    Pour ce qui est de ton objectif de :
    - avoir le minimum de prédicateurs
    - le meilleur R2 possible
    Je pense que c'est plutôt liée à ta démarche:
    Par exemple, tu peux commencer à faire une analyse des corrélations :
    - Ne garder que les variables fortement corrélées avec ton Y
    - Pour les prédicateurs, s'il y a en deux qui sont fortement corrélées, tu n'en garde qu'une seule
    - Une fois que tu établies ton premier modèle, tu fais des tests pour voir les coefficients non significatifs, tu les vires (les X_i correspondants)
    - Faire des test anova, ou de fisher entre modèles, pour choisir lequel retenir
    - ...

    Pour ne pas raconter peut être plus de bêtises, la meilleur façon d'obtenir de l'aide est de montrer un exemple de ton jeu de données et de ton code (en précisant tes soucis).

    BC

  5. #5
    Membre chevronné
    Inscrit en
    Mars 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 208
    Par défaut
    Tu peux aussi utiliser la méthode stepwise:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    taregression<-lm(var_a_expliquer~.,data=tesdonnees)
    #Fit un modèle de régression multilinéaire sur l'ensemble de tes variables


    #La fonction step utilise une méthode qui évalue pas à pas la qualité de modèles basés sur des sous ensembles de toutes tes variables (?step pour en savoir plus)

    #Elle te renvoie un modèle "synthétique" basé sur l'AIC (et donc sur le R²)

  6. #6
    Membre du Club
    Inscrit en
    Février 2013
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 8
    Par défaut
    Bonjour,

    Pardonnez moi de ma reponse tardive.

    Pour ce qui est de l'etude de correlation en amont, en fait mes variables explicatives ne sont pas independantes, donc je voudrais pas biaiser mon model de base. Je ne l'avais pas precise.

    pour ce qui est de la fonction Step, cela a l'air interessant, je pense que je vais me penser un peu plus la dessus, puisque a priori, c'est ce que je veux. je vais creuser un peu plus.

    Merci encore et bonne soiree.

    Georges

Discussions similaires

  1. lire une fonction f(t) pour la traduire en son
    Par Papou_28 dans le forum Calcul scientifique
    Réponses: 1
    Dernier message: 05/03/2006, 16h43
  2. Réponses: 4
    Dernier message: 13/11/2005, 12h16
  3. Réponses: 8
    Dernier message: 19/10/2005, 15h06
  4. Besoin de routines ASM optimisées pour Delphi
    Par John Fullspeed dans le forum x86 32-bits / 64-bits
    Réponses: 11
    Dernier message: 08/12/2004, 21h00
  5. Réponses: 1
    Dernier message: 22/11/2004, 10h46

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