Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
SQL Server 2019 en eerder Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Belangrijk
Data mining werd verouderd verklaard in SQL Server 2017 Analysis Services en is nu stopgezet in SQL Server 2022 Analysis Services. Documentatie wordt niet bijgewerkt voor afgeschafte en stopgezette functies. Zie Analysis Services-compatibiliteit met eerdere versies voor meer informatie.
Het correct verwerken van ontbrekende waarden is een belangrijk onderdeel van effectieve modellering. In deze sectie wordt uitgelegd wat ontbrekende waarden zijn en worden de functies in SQL Server Analysis Services beschreven om met ontbrekende waarden te werken bij het bouwen van gegevensanalysestructuren en miningmodellen.
Definitie van ontbrekende waarden in gegevensanalyse
Een ontbrekende waarde kan een aantal verschillende dingen betekenen. Het veld is mogelijk niet van toepassing, de gebeurtenis is niet gebeurd of de gegevens zijn niet beschikbaar. Het kan zijn dat de persoon die de gegevens heeft ingevoerd, de juiste waarde niet wist of het niet uitmaakt of een veld niet is ingevuld.
Er zijn echter veel scenario's voor gegevensanalyse waarin ontbrekende waarden belangrijke informatie bieden. De betekenis van de ontbrekende waarden is grotendeels afhankelijk van context. Een ontbrekende waarde voor de datum in een lijst met facturen heeft bijvoorbeeld een aanzienlijke andere betekenis dan het ontbreken van een datum in een kolom die de aanname van een werknemer aangeeft. Over het algemeen behandelt SQL Server Analysis Services ontbrekende waarden als informatief en past u de waarschijnlijkheden aan om de ontbrekende waarden op te nemen in de berekeningen. Door dit te doen, kunt u ervoor zorgen dat modellen evenwichtig zijn en bestaande gevallen niet te zwaar wegen.
Daarom biedt SQL Server Analysis Services twee verschillende mechanismen voor het beheren en berekenen van ontbrekende waarden. De eerste methode bepaalt de verwerking van null's op het niveau van de mijnbouwstructuur. De tweede methode verschilt in implementatie voor elk algoritme, maar definieert in het algemeen hoe ontbrekende waarden worden verwerkt en geteld in modellen die null-waarden toestaan.
Verwerking van Null-waarden opgeven
In uw gegevensbron kunnen ontbrekende waarden op veel manieren worden weergegeven: als null-waarden, als lege cellen in een spreadsheet, als de waarde N/B of een andere code, of als een kunstmatige waarde zoals 9999. Voor gegevensanalyse worden echter alleen null-waarden beschouwd als ontbrekende waarden. Als uw gegevens tijdelijke aanduidingen bevatten in plaats van nullen, kunnen ze van invloed zijn op de resultaten van het model. Vervang ze daarom door nullen of leid indien mogelijk de juiste waarden af. Er zijn verschillende hulpprogramma's die u kunt gebruiken om de juiste waarden af te afleiden en in te vullen, zoals de opzoektransformatie of de gegevensprofieltaak in SQL Server Integration Services, of het hulpprogramma Fill By Example in de data mining-Add-Ins voor Excel.
Als de taak die u modelleert, aangeeft dat een kolom nooit ontbrekende waarden mag hebben, moet u de vlag NOT_NULL modellering toepassen op de kolom wanneer u de mijnbouwstructuur definieert. Deze vlag geeft aan dat de verwerking moet mislukken als een case geen geschikte waarde heeft. Als deze fout optreedt bij het verwerken van een model, kunt u de fout vastleggen en stappen uitvoeren om de gegevens te corrigeren die aan het model worden geleverd.
Berekening van de ontbrekende status
Voor het algoritme voor gegevensanalyse zijn ontbrekende waarden informatief. In het geval dat tabellen ontbreken, is ontbrekend een geldige status zoals elke andere. Bovendien kan een gegevensanalysemodel andere waarden gebruiken om te voorspellen of een waarde ontbreekt. Met andere woorden, het feit dat een waarde ontbreekt, is geen fout.
Wanneer u een mijnbouwmodel maakt, wordt er automatisch een ontbrekende status toegevoegd aan het model voor alle afzonderlijke kolommen. Als de invoerkolom [Geslacht] bijvoorbeeld twee mogelijke waarden bevat, man en vrouw, wordt automatisch een derde waarde toegevoegd om de ontbrekende waarde weer te geven en het histogram waarin de verdeling van alle waarden voor de kolom wordt weergegeven, altijd een telling van de gevallen met Ontbrekende waarden bevat. Als in de kolom Geslacht geen waarden ontbreken, ziet u in het histogram dat de status Ontbreekt in 0 gevallen wordt gevonden.
De reden voor het standaard opnemen van de ontbrekende status wordt duidelijk wanneer u denkt dat uw gegevens mogelijk geen voorbeelden van alle mogelijke waarden hebben en u niet wilt dat het model de mogelijkheid uitsluit, alleen omdat er geen voorbeeld in de gegevens was. Als bijvoorbeeld verkoopgegevens voor een winkel laten zien dat alle klanten die een bepaald product hebben gekocht, vrouwen waren, zou u geen model willen maken dat voorspelt dat alleen vrouwen het product konden kopen. In plaats daarvan voegt SQL Server Analysis Services een tijdelijke aanduiding toe voor de extra onbekende waarde, ontbrekend genoemd, als een manier om mogelijke andere statussen in te sluiten.
In de volgende tabel ziet u bijvoorbeeld de verdeling van waarden voor het knooppunt (Alle) in het beslissingsstructuurmodel dat is gemaakt voor de zelfstudie Bike Buyer. In het voorbeeldscenario is de kolom [Bike Buyer] het voorspelbare kenmerk, waarbij 1 'Ja' aangeeft en 0 'Nee' aangeeft.
| Waarde | Aanvragen |
|---|---|
| 0 | 9296 |
| 1 | 9098 |
| Vermist | 0 |
Deze distributie laat zien dat ongeveer de helft van de klanten een fiets heeft gekocht en dat de helft dat niet heeft. Deze specifieke gegevensset is zeer schoon; daarom heeft elk geval een waarde in de kolom [Bike Buyer] en het aantal ontbrekende waarden is 0. Als er echter een null-waarde in het veld [Bike Buyer] is, telt SQL Server Analysis Services die rij als een geval met een ontbrekende waarde.
Als de invoer een doorlopende kolom is, bevat het model twee mogelijke statussen voor het kenmerk: Bestaand en Ontbreekt. Met andere woorden: de kolom bevat een waarde van een bepaald numeriek gegevenstype of bevat geen waarde. Voor gevallen met een waarde berekent het model het gemiddelde, de standaarddeviatie en andere zinvolle statistieken. Voor gevallen zonder waarde biedt het model het aantal ontbrekende vales en past de voorspellingen dienovereenkomstig aan. De methode voor het aanpassen van de voorspelling verschilt afhankelijk van het algoritme en wordt beschreven in de volgende sectie.
Opmerking
Voor kenmerken in een geneste tabel zijn ontbrekende waarden niet informatief. Als een klant bijvoorbeeld geen product heeft gekocht, heeft de tabel Geneste producten geen rij die overeenkomt met dat product en maakt het mijnbouwmodel geen kenmerk voor het ontbrekende product. Als u echter geïnteresseerd bent in klanten die bepaalde producten niet hebben gekocht, kunt u een model maken dat is gefilterd op het niet-bestaan van de producten in de geneste tabel, met behulp van een NOT EXISTS-instructie in het modelfilter. Zie Een filter toepassen op een mijnbouwmodel voor meer informatie.
Waarschijnlijkheid voor ontbrekende staten aanpassen
Naast het tellen van waarden berekent SQL Server Analysis Services de waarschijnlijkheid van een willekeurige waarde in de gegevensset. Hetzelfde geldt voor de ontbrekende waarde. In de volgende tabel ziet u bijvoorbeeld de waarschijnlijkheden voor de gevallen in het vorige voorbeeld:
| Waarde | Aanvragen | Waarschijnlijkheid |
|---|---|---|
| 0 | 9296 | 50,55% |
| 1 | 9098 | 49.42% |
| Vermist | 0 | 0,03% |
Het lijkt misschien vreemd dat de kans van de ontbrekende waarde wordt berekend als 0,03%, wanneer het aantal gevallen 0 is. Dit gedrag is zelfs standaard en vertegenwoordigt een aanpassing waarmee het model onbekende waarden correct kan verwerken.
In het algemeen wordt kans berekend als de gunstige gevallen gedeeld door alle mogelijke gevallen. In dit voorbeeld berekent het algoritme de som van de gevallen die voldoen aan een bepaalde voorwaarde ([Bike Buyer] = 1 of [Bike Buyer] = 0) en deelt dit getal door het totale aantal rijen. Als u echter rekening wilt houden met de ontbrekende gevallen, wordt 1 toegevoegd aan het aantal mogelijke gevallen. Als gevolg hiervan is de waarschijnlijkheid voor het onbekende geval niet langer nul, maar een zeer klein getal, wat aangeeft dat de toestand slechts onwaarschijnlijk is, niet onmogelijk.
De toevoeging van de kleine ontbrekende waarde verandert niet het resultaat van de predictor; Het maakt echter betere modellering mogelijk in scenario's waarin de historische gegevens niet alle mogelijke resultaten bevatten.
Opmerking
Gegevensanalyseproviders verschillen in de manier waarop ze ontbrekende waarden verwerken. Sommige providers gaan er bijvoorbeeld van uit dat ontbrekende gegevens in een geneste kolom een sparsere weergave zijn, maar dat ontbrekende gegevens in een niet-geneste kolom willekeurig ontbreken.
Als u zeker weet dat alle resultaten zijn opgegeven in uw gegevens en wilt voorkomen dat waarschijnlijkheden worden aangepast, moet u de vlag NOT_NULL modellering instellen op de kolom in de mijnbouwstructuur.
Opmerking
Elk algoritme, inclusief aangepaste algoritmen die u hebt verkregen via een invoegtoepassing van derden, kan ontbrekende waarden op een andere manier verwerken.
Speciale verwerking van ontbrekende waarden in beslissingsstructuurmodellen
Het Microsoft Decision Trees-algoritme berekent waarschijnlijkheden voor ontbrekende waarden anders dan in andere algoritmen. In plaats van slechts 1 toe te voegen aan het totale aantal gevallen, past het beslissingsstructuuralgoritmen zich aan voor de ontbrekende status met behulp van een iets andere formule.
In een beslissingsstructuurmodel wordt de kans van de ontbrekende status als volgt berekend:
StateProbability = (KnooppuntA-priorikans) * (ToestandOndersteuning + 1) / (KnooppuntOndersteuning + TotaalAantallenToestanden)
Het algoritme Decision Trees biedt een extra aanpassing waarmee het algoritme de aanwezigheid van filters op het model kan compenseren, wat kan leiden tot een groot aantal statussen die tijdens de training moeten worden uitgesloten.
Als in SQL Server 2017 een status aanwezig is tijdens de training, maar alleen geen ondersteuning in een bepaald knooppunt heeft, wordt de standaardaanpassing uitgevoerd. Als tijdens de training echter nooit een status wordt aangetroffen, stelt het algoritme de waarschijnlijkheid in op exact nul. Deze aanpassing is niet alleen van toepassing op de ontbrekende status, maar ook op andere statussen die aanwezig zijn in de trainingsgegevens, maar hebben geen ondersteuning als gevolg van modelfiltering.
Deze aanvullende aanpassing resulteert in de volgende formule:
StateProbability = 0,0 als die status 0 ondersteuning heeft in de trainingsset
ELSE StateProbability = (NodePriorProbability)* (StateSupport + 1) / (NodeSupport + TotalStatesWithNonZeroSupport)
Het netto-effect van deze aanpassing is het handhaven van de stabiliteit van de boom.
Gerelateerde taken
De volgende onderwerpen bevatten meer informatie over het afhandelen van ontbrekende waarden.
| Tasks | Links |
|---|---|
| Vlaggen toevoegen aan afzonderlijke modelkolommen om de verwerking van ontbrekende waarden te beheren | Modelleringsvlagmen weergeven of wijzigen (gegevensanalyse) |
| Eigenschappen instellen voor een mijnbouwmodel om de verwerking van ontbrekende waarden te beheren | De eigenschappen van een mijnbouwmodel wijzigen |
| Meer informatie over het opgeven van modelleervlagmen in DMX | Modelleringsvlagmen (DMX) |
| De manier wijzigen waarop de mijnbouwstructuur ontbrekende waarden verwerkt | De eigenschappen van een mijnbouwstructuur wijzigen |
Zie ook
Analysemodelinhoud (Analysis Services - Gegevensanalyse)
Modelleringsvlagmen (gegevensanalyse)