J'essaie de tracer une équation dans Graph Builder, par exemple 1 / (1 + exp (-1 * alpha + (beta * T))) pour laquelle j'ai 36 000 estimations plausibles d'alpha et de bêta. T est compris entre 50 et 350 ° C. En appliquant une certaine transparence à chaque ligne, il est possible de voir où se trouve le poids des données. L'exemple ci-dessous utilise matlibplot en python (c'est là que mes coefficients sont générés).

J'ai plus de 1500 groupes différents de coefficients d'équation estimés à tracer et j'aimerais le faire de manière à:
- Ne crée pas de gros fichiers
- Peut fonctionner pour différentes équations avec un nombre variable de coefficients
- Fonctionne avec un filtre de données local (ou filtre de table)
- Cela semble bon
Un moyen simple serait de concaténer tous mes fichiers avec la même équation, y compris une colonne du tableau source. Je pourrais alors cartésien joindre une table de températures et ajouter la colonne de formule. Ceci est scriptable mais transforme un fichier de moins de 1 Mo en un fichier de plus de 300 Mo.
Je me demandais si la nouvelle colonne d'expression contenant un vecteur pourrait être en mesure de faire quelque chose de mieux? Ou il existe une manière plus élégante d'utiliser des jointures virtuelles?
J'ai joint quelques exemples de données et j'attends vos suggestions.
Mise à jour: comme @ gzmorgan0 remarqué que c’est y = 1 / (1 + exp (-1 * (alpha + beta * T)) que j’essaie de faire. Les données proviennent de MCMC (Markov-Chain Monte-Carlo) et ces données sont un résultat terrible (c'est pourquoi je peux les partager). Mes vrais exemples ont des équations différentes mais le principe de ce que je veux tracer est le même.
Stephen,
Je comprends votre question, mais hésite à recommander au moins une solution pour ces données. Je ne sais pas comment vous avez généré vos 36 000 coefficients; sur la base des données, cela semble être 36 000 itérations d'un ajustement instable non linéaire. Bien sûr, je peux me tromper, mais laissez-moi vous expliquer. Tout d'abord votre modèle y = 1 / (1 + exp (-1 * alpha + bêta * T)), ne semble pas correspondre à votre graphique. Tous vos coefficients alpha sont négatifs et bêta sont tous positifs et T va de 50 à 350, donc -1 * alpha + beta * T est toujours positif, autrement dit, Y ne peut jamais être égal à 1. Vos valeurs alpha ne devraient-elles pas être positives, alors quand -1 * alpha + bêta * T = 0 ou T = alpha / bêta, alors y = 1/2 et quand -1 * alpha + bêta * T <0 (un grand négatif valeur), alors Y se rapproche de 1. Je pense que tu avais l'intention
y = 1 / (1 + exp (-1 * (alpha + beta * T)), un alpha négatif prend alors tout son sens et le tracé correspond à votre graphique.
La raison de mon évaluation (éventuellement incorrecte) est que la corrélation de vos coefficients alpha et bêta, telle que spécifiée dans le tableau, est -0,99994. Créer une colonne alpha / beta. La distribution est une distribution uniforme aléatoire de -101,8 à -99 (le graphe vbelow est shwing abs (alpha / beta). Puisque alpha est une fonction de la version bêta, regardez la distribution de la version bêta. Je ne ferais que tracer les fonctions de bêta au minimum, au maximum et aux 10, 25, 50, 75, 90 centiles.
Alors peut-être que c'était un mauvais exemple de ce que vous voulez. Je pense que vous voudrez peut-être un affichage personnalisé, similaire à la bibliothèque non linéaire.



