Fouten in functies voor prognosemodellering oplossen
Wanneer u gebruikmaakt van functies voor prognosemodellering in Tableau, kunt u fouten tegenkomen wanneer u de berekeningen aan een visualisatie probeert toe te voegen. Vaak komt dit door de combinatie van predictors en gevisualiseerde elementen, wat leidt tot een wiskundig ongeldige berekening.
Over het algemeen is het nuttig om eerst uw Berekenen met-dimensie nog eens te controleren. Controleer vervolgens of er geen discrepantie is tussen het detailniveau dat is opgegeven in uw predictors en het detailniveau in de weergave. Controleer ook of uw predictors relevante data aan het model leveren, gegeven de huidige visualisatie.
In dit artikel beschrijven we een aantal veelvoorkomende problemen in detail en vertellen we hoe u deze kunt aanpakken.
Fouten met functies voor prognosemodellering worden meestal veroorzaakt door een of meer van de volgende problemen, afhankelijk van het gebruikte model.
Algemene fouten
- Ongeldige Berekenen met-dimensie
- Dimensiepredictors conflicteren met het gevisualiseerde detailniveau
- Meerdere predictors conflicteren met elkaar
- Er zijn niet genoeg data om een model te bouwen
- Er kon geen succesvol model worden geconstrueerd op basis van de verstrekte data
Fouten bij Gaussische procesregressie
- Voor Gaussische procesregressie is precies één geordende dimensiepredictor nodig
- Gaussische procesregressie ondersteunt alleen dimensies als predictors
- Er zijn geen trainingsdata voor een of meer voorspellingsdoelen
- Er zijn meer dan 5.000 markeringen
Ongeldige Berekenen met-dimensie
Bij het visualiseren van een prognosemodelleringsfunctie moet een Berekenen met-dimensie worden opgegeven. Het is aan te raden om een specifieke dimensie te selecteren (zoals Regio of Categorie) in plaats van een richtinggevende dimensie (zoals Tabel opzij en dan omlaag of Deelvenster opzij).
Omdat u mogelijk meerdere functies voor prognosemodellering in een visualisatie of dashboard hebt opgenomen, kunt u door een specifieke partitiedimensie te selecteren ervoor zorgen dat u modellen bouwt met dezelfde onderliggende dataset voor elke afzonderlijke functie. Met andere woorden: u vergelijkt resultaten van vergelijkbare modellen.
Zie Waarden transformeren met tabelberekeningen voor meer informatie over het gebruik van partitioneren.
Wanneer u met functies voor prognosemodellering werkt, moet u ervoor zorgen dat u consistentie behoudt in de verschillende instanties, zowel in verschillende iteraties van uw model (bijvoorbeeld wanneer u verschillende predictors selecteert) als in verschillende visualisaties. Met de directionele Berekenen met-dimensies bestaat de mogelijkheid dat een triviale wijziging in uw gevisualiseerde data een significant effect heeft op de data die worden gebruikt om het model te bouwen. Dit heeft invloed op de geldigheid en consistentie in verschillende visualisaties.
Je kunt nullwaarden te zien krijgen als er geen Berekenen met-dimensie is opgegeven, of als er een ongeldige Berekenen met-dimensie is geselecteerd.
Ongeldige Berekenen met-dimensies zijn:
- Cel: Deze dimensie resulteert er altijd in dat er één enkel datapunt wordt gebruikt om een model te bouwen, wat niet succesvol zal zijn.
- Een geneste dimensie op een hoger niveau (bijvoorbeeld als Regio en Status beide worden gevisualiseerd op een as, waarbij markeringen worden gegenereerd voor Status maar gegroepeerd door Regio.) Als Regio is geselecteerd als de partitiedimensie, zal het nullwaarden retourneren, omdat er geen geformaliseerde markeringen zijn voor Regio in deze weergave.
In de bovenstaande visualisatie zijn geldige Berekenen met-dimensies: Status en Categorie. Het partitioneren van de data op Status of Categorie levert meerdere geldige markeringen op die gebruikt kunnen worden om een model te bouwen.
Regio wordt weliswaar weergegeven als een Berekenen met-optie, maar genereert geen markeringen op het detailniveau van deze weergave en kan niet worden gebruikt om de data te partitioneren.
Zie Berekenen met en datapartitionering in prognosemodellering voor meer informatie.
Dimensiepredictors conflicteren met het gevisualiseerde detailniveau
Dimensiepredictors moeten op hetzelfde detailniveau worden gevisualiseerd of hoger. Dat wil zeggen dat als u data visualiseert op Status, u Status, Regio of Land kunt gebruiken als predictors, maar dat Stad als predictor een fout zal veroorzaken. Omdat er meerdere steden binnen een staat bestaan, zal deze predictor voor alle markeringen naar * verwijzen en geen zinvolle informatie retourneren. Daarom negeert Tableau deze.
Elke dimensionale predictor moet worden ingesloten in een ATTR-functie (in het Engels), bijvoorbeeld:
MODEL_PERCENTILE(SUM([Sales]), ATTR([State]), ATTR([Category])
Meerdere predictors conflicteren met elkaar
Elke predictor die binnen een bepaalde functie voor prognosemodellering wordt gebruikt, moet onafhankelijke informatie aan de berekening verstrekken. Als er twee predictors worden geselecteerd die exact gelijkwaardig aan, geschaalde versies of het omgekeerde van elkaar zijn, retourneert de prognosemodelleringsfunctie een foutmelding wanneer deze wordt gevisualiseerd.
Een dataset die weersomstandigheden in de loop van de tijd bijhoudt, kan bijvoorbeeld twee velden bevatten: IsRegen en IsDroog. Deze twee velden het omgekeerde van elkaar, wat wil zeggen dat IsDroog = Waar wanneer IsRegen = Onwaar, en omgekeerd. Als zowel IsDroog als IsRegen worden opgenomen als predictors in een enkele prognosemodelleringsfunctie, zal deze een fout retourneren.
Het bovenstaande geldt voor zowel meetwaarden als dimensies als predictors.
In beide gevallen kunt u de fout oplossen door uw predictors aan te passen en de sterk gecorreleerde predictors te verwijderen. Zie Predictors kiezen voor meer informatie.
Er zijn niet genoeg data om een model te bouwen
Er moeten minimaal drie markeringen binnen een partitie aanwezig zijn, zodat functies voor prognosemodellering een model kunnen bouwen en voorspellingen kunnen genereren. Als er twee of minder markeringen in de dataset staan die is gedefinieerd door de weergegeven data en de Berekenen met-dimensie, retourneert de prognosemodelleringsfunctie nullresultaten.
U kunt dit probleem oplossen door het detailniveau, de parameters voor datafiltering of de Berekenen met-dimensie te wijzigen, zodat elke partitie meer dan twee markeringen heeft.
Er kon geen succesvol model worden geconstrueerd op basis van de verstrekte data
Deze fout treedt op als er een conflict is tussen de geselecteerde predictor(s), het gevisualiseerde detailniveau en/of de geselecteerde Berekenen met-dimensie, waardoor het onmogelijk is om de predictors te gebruiken om een rationeel model te bouwen.
Laten we bijvoorbeeld eens kijken naar deze MODEL_QUANTILE-berekening:
MODEL_QUANTILE(0.5, MEDIAN([Profit]), ATTR(MONTH([Order Date])))
Als we deze berekening toepassen op een visualisatie waarbij elk markering een Status-waarde vertegenwoordigt, zal de onderstaande fout worden geretourneerd:
Aangezien Besteldatum niet wordt gebruikt om de data te visualiseren of te segmenteren, kan de prognosemodelleringsfunctie de opgegeven predictor niet gebruiken om een model te bouwen.
Om dit op te lossen:
- Werk uw visualisatie bij om de predictor als dimensie op te nemen.
- Werk uw functie bij om de niet-geschikte predictor te verwijderen.
U ziet dat deze fout een mismatch weerspiegelt tussen de visualisatie en de specifieke predictors van de tabelberekening. Deze berekening zou zonder problemen werken als deze wordt toegepast op een visualisatie die Besteldatum omvat als dimensie.
Voor Gaussische procesregressie is precies één geordende dimensiepredictor nodig
Om Gaussische procesregressie te gebruiken, moet u precies één geordende dimensie als predictor opnemen. U kunt extra ongeordende dimensies als predictors toevoegen. Meetwaarden kunnen niet worden gebruikt als predictors bij Gaussische procesregressie.
Als u deze fout tegenkomt, voegt u een predictor van een geordende dimensie toe aan uw tabelberekening, verwijdert u de overtollige predictor van een geordende dimensie of geeft u op dat een van de geordende dimensies moet worden behandeld als een ongeordende dimensie.
Omdat Gaussische procesregressie het beste kan worden gebruikt voor tijdreeksdata, zal dit doorgaans de vorm aannemen van een op tijd gebaseerde predictor zoals ATTR(DATETRUNC('month',[Order Date])). Ieder datumgedeelte kan worden gebruikt in de DATETRUNC-expressie, maar het datumgedeelte moet op hetzelfde of een hoger detailniveau zijn als de visualisatie. Dat wil zeggen, als de visualisatie WEEK([Order Date]) gebruikt als aggregatieniveau, moet het datumgedeelte week,month,quarter, etc. zijn, en niet dayofyear, day, weekday, hour, etc.
Houd er rekening mee dat ATTR(MONTH([Date])) tekenreekswaarden retourneert en daarom niet als een geordende dimensionale predictor functioneert, tenzij deze handmatig wordt opgegeven. Dit kunt u doen door ordered direct vóór de predictor op te nemen, zoals hieronder:
MODEL_PERCENTILE(
"model=gp",
SUM([Sales]),
"ordered",ATTR(MONTH([Order Date]))
)
Als u meerdere tijdsdimensies in uw predictors wilt opnemen, moet u aangeven welke u als ongeordende dimensies wilt gebruiken. Dit kunt u doen door unordered direct vóór de dimensie op te nemen, zoals hieronder:
MODEL_PERCENTILE(
"model=gp",
SUM([Sales]),
ATTR(DATETRUNC('month',[Order Date]))
"unordered",ATTR(DATETRUNC('year',[Order Date]))
)
Als u probeert om de bovenstaande berekening te gebruiken zonder ongeordend op te geven voor ATTR(DATETRUNC('year',[Order Date]), wordt er een fout geretourneerd.
Bovendien moet de adresseringsrichting (of Berekenen met) voor Gaussische procesregressie worden ingesteld op hetzelfde veld als de predictor van de geordende dimensie.
Er kan slechts één adresseringsrichting (of Berekenen met) voor alle modellen worden geselecteerd.
Gaussische procesregressie ondersteunt alleen dimensies als predictors
U kunt geen meetwaarde gebruiken als predictor bij Gaussische procesberekeningen. Verwijder de meetwaardepredictor.
Deze beperking is alleen van toepassing op functies voor prognosemodellering die Gaussische procesregressie opgeven. Lineaire regressie (of OLS, de standaard) en geregulariseerde lineaire regressiefuncties ondersteunen beide meetwaarden als predictors.
Er zijn geen trainingsdata voor een of meer voorspellingsdoelen
Voor Gaussische procesregressie is het nodig dat elke datapartitie ten minste n datapunten heeft om een voorspellend model mee te bouwen en voorspellingen te doen. Als u deze fout tegenkomt, moet u uw voorspellingen herzien.
Er zijn meer dan 5.000 markeringen
Gaussische procesregressies worden alleen ondersteund voor visualisaties met minder dan 5.000 markeringen. U kunt dit probleem oplossen door het detailniveau bij te werken en zo het aantal punten te verlagen, of door een ander statistisch model te selecteren.