Conférencier
|
Transcription
|
| Jeff Perkinson |
Lorsqu'il s'agit de développer des fonctionnalités JMP, John Sall, notre prochain intervenant, a une façon intéressante de penser à nos priorités. Nous devons prioriser les fonctionnalités que nous... |
| |
dans quelles fonctionnalités nous voulons investir. Alors, comment pensons-nous à ce qui est le plus important ? Les fonctionnalités qui rendent notre produit plus puissant sont-elles sur lesquelles nous devrions travailler ? |
| |
Qu'en est-il des fonctionnalités qui le rendent plus attrayant ou plus sexy ou des fonctionnalités qui se concentrent sur le soulagement de la douleur, allégeant le fardeau de l'analyse ? |
| |
Eh bien, John pense que le soulagement de la douleur devrait être la principale motivation de notre équipe R&D. John est le co-fondateur de SAS. Il est l'architecte principal de JMP, qu'il a fondé il y a plus de 30 ans. |
| |
Pour les scientifiques et les ingénieurs qui ont des données et qui ont besoin d'un moyen de les explorer, ils ont besoin d'un moyen de les explorer facilement visuellement sur le bureau. |
| |
Il parlera des moteurs du développement de JMP et de la façon dont nous rencontrons les fonctionnalités sur lesquelles nous souhaitons travailler. Sur ce, j'aimerais vous souhaiter la bienvenue, John. Merci. |
| Jean Sall |
Merci Jeff. Et nous voici en direct du nouveau centre de conférence numérique de Cary en Caroline du Nord, où nous pouvons accueillir beaucoup plus de monde. |
| |
Alors baissons un peu les lumières. |
| |
Eh bien, je ne suis pas vraiment ici dans un centre de conférence numérique. Je suis vraiment chez moi. J'ai donc un bureau à domicile. Oups. Pas celui là. |
| |
Comme nous tous. Je suis à la maison, donnant cette conférence. Mais passons à un contexte d'entreprise et commençons. |
| |
Alors de quoi dois-je parler ? |
| |
Eh bien, lorsque nous avons des versions JMP, les années où la conférence s'allie aux versions JMP, c'est de cela que nous parlons, mais les années alternatives, je choisis toujours un sujet. J'ai donc choisi de grandes statistiques une année, ou des données fantômes l'année suivante ou des fonctionnalités secrètes |
| |
il y a deux ans. Aujourd'hui, mon sujet porte sur les gros mots qui commencent par la lettre A. |
| |
Eh bien, ce sont des mots qui caractérisent les thèmes pour le développement de JMP. Alors laissez-moi partager mon écran. |
| |
Et |
| |
minimiser |
| |
ici. Partager. |
| |
Alors, quel thème est le plus important ? Et voici les trois mots qui commencent par... les gros mots qui commencent par la lettre A. |
| |
Comme Jeff vient de le mentionner, le premier est anabolique. Eh bien, les anabolisants consistent à développer des muscles, ce qui rend JMP plus puissant. |
| |
Les processus anabolisants construisent des organes et des tissus et ces processus produisent la croissance et la différenciation des cellules pour augmenter la taille du corps. |
| |
Augmenter la puissance de JMP serait donc l'opportunité et c'est bien sûr très important, mais la prochaine |
| |
aphrodisiaque, rendant JMP plus sexy, plus excitant, le frisson de la découverte. Nous voulons donc que ce soit aussi un attribut. |
| |
Mais nous nous soucions également de vos progrès pendant le flux de travail, donc analgésique est le troisième mot, et cela signifie soulagement de la douleur. |
| |
soulagement de la douleur. |
| |
Donc, je veux que les gens expriment des choses comme les citations imaginaires suivantes, \!"La version 15 vient de me servir... m'a fait gagner des heures voire des jours de travail sur lesquels je devais travailler.\!" C'est beaucoup de soulagement de la douleur. |
| |
Ou \!"Avant, je devais faire chacun individuellement et maintenant tout est d'un seul coup.\!" Beaucoup de soulagement de la douleur là-bas. Ou \!"Auparavant, je devais utiliser plusieurs autres outils pour tout faire, mais maintenant je peux tout faire dans JMP.\!" |
| |
Ou \!"J'ai montré à mes collègues comment je le faisais si facilement. Et ils ont été stupéfaits.\!" Ou \!"Avant, je devais programmer tout cela manuellement, et maintenant c'est juste quelques clics de souris et c'est fait.\!" |
| |
Ou \!"JMP me maintient dans le flux, gardant mon attention sur l'analyse des données plutôt que de trop les détourner vers des détails opérationnels.\!" Ce sont les expressions de soulagement de la douleur que nous voulons entendre. |
| |
Maintenant pourquoi la douleur et la frustration sont de vrais démotivateurs. Le débit est important. Vous n'êtes pas distrait lorsque vous êtes en flux. Lorsque vous êtes en flux, vous êtes plus susceptible d'apprendre quelque chose des données et de faire des découvertes. |
| |
Maintenant, l'autonomisation est également importante, mais les nouvelles fonctionnalités ont tendance à être utilisées par seulement quelques-uns et les anciennes fonctionnalités par beaucoup. Nous voulons donc améliorer le fonctionnement des anciennes fonctionnalités |
| |
pour réduire la douleur liée à leur utilisation. Et bien sûr, la productivité dépend énormément de l'efficacité de nos outils par rapport à l'utilisation du temps. Donc, si nous pouvons faciliter et accélérer l'obtention des résultats, c'est une énorme victoire. Passons donc en revue de nombreux exemples. |
| |
Tout d'abord, les scripts qui accompagnent les tables de données. Vous voyez donc ici côte à côte un exemple d'une version antérieure de JMP. Je pense que c'est JMP 14 ou 13, où |
| |
où vous deviez maintenir la touche de la souris enfoncée sur ce bouton, puis cela faisait apparaître un élément de menu, puis vous trouviez un bouton d'exécution pour exécuter ce script. |
| |
Mais la nouvelle méthode n'a qu'un bouton de lecture juste à côté du script. Il vous suffit donc de cliquer sur ce bouton de lecture et cela évite de dérouler un menu. |
| |
Eh bien, ce n'est pas une énorme victoire, vous pensez que la différence entre cliquer sur un bouton et dérouler un menu n'est pas très grande. Mais c'est aussi une grande victoire pour les nouveaux utilisateurs, car les nouveaux utilisateurs n'ont plus à comprendre |
| |
qu'un bouton chaud aura une course en dessous. Mais il y a le bouton de lecture juste là avec le script. Et donc il y a une meilleure compréhension que ce sont des scripts. |
| |
Et la possibilité de stocker des scripts avec vos données est un gros problème dans JMP et nous voulons que les gens l'apprennent tout de suite |
| |
et ne pas avoir à pêcher autour de deux ou à regarder une astuce pour apprendre que c'est comme ça. Et c'est très pratique de pouvoir stocker tous vos scripts |
| |
dans la table de données elle-même et ne pas trouver d'autres endroits pour les stocker. Donc, pour les nouveaux utilisateurs, le bouton de lecture. Donc, c'est un soulagement de la douleur juste dans ce simple changement. |
| |
Et c'est un changement que nous regrettons de ne pas avoir fait beaucoup plus tôt dans JMP. |
| |
Parlons de la préparation des données. Et l'une des grandes choses que vous devez faire lorsque vous préparez des données est de joindre des données provenant de plusieurs sources. |
| |
Désormais, JMP, même à partir de la première version, devait rejoindre l'utilitaire. Mais cela implique toujours un dialogue complexe et le travail avec plusieurs tableaux de données. |
| |
Voici donc l'exemple classique où je loue des films et nous avons notre table de transactions de location de films |
| |
qui a le client, le numéro d'article, la date de commande, l'année de commande, puis nous avons notre inventaire de films à louer, des détails sur chaque film. Et puis nous avons les clients... des informations sur les clients et ainsi de suite. Et nous voulons poser des questions, impliquer les trois tables comme |
| |
quels genres sont répandus dans quels genres de films. Eh bien, cela implique |
| |
en passant par les trois tables, et bien sûr, la commande join est le moyen de le faire. Je prends les données des transactions et je |
| |
le fusionner avec les clients. Et bien sûr, l'ID client correspond |
| |
colonne et je veux inclure les non correspondances du côté de la transaction. Donc, si je n'ai pas de données client, je ne perds toujours pas mes données de transaction. Et c'est ce qu'on appelle la jointure externe gauche, et cela fait donc la nouvelle table de données. Et maintenant à cette table de données, je veux rejoindre ça |
| |
aux données d'inventaire. Donc, je joins cela par le numéro d'article que je correspond alors et que je veux aussi une jointure externe gauche et maintenant j'ai |
| |
un autre tableau. Et donc maintenant, au lieu d'avoir trois tables, j'ai cinq tables, les résultats de cette jointure, mais maintenant je peux chercher à répondre à la question du genre par genre, qui |
| |
le genre a tendance à louer plus de quel type de film. |
| |
Et impliquait également de créer toutes ces nouvelles tables de données intermédiaires. |
| |
Il s'avère qu'il y a beaucoup plus de chemin à parcourir et que la douleur de ces étapes supplémentaires et de ces tables supplémentaires peut être considérablement réduite. Alors laissez-moi défaire cette table sur cette table. |
| |
Et je tiens à souligner sous la commande tables, il y a une commande appelée JMP query builder et cela fait apparaître la fonction de suite |
| |
pour joindre des tables, c'est beaucoup plus facile que tous ces dialogues de jointure, mais cela crée également une nouvelle table de données. |
| |
Mais il y a quelques versions, nous avons sorti quelque chose d'encore meilleur qui réduit encore plus la douleur et c'est la jointure virtuelle. Donc, si je regarde cette table de transactions, |
| |
J'ai remarqué qu'il est déjà joint. |
| |
Donc, ce qui s'est passé, c'est que lorsque j'ai préparé le, le tableau d'inventaire des films, il est identifié de manière unique par le numéro d'article. Et donc je donne le numéro d'article alors |
| |
un ID de lien indiquant qu'il est identifié de manière unique par cela et c'est ainsi que je peux indexer cette table. Et de même, j'ai un ID d'article pour identifier les données client. Et quand je prépare mes données de transaction, j'ai ces deux-là, en quelque sorte des clés étrangères, |
| |
une référence de lien et il fait référence à différentes tables de données par le, le... l'identifiant d'identification à travers eux. Et donc, il le relie automatiquement et j'ai déjà tout ce dont j'ai besoin pour répondre à cette question. Donc je peux faire |
| |
pour chaque |
| |
sexe, je peux |
| |
trouver le genre du film que je veux faire. Et donc je peux voir ici que les films d'action sont plus appréciés par les hommes et les films familiaux par les femmes et |
| |
rom com plus par les femelles et ainsi de suite. J'ai donc répondu à ma question impliquant trois tables sans avoir besoin de passer par toutes les jointures, car elle est virtuellement jointe en faisant correspondre ces colonnes d'ID sur les tables. |
| |
Alors j'ai fait |
| |
beaucoup de soulagement de la douleur de cela. Alors fermons ça, en fait. |
| |
Donc, la jonction de tables de données a impliqué, je pense, beaucoup de soulagement de la douleur au fil des versions. |
| |
Recodage, |
| |
c'est l'une des principales autres choses que nous faisons lorsque nous préparons des ensembles de données. |
| |
Nous avons commencé avec un recodage très simple il y a de nombreuses versions où nous avions juste un champ pour l'ancienne valeur et la nouvelle valeur et la nouvelle valeur a été démarrée avec la même chose que l'ancienne valeur, puis je peux couper et coller ou modifier ces valeurs dans ordre de recoder |
| |
dans une nouvelle colonne ou la colonne existante. |
| |
Et recoder chaque version a subi des améliorations spectaculaires et nous sommes très heureux de l'état actuel de cela. Et regardons donc cet ensemble de données d'hôpitaux, d'hôpitaux de district. Et maintenant, recoder est juste sur le |
| |
bouton droit ou menu contextuel dans l'en-tête de colonne. Et je peux traverser et juste |
| |
sélectionnez un tas de choses et regroupez-les à une nouvelle valeur, comme la clinique. |
| |
Mais je pense qu'il y a aussi beaucoup de raccourcis. Et l'un de mes raccourcis préférés est |
| |
pour regrouper des valeurs similaires. Et donc je peux donner un certain seuil du nombre de différences de caractères et ainsi de suite et cela regroupera automatiquement toutes ces choses. Il regroupera donc tous les hôpitaux de district avec des orthographes légèrement différentes en un seul. |
| |
Et je peux encore... |
| |
on dirait qu'il en a raté un. Mais ça va, je peux maintenant grouper celui-là avec les autres et |
| |
tous les, tous les hôpitaux ruraux ont été automatiquement regroupés par ceux qui correspondent et il semble que je puisse en trouver un supplémentaire ici. |
| |
Et maintenant, tout d'un coup, j'ai quelque chose. J'ai économisé beaucoup d'efforts en faisant tout ce recodage. |
| |
Et bien sûr, dans JMP 15, nous avons ajouté de nouvelles fonctionnalités, que je ne montrerai pas ici, mais je tiens à le signaler. Si vous avez un autre jeu de données avec tous les |
| |
... a prouvé que ... les meilleurs noms de catégorie pour ces catégories, je peux passer par un processus de correspondance et lui faire choisir la correspondance la plus proche lorsqu'il trouve une correspondance avec toutes ces choses. Donc |
| |
recode a donc beaucoup évolué au fil des versions pour réduire la douleur de cette opération. Et bien sûr, pensez-y. Combien de temps passons-nous à préparer les données plutôt qu'à les analyser ? |
| |
Souvent, 70 à 90 % de notre temps est consacré à la préparation des données. Et donc, réduire la douleur de cela et réduire le temps de cela devient des victoires majeures. Donc soulagement de la douleur lors du recodage. |
| |
Cliquer sur les valeurs. Voici |
| |
l'ensemble de données des villes. |
| |
Et supposons que lorsque j'examine les détails de certaines de ces choses, comme peut-être une valeur aberrante pour quelque chose, je veux l'examiner plus en détail. Et ainsi je peux transformer cela en un lien. Alors allons-y |
| |
transformons-le en une page wiki chose de page Wikimedia. Je vais copier ce texte là-bas et aller dans les informations de la colonne, puis le transformer en un lien, qui est le gestionnaire d'expression. |
| |
Et maintenant je peux prendre |
| |
ce |
| |
table et convertissez-la en un site Web |
| |
adresse. Donc |
| |
Je vais aller sur wikipedia.org, puis prendre le |
| |
le nom de cette ville et le changer en cas de titre et je peux le tester sur cette ligne et évoquer Albany. |
| |
Et donc maintenant je vais dire... |
| |
Oh d'accord. |
| |
Et maintenant, je peux cliquer sur n'importe quelle ville et obtenir l'article de Wikipédia sur cette ville. Ou il peut le changer en coordonnées cartographiques. Donc, je peux... copions ce texte et allons dans la colonne d'informations et maintenant au lieu de cela, je vais |
| |
faire cas de titre à ce sujet. |
| |
Voyons si cela analyse OK. Et maintenant, je peux cliquer sur Denver et il interrogera Denver et Google Maps. |
| |
D'accord, j'ai donc transformé les choses en liens à faire... Je peux faire des recherches, je peux faire des requêtes de carte et ainsi de suite. je peux même |
| |
collez ce parler dedans et cliquez dessus et faites-le dire le nom de la ville. Et donc, je pense que cela donne un grand pouvoir pour pouvoir stocker des liens dans nos tables de données |
| |
qui renvoient vers des pages Web ou font d'autres choses, tout ce que vous pouvez exprimer avec ACL, vous pouvez le faire avec ces gestionnaires d'événements. Cela peut donc réduire beaucoup de douleur. |
| |
Donc, l'une de mes techniques préférées de réduction de la douleur est la diffusion, et c'est là que vous maintenez la touche de commande ou la touche de contrôle enfoncée pour faire des multiples, où vous avez beaucoup d'analyses similaires. Bon alors |
| |
cela fonctionne non seulement pour les commandes de menu, mais pour de nombreux boutons et pour redimensionner les cadres de graphique et faire d'autres choses, coller des éléments dans des graphiques, etc. |
| |
Faisons donc un exemple de cela. Et cliquons sur... ou faisons juste une distribution sur toutes ces colonnes. |
| |
Et disons que je voulais me débarrasser de |
| |
cette boîte à moustaches. |
| |
Et si je maintenais juste |
| |
cet élément de menu, j'éliminerais la boîte à moustaches pour cet élément. Mais ce que je veux faire, c'est éliminer la boîte à moustaches pour tous les éléments. Donc, ce que je vais faire, c'est maintenir la touche de commande enfoncée et décocher la boîte à moustaches et maintenant elle est décochée pour toutes ces choses. Je peux maintenant décocher les quantiles |
| |
et il décochera tout, car il a pris cette commande et diffusé à tous les objets actifs dans cette fenêtre, et pour les objets actifs qui comprennent cette commande, la commande quantiles par exemple, il obéira alors à cette commande. |
| |
Maintenant, cela fonctionne même pour certaines choses qui ont à voir avec l'incitation aux dialogues. Examinons donc les statistiques sommaires. Permettez-moi de maintenir la touche de commande enfoncée et de personnaliser les statistiques récapitulatives. |
| |
Et disons que je ne veux pas les limites de confiance, mais je veux le nombre de valeurs manquantes. Et je dirai, d'accord, et ça va s'appliquer à tout... |
| |
toutes les choses. Pour ce faire, il a fallu |
| |
prenez les résultats de ce dialogue, faites-en un script, puis diffusez ce script à tous les autres endroits de cette fenêtre. |
| |
Maintenant, cela n'arrive pas tout le temps. Parfois, lorsque vous recevez une invite, vous obtenez une invite pour chaque analyse. Pour chaque version, nous essayons |
| |
pour implémenter quelques détails supplémentaires, où le dialogue est fait avant la diffusion afin qu'il diffuse le même dialogue à chaque endroit disponible. Et bien sûr, tout le reste, je peux diffuser un changement et cela changera, vous savez, la taille de tous ces éléments, ou je peux diffuser |
| |
changer la couleur d'arrière-plan, et je peux changer toutes les couleurs d'arrière-plan en orange dans toutes les parcelles |
| |
que cela semble pertinent pour cette boîte de cadre. Cette diffusion devient donc un outil très puissant. |
| |
Donc, |
| |
cela a épargné beaucoup de douleur pour la plupart d'entre nous, mais il y a encore des cas où vous pouvez avoir 40 000 par groupes, comme cela s'est produit plus tôt cette année, et il veut faire une prédiction inverse sur les 40 000 et cela vous invite 40 000 fois. |
| |
Ce sera corrigé pour la version 16. C'est beaucoup de soulagement de la douleur pour cet utilisateur. |
| |
Enregistrement des colonnes de formules. |
| |
J'adore les colonnes de formules. Lorsque vous ajustez un modèle, vous pouvez enregistrer une colonne de prédictions. Mais dans cette prédiction, il y a une formule en direct pour que vous puissiez examiner cette formule, vous pouvez la modifier, vous pouvez l'appliquer aux nouvelles données qui arrivent. Vous pouvez le profiler selon la formule de sauvegarde. Tu peux |
| |
si tu as |
| |
JMP Pro, vous pouvez accéder au dépôt de formules et faire beaucoup d'autres choses. Vous pouvez générer du code à partir de celui-ci, etc. La possibilité d'enregistrer des formules est donc une chose importante, mais parfois |
| |
si vous avez par groupes, par exemple, la sauvegarde des formules a beaucoup de subtilité supplémentaire. |
| |
Par exemple, adaptons, voici les données sur le diabète, où nous adaptons la réponse |
| |
contre tous ces prédicteurs et mais nous voulons le faire séparément pour chaque sexe. |
| |
Alors faisons ça. |
| |
Et donc on en a deux par groupes pour le genre un et le genre deux. Et maintenant disons que nous voulons sauver |
| |
la valeur prédite, en fait, pour les deux. Maintenant |
| |
dans les temps anciens avant que nous soyons soumis à cela à beaucoup de méthodes de soulagement de la douleur, |
| |
que se passerait-il lorsque vous l'auriez enregistré, il irait dans une table de données locale. Si vous regardez dans la fenêtre de la table de données sous refaire, elle affiche la table par groupe. |
| |
Donc vraiment pour gender=1, il y a 235 dans cette table de données virtuelle ici, que vous pouvez montrer pour gender=1. Il y a une variable de table ici qui montre le par groupe pour cela. |
| |
Et cela l'enregistrerait dans cette table temporaire au lieu de la vraie table que vous avez qui est vraiment enregistrée. |
| |
Mais |
| |
il y a quelque temps, lorsque vous avez enregistré la formule de prédiction, nous l'avons enregistrée dans la table de données réelles. Et si je regarde ça, je viens de l'enregistrer pour gender=1, |
| |
et si je regarde la formule pour cela, cela montre que si gender=1, c'était la clause by group, alors il y a cette combinaison linéaire qui forme une prédiction pour cette variable. |
| |
Et puis si je fais ensuite gender=2 ou si je maintiens la touche de commande enfoncée pour diffuser la formule de prédiction, maintenant elle a les deux et j'ai les deux clauses disponibles pour le genre 1 et le genre 2. Il ajoute donc une clause à chaque fois à cette sortie par groupe. |
| |
Soit dit en passant, la même chose se produit lorsque vous enregistrez d'autres choses, lorsque j'enregistre une colonne de résidus, et maintenons la touche de commande enfoncée cette fois. |
| |
Si j'enregistre une colonne de résidus, il l'enregistrera pour chacun par groupe, il enregistrera le résidu approprié pour ce groupe. C'est comme si vous soustrayiez la formule prédite de la réponse d'origine, mais cette fois sans être une colonne de formules. |
| |
Dans presque tous les endroits de JMP, nous ne l'avons pas fait partout, mais nous l'avons fait dans la plupart des endroits, en enregistrant dans un groupe par |
| |
ou dans certains cas via une clause where, il l'enregistrera ensuite dans la table de données d'origine avec la condition dans l'instruction if. D'accord, donc ça a |
| |
économisé beaucoup d'efforts. Si cela n'était pas disponible, tt était enregistré dans une table temporaire, puis vous deviez couper et coller cette formule et créer des tables if dans la table d'origine. Nous avons donc résolu ces problèmes. Supposons maintenant que je l'ai sauvegardé à nouveau, que j'ai refait tout ce processus, |
| |
et |
| |
et a fait autre chose, disons avec différentes variables, certaines d'entre elles supprimées, |
| |
et maintenant enregistré à nouveau. |
| |
Donc, |
| |
J'enregistre la formule de prédiction, cette fois en maintenant la touche de diffusion enfoncée, elle en crée une nouvelle au lieu de l'enregistrer dans l'ancienne et ajoute un 2 après. Eh bien, comment sait-il qu'il ne faut pas l'enregistrer dans l'ancien ? |
| |
Eh bien, chaque ajustement a un identifiant. Et si je regarde les propriétés |
| |
par ID, il a le numéro qui lui est associé, un numéro unique qui est régénéré pour chaque ajustement, et ainsi de suite tant qu'il a un ID différent, |
| |
les différents groupes par auront le même ID avec un par partition. Mais tant qu'il a le même ID, il l'enregistrera dans la même chose. Sinon, il créera un nouvel endroit pour se former pour le sauvegarder. |
| |
De plus, chaque fois que nous parlons de valeurs prédictives, |
| |
notamment les formules de prédiction, |
| |
il créera un attribut le, le créateur et dans certains cas d'autres informations. Dans ce cas, il a la variable cible y, c'est ce qui prédit et le créateur correspond aux moindres carrés. |
| |
Et puis, lorsque vous effectuez d'autres plates-formes, par exemple si vous disposez d'une comparaison de modèles JMP Pro, cette comparaison de modèles comprendra quelles valeurs prédites se référant à quel créateur, dans quelle cible. Et ainsi, il peut garder une trace de toutes ces informations pour ces plateformes à valeur ajoutée. |
| |
Donc, |
| |
les colonnes de formules fonctionnent en ajoutant de nouvelles clauses et d'autres propriétés sont utilisées, y compris l'ID par. |
| |
Et les clauses de prédiction, si vous les enregistrez dans des variables catégorielles, cela enregistre toute une gamme de variables pour avoir les probabilités pour chaque niveau de réponse, et tout cela est contenu avec toutes les métadonnées et les besoins. Et cela devrait épargner beaucoup de douleur. |
| |
Donc, |
| |
suppression des effets des modèles. |
| |
Eh bien, regardons un exemple |
| |
de montage |
| |
taille juste en fonction du poids. |
| |
Eh bien, voici un exemple de polynôme de haut degré. C'est un polynôme du septième degré |
| |
qui convient mieux que |
| |
polynômes du sixième degré, etc. Mais feriez-vous confiance à cet ajustement? |
| |
Il s'avère que si vous donnez au modèle beaucoup de flexibilité en introduisant des termes polynomiaux élevés ou simplement en introduisant plus de variables, cela donne beaucoup plus de possibilités d'ajustement. Et dans ce cas c'est |
| |
il a permis la flexibilité de faire une plongée profonde entre les données précédentes et le dernier point de données juste pour mieux s'adapter à ce dernier point de données. |
| |
Et donc c'est surdimensionné. C'est comme ça... il utilise ce paramètre pour ajuster le bruit au lieu d'ajuster le |
| |
les données elles-mêmes. |
| |
Et donc le surajustement est un problème chaque fois que vous avez de gros modèles. Donc |
| |
vous voulez adapter le signal, pas le bruit. D'accord, les grands modèles ont tendance à introduire plus de variation dans la prédiction, car la prédiction, après tout, est |
| |
une fonction de la variable y qu'ils utilisent, mais aussi que la variable y est une partie systématique de cette variable plus la partie erreur de cette variable si cette partie variable |
| |
est aléatoire, alors votre prédiction implique que ce caractère aléatoire. Et si vous lui permettez trop de flexibilité, cela finira par |
| |
un problème de surajustement que vous allez prédire bien pire en incluant toutes les variables dans ce modèle. |
| |
Donc, le remède à cela est de réduire le modèle, de réduire la taille du modèle ou de réduire la taille des coefficients dans le modèle, |
| |
de sorte que moins de cette variation du terme aléatoire du modèle est transmise dans la valeur prédite. Et ainsi |
| |
dans les petits problèmes DOE, ce n'est pas un problème car les données sont petites et bien équilibrées pour s'adapter exactement au modèle que vous recherchez. Mais pour les données d'observation dans tous les grands modèles, le surajustement est un vrai problème. |
| |
Les utilisateurs n'ont donc souvent pas compris cela jusqu'à ce que nous introduisions la validation croisée dans JMP Pro. Donc, si vous avez JMP Pro, vous pouvez configurer une colonne de validation, |
| |
qui retiendra certaines des données afin d'estimer l'erreur sur cet ensemble de données de retenue. Et voici un exemple où j'ai... J'essaie de prédire les propriétés concrètes |
| |
en fonction de tous ces ingrédients dans le béton, et j'ai un énorme modèle pour cela. Et si j'exécute simplement ce modèle, mais que je retiens certaines des données et que je regarde le carré R à ce sujet, |
| |
J'ai pour SLUMP, j'ai un bon ajustement. J'ai un R au carré de 79, mais sur l'ensemble de validation qui me convient, j'ai un R au carré qui est négatif. |
| |
Tout R carré négatif signifie qu'il correspond moins bien qu'à la moyenne. Donc, si je correspondais à la moyenne, j'aurais un R carré de zéro. Si je correspond à tout ce modèle, j'ai un carré R qui est bien pire que cela. Ainsi, avec de grands modèles, vous pouvez faire pire que simplement ajuster la moyenne, c'est pire que |
| |
C'est un peu anti-informatif parce que le modèle est si grand et nous n'avons fait aucun effort pour réduire la taille du modèle. Le modèle a été dominé par le bruit et non par le signal. C'est donc un problème auquel vous devez prêter attention. |
| |
Ainsi, l'important est de pouvoir réduire la taille du modèle. |
| |
Et maintenant, nous avons introduit une commande de dialogue de modèle pour le faire. |
| |
Entrons dans le diabète avec avec modèle. |
| |
Je peux exécuter ce modèle et si, disons que je veux supprimer beaucoup de ces choses, elles ne sont pas très importantes. Vous savez, l'âge |
| |
a une contribution totalement non significative au modèle, et je veux donc éliminer l'âge. Eh bien, je le ferais, je pourrais revenir en arrière pour adapter le modèle et |
| |
rappelez-le ou puis éliminez l'âge. Ou il y a, je peux simplement revenir au dialogue de modèle directement ici et ajuster l'âge et le supprimer, mais j'ai peut-être une longue liste de modèles ici et faire des allers-retours pour faire ces choses est une bonne quantité de travail. |
| |
Et donc plutôt que de faire ça... |
| |
voyons, qu'est-ce que je fais ici. |
| |
Il y a plusieurs versions, nous avons introduit un nouveau rapport appelé le résumé des effets. |
| |
Et avec le résumé des effets, il est trivialement facile de créer des sous-ensembles du modèle pour le faire mieux prédire, |
| |
lui donner moins de souplesse. |
| |
Donc je peux dire, eh bien, l'âge, je peux enlever ça. |
| |
Ou bien, il y a beaucoup de variables. Enlevons-en trois autres. |
| |
LDL, eh bien, cela semble plus important. Et ainsi je peux enregistrer ce modèle. |
| |
Sauvegardons-le simplement dans la table de données. |
| |
Et je reviens plus tard et je dis, eh bien, laissez-moi me souvenir de ce modèle qui a ceci. |
| |
Je peux en fait annuler la chose précédente. Et donc je peux défaire ça et ça ramène |
| |
trois des variables et je peux annuler cela et cela ramène l'âge. Donc, il stocke en fait, lorsque j'utilise le résumé des effets pour éditer le modèle, il stocke en fait une mémoire de toutes ces choses. Et si je regarde ce script, |
| |
Je peux voir ce truc d'histoire. Donc à chaque fois que j'ai fait un model d'effet, il stocke une clause d'historique. Et quand je fais les annulations, ça revient à cet historique. |
| |
Le retrait est donc facile. Je peux aussi ajouter des choses. Si je soustrais ces deux choses, je pourrais le rajouter. Je pourrais rajouter, disons, l'âge. |
| |
Ce n'est pas une bonne chose à faire, mais je peux le faire. Je peux aussi éditer le modèle en ramenant une petite version du modèle et |
| |
du dialogue modèle et ajouter des effets composés et ainsi de suite. |
| |
Maintenant, une autre chose qui se passe avec les grands modèles et |
| |
(laissez-moi défaire cela). |
| |
Avec de grands modèles, |
| |
vous faites beaucoup de tests d'hypothèses. |
| |
Donc, si vous avez un grand nombre de tests d'hypothèses, vous devez envisager certains ajustements et l'un d'entre eux s'appelle le taux de fausses découvertes. Ainsi, au lieu de traiter toutes ces valeurs p comme s'il s'agissait de tests indépendants, |
| |
Je souhaite appliquer un ajustement afin que ces valeurs p soient ajustées pour le biais de tests multiples, pour le biais de sélection impliqué dans le sous-ensemble du modèle. Et donc je peux appliquer un taux de fausses découvertes |
| |
rectificatif à celui-ci. Ainsi, au lieu de la valeur p normale, j'ai la valeur p ajustée à la fausse découverte pour cela. Et maintenant je suis plus réaliste. Donc, cela va m'aider avec le problème de surajustement et l'hypothèse... le problème de biais de sélection en faisant beaucoup de tests multiples |
| |
choses. |
| |
Donc, |
| |
maintenant |
| |
allons |
| |
faire le sujet suivant et qui se transforme. |
| |
Supposer |
| |
vous voulez faire un modèle, |
| |
mais |
| |
au lieu de y, vous voulez ajuster le log de y. |
| |
Eh bien, avant de créer une nouvelle colonne dans l'ensemble de données, |
| |
Connectez-vous, |
| |
puis pour Log y, vous |
| |
préciser un... |
| |
faire une formule. |
| |
Et je peux prendre |
| |
un journal de celui-ci. |
| |
Et maintenant, je peux revenir à la spécification de mon modèle et le faire |
| |
et puis j'ai eu ma forme. |
| |
Oh, il manque, qu'est-ce que j'ai fait? |
| |
Oublié d'entrer dans le |
| |
objectif, l'argument. |
| |
Et maintenant je peux |
| |
ajuster le log de Y |
| |
Et maintenant |
| |
Je l'ai fait. Mais faisons le profileur. |
| |
Mon profileur est en termes de journal de Y. Permettez-moi d'enregistrer la valeur prédite. Ma formule de prédiction est en termes de log de y, |
| |
et maintenant je vais devoir y aller et éditer ça à la main... |
| |
cette formule et prendre l'exponentielle de celle-ci |
| |
pour le ramener à l'échelle d'origine. Donc c'est beaucoup de douleur à faire des transformations de cette façon. |
| |
Eh bien, il y a plusieurs versions |
| |
nous avons introduit des transformations. |
| |
Donc je peux prendre cette transformation et |
| |
le transformer en journal |
| |
et maintenant utilisez-le directement là-bas comme une transformation et cela ne fait pas partie de la table de données. C'est une variable virtuelle avec une formule, mais non ajoutée à la table de données. |
| |
Et maintenant, je peux adapter mon modèle au Log y. Allons |
| |
enlever l'âge pour qu'il s'adapte un peu mieux. |
| |
Oups. |
| |
Avait cela sélectionné aussi. |
| |
Et maintenant, j'ai adapté la réponse Log y. |
| |
Donc, si je profile cela, qu'est-ce que j'obtiens ? |
| |
Profilage factoriel, profileur. Au lieu de profiler log de y, il profile y. Le profileur considère cela comme une transformation et dit, eh bien, je peux inverser cette transformation et revenir à l'échelle d'origine. Et c'est ce qu'il fait. |
| |
Il |
| |
détransforme, rétrotransforme à travers le log de y pour prendre la prédiction et la mettre à l'échelle d'origine. |
| |
Et il le fera pour la plupart des transformations qui peuvent se dérouler. Si une transformation implique plusieurs variables et ainsi de suite, elle ne peut pas le faire et elle se contentera de faire les transformations. Donc l'original |
| |
Même chose quand j'enregistre une colonne. Lorsque j'enregistre la formule de prédiction, |
| |
il enregistre une formule de prédiction sur l'échelle de yplutôt que le log de y. |
| |
Et donc ces choses sont un gain de temps incroyable et économisent beaucoup d'efforts dans l'utilisation des transformations. |
| |
Alors il y a... |
| |
Laissez-moi |
| |
retourner au diabète |
| |
et faites-en une autre... envisagez une autre transformation. |
| |
Lorsque vous faites de la variable, |
| |
il y a une transformation Box-Cox que vous pouvez obtenir. |
| |
Et |
| |
parmi les profils factoriels, l'option Box-Cox |
| |
vous indique si vous avez transformé toute une gamme de fonctions de puissance, |
| |
quoi, ce serait le mieux à faire? Devrait-il être simplement non transformé? Ce serait une valeur Box-Cox lambda de un. |
| |
Si vous faisiez zéro, cela équivaudrait à en prendre un journal. Si vous faisiez -1, cela équivaudrait à en prendre l'inverse. |
| |
La puissance au -1. Si vous faisiez environ 0,5, cela équivaudrait à prendre la racine carrée de cela. |
| |
Et cela vous dit que ce modèle s'adapterait mieux à une échelle de transformation ajustée pour cette transformation, s'il était plus le long de la transformation de la racine carrée, où lambda était de 0,453. C'est la valeur optimale dans la transformation de Box-Cox. |
| |
Et vous pouvez zoomer dessus |
| |
avec une loupe pour obtenir |
| |
pour l'obtenir plus précisément. |
| |
Donc, |
| |
Alors maintenant je peux me transformer, et il y a plusieurs versions |
| |
Je peux... J'ai ajouté plusieurs colonnes. L'un est refit avec transform, ce qui créera une nouvelle fenêtre avec la réponse de transformation. |
| |
Et un autre remplace la transformation et je vais le faire. Et plutôt que .453, je vais juste prendre une transformation racine carrée (.5) et maintenant j'adapte le modèle avec cette transformation. |
| |
Et maintenant, lambda best est autour de 1, ce qui est là où il devrait être, car il est déjà transformé immédiatement par la transformation de Box-Cox. Et maintenant, je peux enregistrer la valeur prédite de cela et |
| |
profilez-le et ainsi de suite. Et je peux même le défaire. Donc, si je n'aime pas cette transformation et que je veux revenir à l'original, je peux revenir à l'original et remettre en état. |
| |
Donc, |
| |
nous avons fait beaucoup d'économies de douleur |
| |
dans la transformation des réponses. |
| |
Alors maintenant |
| |
il y a une douleur particulière, un endroit spécial de douleur lorsque vous avez beaucoup de données. |
| |
Et nous avons fait beaucoup d'efforts pour essayer de résoudre de gros problèmes avec moins de douleur. |
| |
Que vous ayez beaucoup de lignes, beaucoup de colonnes, beaucoup de groupes, de nombreux modèles à essayer, |
| |
dans le monde d'aujourd'hui, nous vivons dans un monde de mégadonnées avec de gros problèmes. |
| |
Donc, si nous avons des analyses conçues à l'origine pour traiter de petits problèmes, elles peuvent ne pas convenir aux gros problèmes, et le problème central des gros problèmes est qu'il y a trop de résultats à trier. |
| |
Si en ajustant le même modèle à 1 000 variables, j'ai 1 000 rapports à trier. Si je cherche des valeurs aberrantes parmi 1 000 colonnes, il n'y a que des valeurs aberrantes, vous savez, des rapports séparés pour chaque colonne et ainsi de suite. je veux pouvoir |
| |
parcourir plus efficacement de nombreux ensembles de données volumineux. Nous avons donc élaboré le menu de projection, |
| |
qui vise à résoudre ces grands types de problèmes. De plus, il existe de nombreux endroits dans JMP qui permettent également de mieux résoudre les problèmes importants. Par exemple, les séries chronologiques. La nouvelle plate-forme de prévision de séries chronologiques prévoira plusieurs séries chronologiques, au lieu d'une seule. |
| |
Ainsi, les éléments de la plate-forme de dépistage explorent les valeurs aberrantes, explorent les valeurs manquantes, explorent les modèles. Celles-ci servent à vérifier les données, puis à rechercher des associations, à filtrer les réponses, |
| |
dépistage des processus, dépistage des prédicteurs. Et bien sûr, la prévision des séries chronologiques est un nouvel élément. Ce n'est pas dans le menu de dépistage, mais il est organisé pour gérer les gros problèmes. |
| |
Et toutes ces choses profitent, non seulement de moyens plus compacts pour représenter les résultats afin que vous n'ayez pas besoin de milliers de rapports, mais ils sont également efficaces en termes de calcul. Ils utilisent le multithreading pour tirer parti de votre |
| |
le multiple |
| |
cœurs dans votre CPU pour le rendre très rapide. |
| |
Supposons que vous ayez beaucoup de données de processus ; vous avez 568 variables. Alors, laquelle de ces variables semble saine ? Le dépistage des processus de puits est conçu pour répondre à cela. Et donc il peut trier par la stabilité ou trier par la capacité (Ppk) ou lesquels sont mauvais ou trier par |
| |
mesures du tableau de contrôle, comptes hors contrôle, etc. |
| |
Mais ce qui est encore... J'aime même mieux, ce sont quelques-uns des outils qui montrent tous les processus dans un seul graphique. Et il y en a deux que j'adore. L'un est le |
| |
le graphique des objectifs qui montre |
| |
comment chaque processus se comporte par rapport aux limites de spécification et s'il s'agit d'un processus capable, il se trouve dans cette zone verte ici. |
| |
Si c'est marginal, c'est dans la zone jaune. Si ce n'est pas le cas, c'est dans la zone rouge, et si c'est en haut, c'est qu'il y a trop de variance. Si c'est d'un côté de l'autre, c'est qu'il y a un problème. |
| |
Avec... |
| |
C'est décentré, c'est hors cible. |
| |
Mais si c'est dans la zone verte alors c'est un bon processus, et avec la version 15 nous introduisons le |
| |
graphlets, l'aide au survol |
| |
afin que vous puissiez voir chaque processus lorsque vous le survolez. Et puis l'autre |
| |
L'intrigue que j'aime en résumant toutes ces choses et en réduisant la douleur de parcourir tous ces rapports est ce graphique de performance de processus. Ainsi, sur l'axe vertical, il vous indique si vous êtes dans les limites des spécifications par la capacité Ppk. |
| |
Donc, si vous êtes au-dessus de cette ligne à 1,33, alors vous avez l'air bien en ce qui concerne la distribution des valeurs par rapport aux limites de spécification. Vous êtes bien dans les limites des spécifications. |
| |
Si... alors l'indice de stabilité est sur l'axe des x. Donc, si c'est un processus assez instable même s'il peut être capable mais instable. Donc, si vous regardez ce processus, il pourrait y avoir des |
| |
chose de stabilité qui erre autour de certains. Et si vous êtes dans la zone jaune, vous êtes |
| |
capable mais instable et ainsi de suite. La zone rouge est la mauvaise zone où vous êtes à la fois incapable et instable. Et donc regarder à travers des centaines ou des milliers de processus est facile maintenant, alors que c'était autrefois très pénible. |
| |
La question est, qu'est-ce qui a le plus changé ? Voici quelques données d'enquête où |
| |
pendant de nombreuses années, vous avez posé une question sur leurs activités. As-tu |
| |
aller camper ? Ou jouer dans un casino ? Ou avez-vous eu un rhume? Vous savez, toutes ces activités et vous voulez savoir laquelle parmi toutes ces activités (et il y a |
| |
Je pense, 95 activités différentes) laquelle de celles-ci a fait le plus de différence. Et donc vous cherchez, vous savez... une chose que vous pourriez faire est de passer par un à la fois |
| |
et correspondent à cette activité par année d'enquête. |
| |
Au lieu de regarder un à la fois. Je peux regarder le filtrage des réponses |
| |
et regardez simplement un graphique pour voir ce qui a le plus changé. |
| |
Et donc cela montre un tableau pour l'ensemble des 95 de ces choses. Premièrement, la signification en termes de log négatif de la valeur P, |
| |
que nous appelons la valeur logarithmique, qui est ajustée pour le taux de fausses découvertes. Et donc il prend en charge une partie de ce biais de sélection parce que vous triez toutes ces valeurs p. |
| |
et en sélectionnant le derrière... les faibles valeurs P. Et je trouve que la location d'une cassette vidéo a le plus changé, la cassette vidéo, et bien sûr elles sont devenues obsolètes. Alors, bien sûr, ça a changé. |
| |
Une autre cassette vidéo a beaucoup changé, les choses collectées pour le recyclage ont beaucoup changé, les gens divertis chez moi ont beaucoup changé. |
| |
Et voici celui qui est moins important, mais de grande taille d'effet, utilisez-vous Internet. Et bien sûr, cette enquête a commencé avant qu'il n'y ait Internet. Et donc, ça a beaucoup changé. Donc, la question sur ce qui a le plus changé était |
| |
est facile maintenant, là où c'était difficile. |
| |
Une autre question que vous avez posée sur le big data, où sont les valeurs manquantes. Voici donc |
| |
280 variables. |
| |
Où sont les valeurs manquantes ? Dois-je m'inquiéter pour eux ? Et je peux regarder le rapport d'exploration des valeurs manquantes et voir que, eh bien, il n'y a que cinq de ces variables avec des valeurs manquantes. |
| |
Et certains d'entre eux n'ont qu'une seule variable, une valeur manquante, mais certains en ont beaucoup. Donc, quand je fais une analyse, une analyse multivariée, je ne veux probablement pas inclure |
| |
376 variables sur 452. Ou si je veux inclure J, je peux passer par |
| |
et imputer ces valeurs manquantes |
| |
en faisant ça, d'accord. |
| |
Donc, |
| |
Question suivante, les données ont-elles des valeurs aberrantes ? |
| |
Eh bien, j'ai 387 mesures, je fais dans ce processus. Et je veux savoir s'il y a des valeurs aberrantes là-dedans. Nous avons donc maintenant une possibilité de le faire dans le menu de dépistage. Je peux |
| |
rendre cela plus ou moins sensible. |
| |
Rendons-le plus sensible |
| |
il y a donc moins de valeurs aberrantes et de réanalyse. |
| |
je peux regarder |
| |
à |
| |
les neuf. Très souvent, une chaîne de neuf est utilisée pour représenter une valeur manquante et ces neuf peuvent être de vrais neuf, mais ils peuvent être juste un indicateur d'une valeur manquante. Et donc je peux, pour ceux-là, je peux dire bien ajouter ces neufs aux codes de valeur manquants et maintenant la mémoire a changé. |
| |
Et maintenant je peux |
| |
remontez (il y a beaucoup de variables ici) et réanalysez et il y a moins de valeurs manquantes à craindre. |
| |
Donc, explorer les valeurs aberrantes était une douleur. |
| |
Cela peut toujours être un gros travail, mais c'est beaucoup plus facile qu'auparavant. |
| |
Maintenant, dans la version 15, nous avons ajouté une autre plateforme de dépistage. Les données ont-elles des modèles suspects ? Et voici donc quelques données de laboratoire issues d'essais cliniques. Ce sont des données sur les modèles de laboratoire de nicardipine. Il y a 27 résultats de laboratoire que j'aimerais peut-être examiner. Et donc j'invoque |
| |
la nouvelle plateforme, explorez les valeurs manquantes. Et cela va me montrer, ai-je une série de valeurs ? J'ai donc la valeur .03536 mais il y en a sept d'affilée, en commençant par la ligne. |
| |
2065. Je peux coloriser ces cellules, et je peux regarder ces valeurs, et peut-être que c'est la dernière valeur reportée, qui peut ne pas être suspecte. Dans ce cas, c'est le... |
| |
c'est la même personne. Alors peut-être que la dernière valeur reportée est une chose raisonnable à faire, mais c'est un événement rare, très rare si vous avez distribué ces choses... |
| |
si, si vous supposez une distribution aléatoire pour ces choses. |
| |
Aussi la plus longue séquence dupliquée. Donc, pour cette variable et nous commençons à la ligne 2816 et également à la ligne 3034, il y en a quatre à la suite qui avaient les mêmes valeurs. Donc, si je colorise ces choses, il y en a quatre d'affilée là-bas. Et si je |
| |
passez à la séquence suivante, il y en a quatre dans une rangée qui ont les mêmes valeurs. Cela pourrait donc être un symptôme de couper et coller les mêmes valeurs d'un endroit à un autre. |
| |
Donc, explorer les modèles, c'est rechercher ces choses. Et il y a beaucoup d'autres choses que vous pouvez regarder les détails sur chacune de ces 27 variables et rechercher des symptômes de choses suspectes ou ou |
| |
mauvais effets de la façon dont vous avez traité les données et ainsi de suite. |
| |
Donc, |
| |
explorer les modèles faisant partie de la résolution de gros problèmes. |
| |
Donc, |
| |
Soulagement de la douleur. Une grande partie de notre développement vise à rendre le flux d'analyses plus fluide, moins lourd, moins chronophage et moins douloureux. Analgésiques. |
| |
Maintenant, nous ne savons pas toujours ce qui est douloureux. Nous dépendons donc des commentaires pour savoir sur quoi nous concentrer. Lorsque nous recevons ces e-mails auxquels j'ai dû répondre des centaines de fois, |
| |
nous avons écouté cela et nous ressentons la douleur et nous l'avons corrigé pour que maintenant vous puissiez diffuser dans un groupe avec des milliers de choses |
| |
et diffuser les résultats d'un dialogue plutôt que de dialoguer plusieurs fois. Donc, l'envoyer l'a rendu meilleur pour tout le monde, parce que nous ne l'avons pas compris la première fois. Alors n'hésitez pas à nous donner votre avis. |
| |
Avec toutes les améliorations que nous avons déjà apportées, nous pensons que le processus de préparation et d'analyse des données est déjà devenu beaucoup plus fluide, beaucoup moins interrompu, plus fluide. |
| |
Donc, |
| |
au lieu de passer votre temps à surmonter des obstacles, vous passez votre temps à apprendre de vos données, à comprendre vos données. |
| |
analytique. On se demanderait s'ils venaient de la même racine, bien sûr, nous n'aimons pas abréger ces deux mots. |
| |
Analytics vient du grec analyein, et je ne sais pas comment le prononcer. |
| |
Mais en grec, cela signifie rompre, libérer ou libérer. Et il faut prendre quelque chose de compliqué et le décomposer en morceaux pour que nous puissions le comprendre. |
| |
Et c'est, bien sûr, exactement ce que nous faisons avec l'analyse des données, la science des données. Et les analgésiques viennent d'une combinaison différente de mots \!"an-\!" signifiant sans, et \!"algesis,\!" qui est le sens de la douleur. Donc, le même préfixe, des racines différentes... un peu différentes. |
| |
Et ne les abrégeons pas. |
| |
anabolisant et aphrodisiaque. Nous nous soucions du pouvoir. |
| |
Une grande partie de ce que nous faisons consiste à vous fournir des outils plus puissants pour analyser les données, en grande partie dans JMP Pro, ainsi que dans JMP. |
| |
Et nous espérons que les données rendront passionnant, vous savez, le frisson de la découverte. |
| |
Le frisson d'apprendre à utiliser les fonctionnalités puissantes de JMP et nous pensons que c'est passionnant. Vous savez, c'est un aphrodisiaque. |
| |
Ainsi, la puissance et l'excitation sont également importantes pour nous. Ce n'est pas seulement un soulagement de la douleur. |
| |
Alors qu'est-ce qu'on va faire l'année prochaine ? |
| |
Eh bien, de grands mots commençant par la lettre B. |
| |
Commencez par A, puis B, n'est-ce pas ? |
| |
Eh bien, l'année prochaine, nous aurons JMP 16 à venir. Et c'est donc de cela que nous allons parler. Qui sait de quoi nous allons parler l'année d'après. Alors merci beaucoup. Et nous espérons que vous ne souffrirez que très peu lors de l'analyse de vos données. |
| Jeff Perkinson |
Merci beaucoup, John. Nous apprécions cela. C'était une conversation fantastique et ayant été témoin de beaucoup de douleur au fil des ans, |
| |
c'est tout ce que vous dites est absolument vrai. Le soulagement de la douleur est une chose importante pour nous. |
| |
Nous avions une question qui est venue, en fait, un certain nombre de questions; nous avons répondu à certaines d'entre elles dans le Q&A, mais ce que je voulais vous dire |
| |
est-ce à la fois un soulagement de la douleur, une certaine attraction et un renforcement de la puissance de JMP ? |
| Jean Sall |
Eh bien, je pense que le grand plaisir de tout le monde est Graph Builder. |
| |
Il est incroyablement puissant de simplement faire glisser ces variables et de faire quelques autres clics et vous avez le graphique que vous voulez, et vous pouvez le changer si facilement. |
| |
Alors c'est, c'est un frisson. C'est une fonctionnalité puissante et c'est un soulagement de la douleur ; c'était plus difficile à faire. Donc je pense que c'est la chose préférée de tout le monde. |
| |
Mais bien sûr, il y a... JMP est un produit riche et nous sommes fiers de tout ce qu'il contient. Conception d'expériences, toutes |
| |
la grande puissance impliquée là-dedans et nous avons également essayé de rendre ce processus facile. Et tant de choses me viennent à l'esprit. |
| Jeff Perkinson |
Très bien. Merci beaucoup John, j'apprécie. Si vous avez apprécié cette conférence, j'ai deux suggestions pour vous. Premièrement, nous publierons ceci |