J'ai pu comprendre comment accéder au noyau plus facilement dans la plate-forme bivariée.Un script qui crée de fausses données bruyantes, adapte un noyau plus lisse aux données (avec une variable by) et enregistre l'ajustement dans une nouvelle colonne de la table de données est ci-dessous
dt = New Table( "smoother example",
Add Rows( 90 ),
New Column( "X",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]
)
),
New Column( "Y",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula(
Sine( :X / (Pi() * 2) ) + Random Normal( 0, 0.01 ) + (
Floor( Random Uniform( 0, 10 ) ) == 1) * Random Uniform( -1, 1 )
),
Set Display Width( 100 )
),
New Column( "ByVar",
Character,
"Nominal",
Set Values(
{"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A",
"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A",
"A", "A", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B",
"B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B",
"B", "B", "B", "B", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C",
"C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C",
"C", "C", "C", "C", "C", "C"}
)
)
);
obj = dt << Bivariate(
Ignore Platform Preferences( 1 ),
Y( :Y ),
X( :X ),
By( :ByVar )
);
obj << Kernel Smoother( 2, 1, 0.5, 1 );
obj << (curve[1] << save predicteds);Marquer,
Merci d'avoir répondu rapidement.
J'ai JMP Pro 14 et j'ai travaillé avec l'explorateur de données fonctionnel, y compris le nettoyage des données et l'ajustement des splines b. J'ai utilisé les outils qui aident au nettoyage manuel des données et j'ai trouvé qu'ils fonctionnaient bien dans certains cas. Dans le cas d'utilisation que j'ai décrit cependant, il y a 3 éléments que je cherche à contourner.
1. Il faut un temps considérable pour nettoyer un grand ensemble de données dans FDE (des centaines de séries chronologiques individuelles) - zoomer manuellement sur chaque série chronologique, sélectionner des points, cliquer sur "supprimer"...
2. Les séries chronologiques prédites qui sont produites à partir des splines ajustées dans FDE n'impute pas les données manquantes. Par exemple, si les données pour time = 1000 étaient absentes de l'ensemble de données d'origine, elles sont absentes de l'ajustement. S'il existe un moyen efficace d'imputer les valeurs directement dans FDE, je ne l'ai pas trouvé. Je peux trouver une solution de contournement en insérant les valeurs de temps manquantes, en ajustant une spline et en utilisant les valeurs de spline calculées. J'aimerais éliminer les étapes supplémentaires.
3. J'aimerais finalement faire le lissage "sur place", avec un script qui remplace les données brutes par des données lissées sur une table de données pouvant contenir plusieurs centaines de capteurs, chacun avec plusieurs centaines de points de données.
La distinction entre le signal réel et l'anomalie ou le biais est relativement simple dans l'ensemble de données, avec une connaissance de la façon dont il est généré. Les changements de type d'étape sont réels, mais les faux points uniques sont des valeurs mal calculées. Les points de données erronés dans les ensembles de données typiques de cette analyse (que j'exécute plusieurs fois par semaine) sont très facilement détectés à l'œil nu. De plus, un lisseur LOESS les identifie de manière fiable.
-Sera