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 :

Proc NLIN initialisation des coefficients et language macro


Sujet :

SAS STAT

  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2003
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2003
    Messages : 26
    Par défaut Proc NLIN initialisation des coefficients et language macro
    Salut à tous

    mon problème est le suivant
    je souhaite utiliser la proc NLIN et je dois pour celà initialiser les coefficients de mon modèle

    La difficulté vient du fait que j'ai énormément de coefficients
    j'ai vu que sous SAS9.2 on pouvait directement utiliser une table (option pdata) pour les initialiser mais je suis sous sas 9.1 (à mon grand damn, j'aurai économisé un temps précieux)

    j'ai pour l'instant tenté avec du langage macro , je poste mon code avec quelques simplifications, imaginons que les coefficients soient tous initialisés à 1, l'initialisation semble marcher, pourtant il ne semble pas en prendre compte dans le modèle:

    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
    proc NLIN data=&table.;
    parameters		
    	%do jour=1 %to &nombre.;
    		coef_&jour. = 1 
    	%end;
    ;
    
    Mon modèle est un modèle linéaire classique, j'ai j'aurai besoin d'autres options de la proc NLIN, ce n'est pas une erreur de choix de méthode
    
    model réponse = 
    	%do jour=1 %to &nombre.; 		
    		coef_&jour. * variable_&jour. +    
    	%end;
    0;
    run;
    l'erreur est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    NOTE: DER.coefP011_1 not initialized or missing. It will be computed automatically.
    NOTE: DER.coefP011_2 not initialized or missing. It will be computed automatically.
    NOTE: DER.coefP011_3 not initialized or missing. It will be computed automatically.
    ...
    si vous avez des idées pour me dépanner ca serait très sympa de votre part

  2. #2
    Membre Expert
    Homme Profil pro
    Biostatisticien
    Inscrit en
    Juin 2009
    Messages
    1 206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Biostatisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 206
    Par défaut
    salut,

    il semble que ton modèle ne retrouve pas les macros variables coefP011_1 etc...

    D'après ton programme je comprends que tu cherches à retrouver coef_1.. Qui plus es à supposer que tu tu boucles sur trois valeurs, tu aboutiras au statement:

    model réponse = coef_1 * variable_1 + coef_2 * variable_2 + coef_3 * variable_3 + 0;
    C'est bien ce que tu veux?

    D'un point de vue stat, tu indiques que ton modèle est un modèle linéaire classique. pourquoi utilises tu proc nlin?

    Bon courage,

    Manoutz

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2003
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2003
    Messages : 26
    Par défaut
    bonjour,
    désolé de ne pas avoir répondu plus tot ,je n'avais pas le net sous la main

    oui c'est bien le modèle que je veux mais avec la contrainte que tous les coeffs soient positifs, c'est pour ca que j'utilise la proc nlin
    avec une reg linéaire sous contraintes je n'aurai droit qu'à des contraintes d'égalités.

    et pour l'histoire du coefP011 en fait j'ai simplifié le code mais ma variable s'appelle bien coefP011

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2003
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2003
    Messages : 26
    Par défaut
    Je me répond tout seul car j'ai compris pourquoi ca ne marchait pas

    en fait ca marche
    le message d'erreur der.coefP011 signifie que je n'ai pas spécifié la derivée première de la fonction que je minimise par rapport à la variable coefP011

    au final ce n'est pas grace car il peut la calculer tout seul (il prend la somme des résidus au carré)

    je devrai pouvoir m'en tirer maintenant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 03/04/2006, 23h24
  2. [TADOStoredProc] initialisation des paramètres et lancement
    Par zelastwarrior dans le forum C++Builder
    Réponses: 5
    Dernier message: 16/06/2005, 08h43
  3. Réponses: 5
    Dernier message: 17/05/2005, 09h34
  4. Recherche des coefficients d'une matrice 3x3
    Par colorid dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 25/11/2004, 16h52
  5. initialisation des property page
    Par Robleplongeur dans le forum MFC
    Réponses: 3
    Dernier message: 21/04/2004, 10h47

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