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 :

ACP: prendre les dimensions pour faire procèdure CANDISC


Sujet :

SAS STAT

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 4
    Points : 5
    Points
    5
    Par défaut ACP: prendre les dimensions pour faire procèdure CANDISC
    Bonjour,

    Étant en vacance, je cherche à faire des exercices pour m'améliorer sur SAS (et autres). Tout simplement parce que je ne suis pas super bon...

    J'ai trouvé un exercice, mais j'ai du mal à le terminer.

    Voila le sujet:
    Avec environ 1000 données (que des données quantitative et une qualitative), je dois faire un échantillonnage stratifié des données à partir de la variable qualitative.
    Puis faire une ACP sur l'échantillon d’apprentissage.
    Avec cette ACP je dois garder les dimensions pour faire une analyse discriminante (et créer un modèle).
    Puis l'appliquer sur l'échantillon test (pour connaitre le pourcentage de bien placé).

    Mon problème est que je n'arrive pas à récupérer les dimensions de l'ACP et faire l'analyse avec.
    Voila mon code:
    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
    16
    17
    ///Générer les échantillon
    PROC SURVEYSELECT DATA=exoplante METHOD=srs OUT=STRATA OUTALL SAMPRATE=0.555 SEED=123;      
    	strata lieu;
    RUN;
    data Apprent Valid;
    	set STRATA;
    	if Selected=0 then output Valid;
    	if Selected=1 then output apprent;
    run;
    ///ACP sur l échantillon d apprentissage
    proc princomp data=apprent plots=score(ellipse) out=acptest;     
    id lieu;
    run;
    ///Prendre les composantes principales: C est la que je bloque.
    PROC CORRESP data=acptest outc=acptest2;
    VAR PRIN1:PRIN8;
    run;
    Quelqu'un à une idée de la manière de faire? Parce que j'ai une erreur. Ma demande de variable est mauvaise?

    A noté que je souhaiterai faire à la suite la procèdure candisc (je ne sais pas si c'est utile à ma question )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PROC candisc data=acptest2;
    class lieu;
    run;
    Voila j'espère que ma question est assez compréhensible.

    Je vous dis merci par avance.

    Bonne journée

    T

  2. #2
    Membre éprouvé
    Avatar de Haache
    Homme Profil pro
    Doctorant & Ingénieur Statiaticien Economiste
    Inscrit en
    Mars 2014
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Canada

    Informations professionnelles :
    Activité : Doctorant & Ingénieur Statiaticien Economiste

    Informations forums :
    Inscription : Mars 2014
    Messages : 349
    Points : 1 009
    Points
    1 009
    Billets dans le blog
    8
    Par défaut
    Bonjour
    Vous voulez parlez des coordonnées factorielles venant de l'ACP ?
    Mais dans votre ACP, il n'y a nul part ou vous avez mis les variables quantitatives qui font l'analyse.
    La requête var est absente dans votre ACP
    • Faites un tour sur mon siteweb professionnel www.aristideelysee.16mb.com Des codes dans la section "media et code" pouvant vous aider que vous pouvez aussi partager sur les réseaux sociaux.
    • Visiter mon blog en cliquant ici! Des techniques, astuces et macros pour l'analyse quantitative.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Effectivement ce n'est pas très compréhensible.

    J'ai bien fait une ACP avec les variables prises en compte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    proc princomp data=apprent plots=score(ellipse) outstat=sala;     
    id Lieu;
    var 1 2 3 4 5 6 7 8;
    run;
    Ensuite je voudrais faire une analyse discriminante (donc plutôt DISCRIM que Candisc) sur les axes de l'analyse factorielle.

    J'arrive à créer une table avec les vecteurs propres.

    Mais j'arrive pas à appliquer la fonction Discrim sur les axes. Le lien entre ma table des vecteurs propres et les données. (Ce qui est logique puisse que je n'ai pas la variable quali sur la table des vecteurs propres).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    proc discrim data=VEC_P;
    class lieu;
    var 1 2 3 4 5 6 7 8;
    run;
    Que faire? Je me trompe de méthode?

    (Désolé du manque de l'explication peu compréhensible)

    Bonne soirée

    T

    edit: j'ai trouvé mes solutions: proc candisc pour l'AFD, et discrim sur les données d'origines.

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

Discussions similaires

  1. Réponses: 21
    Dernier message: 21/11/2016, 22h28
  2. Réponses: 21
    Dernier message: 21/11/2016, 22h28
  3. Où prendre les images pour son site web
    Par valica dans le forum Droit
    Réponses: 1
    Dernier message: 25/08/2008, 21h41
  4. Réponses: 10
    Dernier message: 08/07/2006, 11h12
  5. prendre les dimensions d'une fenêtre
    Par ben_iap dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 07/12/2005, 13h12

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