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

SAS STAT Discussion :

Estimation des coefficients - moindre carrés


Sujet :

SAS STAT

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 4
    Par défaut Estimation des coefficients - moindre carrés
    Bonjour,

    j'ai utilisé une boucle pour créer une table contenant des 50-échantillons aléatoires de deux variables W et Q.
    Comment puis-je estimer la formule (les coefficients de Q=aW+b) par la méthode des moindres carrés sur SAS ?
    Suis-je mieux de passer par la proc iml et de transformer mes résultats en vecteurs ? Et comment faire pour en arriver à la formule ?
    Sinon, y a-t-il méthode plus efficace ? merci

  2. #2
    Membre confirmé Avatar de Clairant
    Homme Profil pro
    Doctorant en économie (UdeM), Ingénieur Statisticien Economiste
    Inscrit en
    Mars 2015
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant en économie (UdeM), Ingénieur Statisticien Economiste

    Informations forums :
    Inscription : Mars 2015
    Messages : 79
    Par défaut
    Bonjour,
    oui j'essaie de comprendre votre préoccupation mais j'y arrive pas. Prenez un petit exemple avec quelques données, cela permet de vous dire l'outil le mieux adapté à votre problème. Sinon "proc reg" permet d'obtenir l'estimateur des Moindres Carrés Ordinaires (MCO).

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 4
    Par défaut
    Désolé de la confusion. Je crois que j'ai essayé de poser trop de questions en même temps.
    Voici mes variables :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    data varuniforme;
    	call streaminit(5159362);
    	do i=1 TO 50 ;
    		W=-5+10*rand("Uniform");
    		e=rand("Normal", 0, 0.25);		
          	output;
      	end;
    run ;
     
    data variablesWQ;
      set varuniforme;
      Q= 2*W+1+e;
      keep W Q;
    run;

    Je veux, à l'aide d'un code dans SAS, estimer les coefficients du modèle linéaire par la méthode des moindres carrés, c.a.d trouver a et b tels que Q= aW+b.
    J'espère que ceci clarifie ma question!

    Edit : Ma 2e question était : d'un point de vu d'efficience, est-ce que j'aurais pu créer ces variables aléatoires d'une autre façon (par exemple, sous forme de vecteurs avec une proc iml?) pour sauver du temps d’exécution dans le calcul des données et dans l'estimation des coefficients du modèle linéaire ? Si oui, de quelle manière? Un exemple de code serait apprécié, merci beaucoup!

  4. #4
    Membre confirmé Avatar de Clairant
    Homme Profil pro
    Doctorant en économie (UdeM), Ingénieur Statisticien Economiste
    Inscrit en
    Mars 2015
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant en économie (UdeM), Ingénieur Statisticien Economiste

    Informations forums :
    Inscription : Mars 2015
    Messages : 79
    Par défaut
    tu peux essayer pour la première question d'écrire simplement ce code ci-dessous :

    proc reg data=variablesWQ outest=Tabestimation tableout; * outest te renvoit le tableau d'estimation et tableout y ajout les intervalles de confiances paramètres ;
    title 'Régression de Q sur W ';
    WQ: model Q= W;
    run;
    Par rapport à la possibilité de proc iml. Je pense que c'est bien possible. J'essaie de te voir ça.

  5. #5
    Membre confirmé Avatar de Clairant
    Homme Profil pro
    Doctorant en économie (UdeM), Ingénieur Statisticien Economiste
    Inscrit en
    Mars 2015
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant en économie (UdeM), Ingénieur Statisticien Economiste

    Informations forums :
    Inscription : Mars 2015
    Messages : 79
    Par défaut
    Voici le code de la proc IML

    /* proc iml */
    %let N=50;
    proc iml;
    call randseed(4321);
    W=j(&N,1);
    e=j(&N,1);
    call randgen(W,"uniform",-5,5); /* créer la variable W */
    call randgen(e,"normal",0,0.25); /* générer e */
    Q= 2*W+1+e; /* créer la variable Q */
    Z=W || j(&N,1,1);
    T=inv(Z`*Z)*Z`*Q; /* estimation des paramètres de MCO */
    print T; /* affichage à l'écran des paramètres (a b) */
    quit;


    Par ailleurs, je ne vois pas pertinent cette approche d'iml car la proc Reg te fournit une panoplie de résultat ce qui nécessitera beaucoup de code si on devrait le faire avec proc iml. En outre, le modèle est mal spécifié je pense vu la construction de ta variable expliquée ou dépendante.
    Bon courage.

Discussions similaires

  1. Réponses: 0
    Dernier message: 15/03/2015, 22h40
  2. Réponses: 0
    Dernier message: 20/08/2013, 14h29
  3. Réponses: 2
    Dernier message: 24/12/2011, 10h46
  4. Methode des moindres carrées
    Par 77Camille dans le forum Mathématiques
    Réponses: 2
    Dernier message: 11/06/2007, 18h40
  5. Détermination d'un plan des moindres carrés
    Par bernard6 dans le forum MATLAB
    Réponses: 8
    Dernier message: 05/04/2007, 16h23

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