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 PHREG : avec fragilité (effet aléatoire) + processus de comptage


Sujet :

SAS STAT

  1. #1
    Membre du Club
    Homme Profil pro
    Statisticien
    Inscrit en
    Août 2014
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Statisticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2014
    Messages : 62
    Points : 63
    Points
    63
    Par défaut PROC PHREG : avec fragilité (effet aléatoire) + processus de comptage
    Bonjour,

    Je fais un modèle de Cox à risque proportionnel.
    Je dois estimer l'hétérogénéité inobservée par l' effet aléatoire paramétré dans la clause RANDOM. Or, avec mon modèle par processus de comptage (j'ai plusieurs lignes par identifiant) la clause RANDOM ne fonctionne pas, je n'ai pas l'estimation de l'ID dans ma sortie (si je mets ID dans classe j'ai une sortie avec tous mes identifiants sans aucune estimation)

    Sinon, quelqu'un saurait comment obtenir au moins l'effet fixe avec ce modèle ?

    Voici mon code pour information :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    proc phreg data=a covs(aggregate) covm ;
    class var1(ref='1') var2(ref='4') var3(ref='2');
    model (start, stop)*var_dep(0)= var1 var2 var3 ;
    RANDOM ID;
    run;
    Dans le log SAS me met que je ne peux pas utiliser Covs(aggregate) avec Random. Comment faire ce modèle avec fragilité ET processus de comptage donc ?

    The Covs(aggregate) option (Proc Statement) is ignored for a frailty model analysis
    The SAS System stopped processing this step because of insufficient memory

  2. #2
    Membre du Club
    Homme Profil pro
    Statisticien
    Inscrit en
    Août 2014
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Statisticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2014
    Messages : 62
    Points : 63
    Points
    63
    Par défaut
    Il faut rajouter l'option / noclprint après la clause RANDOM. Maintenant je n'ai plus mes identifiants qui s'affichent mais je n'ai toujours pas l'estimation de ID (je n'ai plus aucune estimation, ni les tests type III). A la place j'ai ce message d'erreur :

    The SAS task name is [PHREG]
    ERROR: Write Access Violation PHREG
    Exception occurred at (0A7B12CC)
    Task Traceback
    Address Frame (DBGHELP API Version 4.0 rev 5)
    000000000A7B12CC 000000002F5ADC70 sasphreg:tkvercn1+0xD028C
    000000000A7C1ED7 000000002F5ADCD0 sasphreg:tkvercn1+0xE0E97
    000000005DC70675 000000002F5ADCD8 tksnlo:tksnlo+0x4F675
    000000005DC6FEBC 000000002F5ADDA0 tksnlo:tksnlo+0x4EEBC
    0000000006C61EF5 000000002F5ADDA8 sasslobr:tkvercn1+0xEB5
    000000000A7C274B 000000002F5AE1E0 sasphreg:tkvercn1+0xE170B
    000000000A6E13F8 000000002F5AFCB0 sasphreg:tkvercn1+0x3B8
    0000000003068B07 000000002F5AFCB8 sashost:Main+0xF437
    000000000306D13D 000000002F5AFF50 sashost:Main+0x13A6D
    00000000778A59ED 000000002F5AFF58 kernel32:BaseThreadInitThunk+0xD
    0000000077ADC541 000000002F5AFF88 ntdll:RtlUserThreadStart+0x21

  3. #3
    Membre du Club
    Homme Profil pro
    Statisticien
    Inscrit en
    Août 2014
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Statisticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2014
    Messages : 62
    Points : 63
    Points
    63
    Par défaut
    C'était un problème de mémoire. J'ai réduit l'échantillonnage, du coup j'ai pu obtenir les effets aléatoires voulus (idem pour les effets fixes).

    Apparemment SAS n'arrive pas à calculer ces effets pour plus de 25 000 observations.

  4. #4
    Membre éprouvé
    Avatar de Stackware
    Homme Profil pro
    ArchiDuc de la Sasserie
    Inscrit en
    Juillet 2013
    Messages
    439
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ArchiDuc de la Sasserie
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2013
    Messages : 439
    Points : 1 017
    Points
    1 017
    Billets dans le blog
    4
    Par défaut
    Salut,
    En fait, il suffit d'avoir plus de mémoire pour traiter plus de données. La proc est capable de traiter tout ce qu'on lui donne tant qu'elle dispose d'assez de mémoire pour le faire.
    Il existe cependant quelques soucis avec certaines versions : en quelle version de SAS es-tu? Est-ce un serveur ou un pc? Quel est son OS et la quantité de mémoire installée?

  5. #5
    Membre du Club
    Homme Profil pro
    Statisticien
    Inscrit en
    Août 2014
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Statisticien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2014
    Messages : 62
    Points : 63
    Points
    63
    Par défaut
    Bonjour,

    J'ai SAS 9.3 version PC, sous windows7 64, 8 GO de ram, pas de SSD

    J'en ai effectivement conclu que c'était un problème de mémoire. Au delà d'un certain nombre d'observation SAS tourne dans le vide pendant des heures. Sous d'autres versions plus récentes j'avi vu que SAS avait prévu des espèces de "patch".

    En tout cas, le comptage n'est pas pris en compte, même quand je réduis l'échantillon

  6. #6
    Membre éprouvé
    Avatar de Stackware
    Homme Profil pro
    ArchiDuc de la Sasserie
    Inscrit en
    Juillet 2013
    Messages
    439
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ArchiDuc de la Sasserie
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2013
    Messages : 439
    Points : 1 017
    Points
    1 017
    Billets dans le blog
    4
    Par défaut
    En fait, quand Windows n'a plus de mémoire ram disponible, il passe par le fichier d'échange (swap) sur disque pour en simuler. le hic, c'est qu'un disque est en gros 1000 fois moins rapide que de la ram. En disposant d'un fichier d'échange de N Go (suffisant pour traiter toutes les données), tu devrais obtenir un résultat quelques jours ou semaines plus tard. Comme tu as un OS 64 bits, je te conseille de faire ajouter de la mémoire à ton pc (8 Go de ram, aujourd'hui, ne coûtent que quelques dizaines d'€). En fonction de l'OS (7 familial premium peut gérer 16 Go max, les versions pro 192 Go) et des possibilités de la carte mère, il serait possible d'étendre à pas très cher la capacité du pc et obtenir ce que tu veux

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/03/2013, 11h27
  2. Réponses: 4
    Dernier message: 12/05/2006, 19h11
  3. [débutant] problème avec les nombres aléatoires
    Par happylife925 dans le forum Débuter
    Réponses: 12
    Dernier message: 10/03/2006, 15h47
  4. PB proc stock avec like variable %
    Par pseudomh dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 31/03/2005, 11h49
  5. Récupérer 10 nb différents avec un calcul aléatoire
    Par BXDSPORT dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2002, 02h35

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