Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
SAS, R et génération de données
3 participants
Page 1 sur 1
SAS, R et génération de données
Bonjour à tous,
J'ai un problème étrange et aimerais avoir votre avis.
Je réalise des simulation sous SAS et sous R, et je m'interroge sur les fonctions normal() et rannor() de SAS.
Sous R, si je simule simplement 100 variables N(0,1), la moyenne est inférieure à |10^-4| dès 100 simulations. Avec SAS, il faut environ... 1000000 de valeurs pour un résultat équivalent. Il y a une énorme variabilité avec SAS. Régulièrement, avec 5000 variables, on arrive à des valeurs de 0.02 ou 0.03, certes dans l'intervalle de prédiction, mais qui entraînent au final d'énormes perturbations sur les données simulées, le plan de simulation étant complexe.
Comment expliquer ces différences entre SAS et R, et surtout quelles peuvent être les implications sur les résultats de simulations?
Ayana
J'ai un problème étrange et aimerais avoir votre avis.
Je réalise des simulation sous SAS et sous R, et je m'interroge sur les fonctions normal() et rannor() de SAS.
Sous R, si je simule simplement 100 variables N(0,1), la moyenne est inférieure à |10^-4| dès 100 simulations. Avec SAS, il faut environ... 1000000 de valeurs pour un résultat équivalent. Il y a une énorme variabilité avec SAS. Régulièrement, avec 5000 variables, on arrive à des valeurs de 0.02 ou 0.03, certes dans l'intervalle de prédiction, mais qui entraînent au final d'énormes perturbations sur les données simulées, le plan de simulation étant complexe.
Comment expliquer ces différences entre SAS et R, et surtout quelles peuvent être les implications sur les résultats de simulations?
Ayana
Ayana- Nombre de messages : 550
Localisation : Londres
Date d'inscription : 18/08/2009
Re: SAS, R et génération de données
je prends l'heure courante pour éviter tout problème avec le RNG...
Ayana- Nombre de messages : 550
Localisation : Londres
Date d'inscription : 18/08/2009
Re: SAS, R et génération de données
Désolé, en fait j'ai peut-être proposé une piste alors que tu en savais 10 fois plus que moi, mais quel rapport avec l'heure courante?
Re: SAS, R et génération de données
Quand tu utilises -1 comme graine, SAS utilise l'heure courante comme graine et du coup ça multiplie les chances d'avoir des données vraiment indépendantes. Je fais la même chose avec R, et les résultats sont beaucoup plus stables.
Là j'avoue, je n'y comprends rien...
Là j'avoue, je n'y comprends rien...
Ayana- Nombre de messages : 550
Localisation : Londres
Date d'inscription : 18/08/2009
Re: SAS, R et génération de données
Ayana a écrit:Bonjour à tous,
J'ai un problème étrange et aimerais avoir votre avis.
Je réalise des simulation sous SAS et sous R, et je m'interroge sur les fonctions normal() et rannor() de SAS.
Sous R, si je simule simplement 100 variables N(0,1), la moyenne est inférieure à |10^-4| dès 100 simulations. Avec SAS, il faut environ... 1000000 de valeurs pour un résultat équivalent. Ayana
Et encore... avec 1000000 de valeurs on obtient une précision inférieur à 10^-4 qu'une fois sur 5.
Je ne sais pas comment l'expliquer ; l'algorithme est différent entre les deux logiciels?! mais lequel serait le plus vrai...?
niaboc- Nombre de messages : 1001
Age : 37
Localisation : Paris
Date d'inscription : 05/05/2008
Re: SAS, R et génération de données
Ca me rassure de voir que je ne suis pas la seule à retrouver ça. Sur le forum "officiel" de SAS, ça ne choquait personne... Un des nombreux mystères de SAS. Je n'ai qu'une solution : tous à R!!!!
Ayana- Nombre de messages : 550
Localisation : Londres
Date d'inscription : 18/08/2009
Re: SAS, R et génération de données
Pas compris en quoi ça impliquait un "tous à R" même si je vois Nick avec la banane rien qu'en lisant cela lol!
Bon dans le doute, aussi peu futile que ça peut sembler être, j'aurais tendance à croire SAS et non R car le premier est un logiciel professionnel où chaque code reçoit un aval contrairement au premier où on a pas cette assurance. Et c'est bien pour cela que de nombreuses boîtes investissent énormément d'argent dans ce type de logiciel alors que R est bien plus complet, accessible et surtout gratuit; car avec un logiciel payant tu restes sûr que ton résultat, combien même est-il étrange, est juste.
Mais je l'admet moi-même après pas mal de temps à travailler avec SAS et R en simultané, dés fois je me demande si je continue pas à travailler dans SAS juste parce que la compétence est très demandée sur le marché.
Bon dans le doute, aussi peu futile que ça peut sembler être, j'aurais tendance à croire SAS et non R car le premier est un logiciel professionnel où chaque code reçoit un aval contrairement au premier où on a pas cette assurance. Et c'est bien pour cela que de nombreuses boîtes investissent énormément d'argent dans ce type de logiciel alors que R est bien plus complet, accessible et surtout gratuit; car avec un logiciel payant tu restes sûr que ton résultat, combien même est-il étrange, est juste.
Mais je l'admet moi-même après pas mal de temps à travailler avec SAS et R en simultané, dés fois je me demande si je continue pas à travailler dans SAS juste parce que la compétence est très demandée sur le marché.
Re: SAS, R et génération de données
Je comprends ton point de vue, et c'est ce que je pensais aussi. Mais à force de travailler avec les 2 (le plus souvent pour vérifier les résultats), je trouve justement que R induit plus de confiance. Et comme R est à contribution libre, ça améliore la qualité du logiciel.
Enfin bref, sur 100 000 000 de simulations, tomber assez souvent en dehors de l'intervalle de prédiction, c'est pas très rassurant...
Mais je te rassure, mon "tous à R" était un peu provocateur ;-)
Enfin bref, sur 100 000 000 de simulations, tomber assez souvent en dehors de l'intervalle de prédiction, c'est pas très rassurant...
Mais je te rassure, mon "tous à R" était un peu provocateur ;-)
Ayana- Nombre de messages : 550
Localisation : Londres
Date d'inscription : 18/08/2009
Re: SAS, R et génération de données
Et il est vrai! C'est ça le pire, pour preuve avec le module IML qui permet de faire du R avec du SAS, bref je sais qu'à ma boite ça commence à devenir un sujet sensible, rien que la parallélisation sous SAS et R c'est le jour et la nuit et si seulement ça venait du code... le pire c'est que j'ai jamais filé autant de taff à mon administrateur réseau depuis que je parallélise avec SAS... sous R il avait quasiment rien à faire, sous SAS il doit tout configurer et reconfigurer et rereconfigurer et ect ect ect bref lui-même ma posé la question pourquoi au prix de la licence on a pas tout passé sous R... ben autant te dire que l'argument il l'a trouvé moyennement pourris lol!
Sujets similaires
» génération de séquence
» Generation d'une nouvelle base
» Génération de matrice aléatoire avec condition d'équilibre
» ACM CAH (données qualitatives & grosse base de données)
» Représentativité de données
» Generation d'une nouvelle base
» Génération de matrice aléatoire avec condition d'équilibre
» ACM CAH (données qualitatives & grosse base de données)
» Représentativité de données
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|