Ateliers r à Nanterre

https://cran.r-project.org/web/packages/ggridges/vignettes/gallery.html

Enfin, les choses prennent forme et n’occuperons plus ces pages. D’essai en essai, jouant avec r, je maîtrise enfin les carnets de recherche en Markdown : réunir sur une page, les données, le code, les résultats et leurs analyses … et satisfaire aux nouvelle exigence de la “reproducibility” .

Je n’aurais plus besoin d’encombrer le blog de longues pages souvent techniques, et il sera temps de revenir à l’actualité et aux tendances de la société de consommation. Revenir aux évolutions du marketing, et à la réflexion sur le rôle des technologies dans l’organisation des marchés.

En voici les deux premiers qui nourrissent les cours et ateliers que j’anime cette année à Nanterre et ailleurs, ils sont localisé sur le sous-domaine r.benavent :


Master Marketing – modélisation pour le marketing

Objectif : rédiger une note de deux pages présentant une méthode d’analyse en marketing et utilisant des ressources r. Elle sera, si très satisfaisante, ajoutée à tex2r.

Elle sera rédigée en markdown (format d’export html) dans Rstudio. Elle comprend donc le texte explicatif, le code, et ses résultats. On y attachera le jeu de données.

Epreuve alternative : reprendre le document <AnalyseValeurs.rmd> (markdown) et compléter l’analyse sur l’un ou l’autre des points abordés ( commentaire, code supplementaires , variables additionnelles). Son résultat est disponible dans le fichier <AnalyseValeurs.pdf >

On utilisera aussi un échantillon de données (n=~35000) de la base European Social Survey ( vague 8) en particulier les questions relatives au bien-être, à la confiance, et aux valeurs ( Schwartz) . Les éléments de travail se trouvent ici.
Méthodes utilisées dans l’étude de cas :
  1. Analyse univariée avec r avec Rmcdr
  2. Analyse bivariée : Test du chi², analyse de variance, corrélations, … avec Rmcdr
  3. Analyse graphique avec ggplot
  4. Analyse factorielle (ACP, fa, … analyse confirmation, cronbach)
  5. Classification automatique ( ward, Kmeans)
  6. Régressions (simple, multiple, logit, multinomiale)
  7. Structural Equation Modeling

Date rendu : 10 janvier 2019

Sujets :

  • Réaliser un Treemap
  • Appliquer une méthode d’arbre de décision
  • Utiliser stargazer pour comparer plusieurs modèles emboités
  • Appliquer une analyse MDS pour l’étude du positionnement de marques
  • Créer un chloropleth sur les département français, ou commune d’un agglo.
  • Réaliser une analyse de survie dans un fichier client.
  • Corelogram :  questionnaires : Satisfaction, effort, confiance, engagement, recommandation.
  • Analyse de réseau ( igraph) avec techcrunch

 

Master Management de l’Innovation GDO/MOPP – Méthodes quantitatives pour la recherche en gestion

L’objectif du cours est de donner une culture quantitative élargie aux étudiants, leur laissant le soin d’approfondir les méthodes qui pourraient être utilisées dans le cadre de leurs projets de recherche.
Il est aussi de le donner le sens critique nécessaire pour évaluer les protocoles employés dans la littérature courante de gestion. Il est dispensé aux étudiants du Master Management de l’Innovation parcours MOPP et GDO.
L’environnement est le langage r avec le package Rcmdr et  rstudio qui sont à installer au préalable. On trouvera un manuel d’initiation ici  et pour la culture générale on encourage à suivre r-blogger.
On travaillera sur un cas issu du mémoire de Master Marketing de Pauline Vautrot qui a fait l’objet d’une publication. Il porte sur l’effet des preuves de transparence sur l’évaluation d’un moteur de recommandation. Les éléments se trouve sur le dossier google drive.
On utilisera aussi un échantillon de données (n=~35000) de la base European Social Survey ( vague 8) en particulier les questions relative au bien-être, à la confiance, et aux valeurs ( Schwartz) . Les éléments de travail se trouvent ici.
  1. Analyse univariée avec r
  2. Analyse bivariée : Test du khi², analyse de variance, corrélations, …
  3. Analyse factorielle (ACP, fa, … analyse confirmation, cronbach)
  4. Classification automatique ( ward, Kmeans)
  5. Régressions (simple, multiple, logit, multiniveaux)
  6. Structural Equation Modeling

On explorera les principes d’analyses textuelles avec le cas des hôtels de Tahiti et le blog tex2r

Evaluation : au choix : une étude statistique menée avec r, ou l’exposé synthétique d’une méthode (en 4 pages). C’est un travail individuel. A rendre pour le 30 Janvier 2019.

Quelques idées de sujet :

  • Analyse conjointe et modèle de choix ()
  • Modèle de croissance ( SEM)
  • Méthode de la différence des différences (causalité)
  • Modèle de régression avec variable instrumentale ( causalité)
  • Modèles VAR ( économétrie, causalité) : avec une belle application pour l’analyse des effets croisés des médias sur les ventes.
  • Modèle linéaire hiérarchique et analyse multi-niveaux ( économétrie)
  • Mesure des attitudes implicites (Échelle), en se concentrant sur les travaux du Project Implicit
  • Machine learning et catégorisation de document en explorant les solutions proposées par MonkeyLearn pour la catégorisation.
  • Analyse des rendements anormaux (finance) ou event Analysis. Une application à l’effet des surprises ( positives ou négatives) est un très bon point de départ.
  • Régression avec auto-corrélation spatiale ( économétrie). Pour une introduction cette application en marketing en donne une très bonne idée.
  • Modélisation multi-agent appliquée au sciences sociales en passant par l’étude des modèles standard de Netlogo.
  • Analyse des réseaux sociaux ( Réseaux)
  • Data visualisation : de la grammaire des graphes à l’inventaire des solutions créatives en passant par l’ergonomie ou la psychologie.
  • Tests d’équivalence structurelle et comparaison inter-culturelle
  • ….

des lectures en voici un florilège.

Les séances ont lieu les mardi de 18h00 à 20h30 à l’Ecole des Mines de Paris (Luxembourg) – Pour poursuivre voir aussi l’Atelier Doctoral.

 

Atelier doctoral : r pour la recherche en sciences sociales

L’objectif de l’atelier, organisé dans le cadre des enseignement de l’ED EOS,  est la prise en main de r au travers de l’interface graphique Rcmdr  de Rstudio et du markdown.

Il s’agit aussi de découvrir la communauté r et ses ressources en 4 séances de 3 heures : décrire, expliquer, modéliser.

Public visé et pré requis : Doctorants et autres chercheurs. Connaissance des tests statistiques et autres statistiques élémentaires. Une habitude de SAS ou SPSS fera du bien.

Les participants doivent installer Rstudio au préalable. l’interface pour démarrer est Rcmdr, c’est le premier package à installer au préalable.

Calendrier de la formation (période de l’année): 19 et 20 décembre 2018  et 21 janvier 2019 (9h30-12h30 : 13h30-16h30) – Lieu : Université Paris Nanterre Bat A 3ème étage salle 304 ou 305)

Inscription : envoyer un CV à christophe.benavent@gmail.com avant le 10 décembre. – nombre maxi d’inscrits : 15.

Programme

Le jeu de donnée utilisé provient de l’European Social Survey. On s’intéressera en particulier aux liens entre bonheur, confiance et valeurs des citoyens européens : on trouvera ici les données, et là  le fichier markdown.  Les résultats peuvent être consultable sur cette page.

    • 1 : l’environnement r: communauté, packages, langage et prise en main  avec Rcmdr. Comparaison de moyennes, corrélation, représentation graphique avec ggplot (pour des exemples voir ici ou )
      • 2 :  Clustering  ( package Ape, dendro…) et analyses multidimensionnelles ( AF, AFC, MDS)
      • 3 : Régression avec r: des MCOs au modèle linéaire généralisé (Logit, Poisson, etc) (package lme4, Stargazer pour des présentations standardisées.
    • 4 : Échelles de mesure et équations structurelles avec Psych et Lavaan : on traitera notamment de l’influence de la confiance sur le bien être.
  • Une session supplémentaire le 21 janvier sera consacrée au text mining

ECTS : la participation au séminaire donne droit à 3 crédits.

Ressources :

    •  r blogger : un meta blog centré sur r , très riche en exemple et application.
    •  StackOverflow : plateforme de Q&A pour les développeurs, r y est fréquemment mis en question
      • PS : un cours similaire est donné dans le cadre du Master Management de l’innovation GDO/MOPP.
    • La doc de ggplot2, le package des graphiques élégants.

Crédit Photo : comme souvent l’excellent Jeff Safi

#Sondages : En attendant l’élu

macron04Chaque jour amène son lot de sondages suscitant plus d’interrogations que de conclusions.

Pour le spécialiste des données c’est un merveilleux bac à sable, surtout quand la foule s’attache à en maintenir l’inventaire comme le fait Wikipédia.

Ce sont les données avec lesquelles nous allons nous amuser après avoir fait un peu de nettoyage et de mise en forme. Quelques jeux avec ces packages rares et précieux qui font de r une planète à explorer, une caverne d’Alibaba, un supermarché magique du nombre.

En voici une visualisation pour les 6 principaux adversaires en termes d’intention de vote. Les données sont représentée séquentiellement en fonction du temps. Les aspérités correspondent aux jours où plusieurs sondages ont été publié le même jour. On a lissé les données sur une fenêtre de 3 jours de manière exponentielle (lambda=0,5).

évolution sondage pdt2017

Macron et Le Pen sont aux coudes à coudes, Fillon est largué et semble à peine retrouver de l’air pour respirer, Hamon s’effondre avec une belle détermination, Mélanchon surgit et s’accroche à la roue de vélo de Fillon – allez encore un coup de mollet, l’autre est cuit- , Dupont Aignan s’accroche, avec un peu d’effort il sera peut être remboursé – il pique des coups de bec dans la carcasse c’est de Fillon.

Un premier jeu est naturellement celui du pronostic. Depuis les travaux de 538 les méthodes d’analyses évoluent et se sont ouvertes aux méthodes bayésiennes. Voici en quelques lignes une méthode pour établir un pronostic. Du moins une esquisse de ce qu’on pense être ce qui est utilisé par les spécialistes qui ne donnent pas toujours beaucoup de détails sauf @freakonometrics que signale @bayesreality. Les valeurs initiales sont les moyennes des trois derniers sondages publiés au 11/04/2017.

L’idée principale est que les sondages nous donne moins un résultat qu’une information a priori, lecture est insuffisante pour établir le pronostic. Celui-ci doit prendre en compte la variabilité inhérente aux sondages et fournir une idée plus précise des distributions associées. L’utilisation d’un modèle de distribution de probabilités est indispensable, il servira à générer un grand nombre de variantes possibles à partir de  cette première donnée. On simulera 100 000 échantillons pour saisir les configurations les plus inattendues.

Dans le cas d’un premier tour d’élection le bon modèle est celui de Dirichlet. Les résultats du sondage servent de probabilité a priori dans une perspective bayésienne. Pour estimer plus précisément le modèle, on peut  inclure aussi compte le nombre de répondant qui détermine la dispersion des probabilités de choix. Dans notre cas nous choissisons un paramètre de 250, pour tenir compte qu’empiriquement les échantillons utilisés sont deux fois moins précis que ce que la théorie pronostique. Avec r ceci se traduit par peu de lignes.

set.seed(789)
N <- 100000
probs <- c(.233 , .238, .187, .181, .092, .037 )    # define (extremal) class probabilities#alpha0 = 250  -> pour tenir compte de l’erreur réelle, on divise par 4 l’échantillon moyen utilisé car on l’stime au double des valeurs théorique.
alpha0 <- 250
alpha <- alpha0*probs
alpha <- matrix( alpha , nrow=N , ncol=length(alpha) , byrow=TRUE  )
alpha
x <- dirichlet.simul( alpha )

Les résultats sont donnés dans les deux diagrammes suivants. Le premier donne la distribution des probabilités de choix pour chacun des candidats, le second la distribution de probabilité d’arrivée en tête. Seul deux candidats ont une chance, sur la base des trois derniers sondages, Marine Le Pen a une toute petite avance sur Macron.

Naturellement ce qui interroge d’abord c’est la dynamique des hésitations et le jeu des reports. Qui prend à qui? L’analyse des corrélations peut nous donner une première idée. On y notera la nette corrélation négative entre les intentions de vote pour Hamon et Mélanchon – la piscine se vide- , tout autant qu’un lien positif entre celle pour Mélanchon et de manière surprenante pour Dupont-Aignan? Est-ce l’axe souverainiste? Pour Macron le point intéressant est qu’il est peu lié aux autres, il n’attire pas de camp particulier – sauf celui des modernes de tout les camps! à l’exception de Hamon – la piscine se déverse dans un second bassin. Fillon et Le Pen se déchirent ce qui reste de l’électorat de droite.

L’analyse de ces corrélations doit être prudente car elle suppose qu’elles restent stables dans le temps.

L’étude de cette dynamique va nous fournir un troisième jeu. A cette fin on utilise le package Roll de r et sa fonction roll_corr. Il s’agit de calculer une corrélation glissante en fonction du temps, selon une fenêtre d’observations ( ici 16 j) et une pondération exponentielle (0,9). 8 des 15 couples figurent dans la diapo 3.

Ces corrélations sont intéressantes, mais se lisent difficilement. Un premier résultat est la forte fluctuation des corrélation qui passent du positif au négatif, seraient-elles ératiques?  Le cas Hamon Melanchon est le plus clair, la corrélation devient de plus en plus négative, indiquant le sens de la conversion : Mélanchon monte de plus en plus parce que Hamon lui fournit ses bataillons. DAns tout les cas il n’y a pas de stabilité dans le temps, les rapports de forces varient, passe d’un pivot à l’autre.

Puisqu’il s’agit d’une matrice de corrélation on peut l’analyser avec une  ACP toute aussi glissante que nos corrélations, c’est une ACP dynamique. Le même Package Roll nous fournit la solution avec une fonction très simple Rool_eigen

—–
Corollb<-roll_eigen(Coroll, 20, min_obs = 1)
—–

On produit ainsi une série d’Acp pour chaque élément de la séquence des sondages. En voici ci dessous des exemples à t=20,40, 50,70. On peut y lire les moment de la campagne. Pour son moment le plus récent on voit clairement l’attraction de Mélanchon s’exercer sur toute les factions. Le début de campagne était plus classique dans une opposition des forces de droite et de gauche.

Il y a encore beaucoup de jeux possibles. Et nos codes sont faits à l’arrache. Une chose est sure, la statistique gagne avec ces élections, jamais on a autant calculé, et jamais on a été autant surpris. C’est que les structures de vote deviennent plus subtiles, et demandent des méthodes plus fines, plus riches, plus interprétative.

Nous n’avons pas été au bout de l’excercice, nous n’avons pas combiné les deux tours. Nous n’avons pas exploré toutes les régularisations possibles de nos modèles. Nous voulions juste inviter le lecteur à explorer les nouvelles ressources des DataSciences pour comprendre plus que pour prévoir les ressorts d’une élection à la présidence.

PS: et si quelqu’un a envie de faire du code propre, le mien est crasseux. Le tableau de donnée et le script r sont à disposition. Just mail me.

 

 

 

 

Méthodes : Analyse textuelle automatique

L’analyse de contenu couvre un champs vaste qui s’est élargi avec la multiplication des matériaux à analyser. D’abord du texte, celui produit pars les entretiens sociologiques où des textes littéraires, puis des matériaux visuels tels que la photos et la vidéo, de plus en plus des matériaux codifiés tels que ceux que l’on trouve en abondance sur le web.

Sur le plan du contenu, ces analyses évoluent du niveau lexical au niveau sémantique, et suivant les progrès de l’informatique linguistique, offrent des possibilités nouvelles.

Des logiciels :
  • Pour la gestion élargie des contenus ( vidéo, photos, focus grous, entretien) Nvivo8 est un must.
Livres

Une synthèse et de bonnes références frédéric Garcias, abdelouahab Yagoubi et vincent révellière.