Brakujące wartości (Analysis Services — eksploracja danych)

Dotyczy: SQL Server 2019 i starsze usługi Analysis Services Azure Analysis Services Fabric/Power BI Premium

Ważne

Funkcja wyszukiwania danych została uznana za przestarzałą w usługach SQL Server 2017 Analysis Services i została zakończona w usługach SQL Server 2022 Analysis Services. Dokumentacja nie jest aktualizowana dla przestarzałych i wycofanych funkcji. Aby dowiedzieć się więcej, zobacz zgodność z poprzednimi wersjami usług Analysis Services.

Prawidłowe obsługiwanie brakujących wartości jest ważne dla efektywnego modelowania. W tej sekcji opisano brakujące wartości i wyjaśniono, jak używać funkcji SQL Server Analysis Services do ich obsługi podczas tworzenia struktur i modeli wyszukiwania danych.

Definicja brakujących wartości w wyszukiwaniach danych

Brakująca wartość może oznaczać wiele różnych rzeczy. Być może pole nie miało zastosowania, zdarzenie się nie stało lub dane nie były dostępne. Może to oznaczać, że osoba, która wprowadziła dane, nie znała właściwej wartości lub nie obchodziła się, czy pole nie zostało wypełnione.

Brakujące wartości zawierają ważne informacje w wielu scenariuszach wyszukiwania danych. Znaczenie brakujących wartości zależy w dużej mierze od kontekstu. Na przykład brakująca wartość daty na liście faktur znacznie różni się od braku daty w kolumnie, która wskazuje datę zatrudnienia pracownika. Ogólnie rzecz biorąc, usługi SQL Server Analysis Services traktują brakujące wartości jako informacyjne i dostosowuje prawdopodobieństwa, aby uwzględnić brakujące wartości w obliczeniach. Dzięki temu możesz mieć pewność, że modele są dobrze wyważone i nie przypisują zbyt dużej wagi istniejącym przypadkom.

SQL Server Analysis Services udostępnia dwa mechanizmy obsługi brakujących wartości. Pierwsza metoda kontroluje obsługę wartości null w strukturze górnictwa. Każdy algorytm implementuje drugą metodę inaczej, aby przetwarzać i liczyć brakujące wartości w modelach, które zezwalają na wartości null.

Określanie obsługi wartości pustych

Źródło danych może reprezentować brakujące wartości jako wartości null, puste komórki N/A arkusza kalkulacyjnego lub inny kod albo sztuczną wartość, na przykład 9999. Jednak do celów wyszukiwania danych tylko wartości null są uznawane za brakujące wartości. Jeśli dane zawierają wartości zastępcze zamiast wartości null, mogą mieć wpływ na wyniki modelu, dlatego należy zastąpić je wartościami null lub wywnioskować poprawne wartości, jeśli to możliwe. Istnieje wiele narzędzi, których można użyć do wnioskowania i wypełniania odpowiednich wartości, takich jak transformacja typu Lookup lub zadanie Profilera danych w usługach SQL Server Integration Services, albo narzędzie Wypełnianie na podstawie przykładu udostępnione w Dodatkach do analizy danych dla programu Excel.

Jeśli modelowane zadanie nie dopuszcza brakujących wartości w kolumnie, zastosuj flagę modelowania NOT_NULL przy definiowaniu struktury eksploracji. Ta flaga wskazuje, że przetwarzanie powinno zakończyć się niepowodzeniem, jeśli przypadek nie ma odpowiedniej wartości. Jeśli ten błąd wystąpi podczas przetwarzania modelu, możesz zarejestrować błąd i wykonać kroki w celu skorygowania danych dostarczonych do modelu.

Obliczanie brakującego stanu

Algorytmy wyszukiwania danych traktują brakujące wartości jako informacyjne. W przypadku tabel Brak jest prawidłowym stanem. Model wyszukiwania danych może użyć innych wartości, aby przewidzieć, czy brakuje wartości, więc brak wartości nie jest błędem.

Podczas tworzenia modelu kopania danych, do modelu zostaje automatycznie dodany stan brakujący dla wszystkich dyskretnych kolumn. Jeśli na przykład kolumna wejściowa [Gender] zawiera wartości Male i Female, model dodaje trzecią wartość , Missing (Brak). Histogram kolumny zawiera liczbę przypadków ze stanem Brak. Jeśli w kolumnie Płeć nie brakuje żadnych wartości, histogram pokazuje, że brakujących danych jest 0 przypadków.

Uzasadnienie włączenia stanu Brakujące domyślnie staje się jasne, jeśli wziąć pod uwagę, że dane mogą nie mieć przykładów wszystkich możliwych wartości i nie chcesz, aby model wykluczył możliwość tylko dlatego, że nie było przykładu w danych. Jeśli na przykład dane sprzedaży sklepu pokazały, że wszyscy klienci, którzy kupili określony produkt, to kobiety, nie chcesz tworzyć modelu, który przewiduje, że tylko kobiety mogą kupić produkt. Zamiast tego usługa SQL Server Analysis Services dodaje element zastępczy dla dodatkowej nieznanej wartości nazwany Brak, w celu obsługi możliwych innych stanów.

Na przykład w poniższej tabeli przedstawiono rozkład wartości węzła (Wszystkie) w modelu drzewa decyzyjnego utworzonego na potrzeby samouczka Kupujący rower. W przykładowym scenariuszu kolumna [Bike Buyer] jest przewidywalnym atrybutem, gdzie 1 wskazuje wartość "Tak", a 0 oznacza "Nie".

Wartość Sprawy
0 9296
1 9098
Brakujący 0

Rozkład pokazuje, że około połowa klientów kupuje rower i połowa nie. Każdy przypadek w tym zestawie danych ma wartość w kolumnie [Bike Buyer], więc liczba brakujących wartości wynosi zero. Jeśli przypadek zawiera wartość null w polu [Nabywca roweru], SQL Server Analysis Services zlicza ten wiersz jako przypadek z brakującą wartością.

Jeśli dane wejściowe są kolumną ciągłą, model tabelaryzuje dwa możliwe stany atrybutu: Istniejący i Brak. Innymi słowy, kolumna zawiera wartość typu danych liczbowych lub nie zawiera żadnej wartości. W przypadku przypadków, które mają wartość, model oblicza średnią, odchylenie standardowe i inne istotne statystyki. W przypadku przypadków, w których nie ma wartości, model udostępnia liczbę brakujących wartości i odpowiednio dostosowuje przewidywania. Metoda dostosowywania przewidywania różni się w zależności od algorytmu i została opisana w poniższej sekcji.

Uwaga / Notatka

W przypadku atrybutów w tabeli zagnieżdżonej brakujące wartości nie są informacyjne. Jeśli na przykład klient nie kupi produktu, zagnieżdżona tabela Products nie ma wiersza dla tego produktu, a model eksploracji danych nie tworzy dla niego atrybutu. Aby zidentyfikować klientów, którzy nie kupili określonych produktów, użyj instrukcji NOT EXISTS w filtrze modelu danych, aby odfiltrować rekordy dotyczące produktów, które nie występują w tabeli zagnieżdżonej. Aby uzyskać więcej informacji, zobacz Stosowanie filtru do modelu danych wydobywczych.

Dostosowywanie prawdopodobieństwa brakujących stanów

Oprócz zliczania wartości usługi SQL Server Analysis Services oblicza prawdopodobieństwo dowolnej wartości w zestawie danych. To samo obliczenie dotyczy brakującej wartości. Na przykład w poniższej tabeli przedstawiono prawdopodobieństwa przypadków w poprzednim przykładzie:

Wartość Sprawy Prawdopodobieństwo
0 9296 50.55%
1 9098 49.42%
Brakujący 0 0.03%

Może się wydawać dziwne, że prawdopodobieństwo braku wartości wynosi 0,03%, gdy liczba przypadków wynosi 0. To zachowanie jest zgodnie z projektem i reprezentuje korektę, która umożliwia modelowi bezproblemowe obsługę nieznanych wartości.

Ogólnie rzecz biorąc, prawdopodobieństwo jest obliczane jako korzystne przypadki podzielone przez wszystkie możliwe przypadki. W tym przykładzie algorytm oblicza sumę przypadków spełniających określony warunek ([Nabywca roweru] = 1 lub [Nabywca roweru] = 0) i dzieli tę liczbę przez całkowitą liczbę wierszy. Aby uwzględnić brakujące przypadki, algorytm dodaje 1 do liczby wszystkich możliwych przypadków. W rezultacie prawdopodobieństwo nieznanego przypadku nie jest już zerowe, ale bardzo mała liczba wskazująca, że stan jest jedynie nieprawdopodobny, a nie niemożliwe.

Niewielka wartość Brak nie zmienia prognozy, ale usprawnia modelowanie, jeśli w danych historycznych nie uwzględniono wszystkich możliwych wyników.

Uwaga / Notatka

Dostawcy wyszukiwania danych obsługują brakujące wartości inaczej. Na przykład niektórzy dostawcy traktują brakujące dane w kolumnie zagnieżdżonej jako rzadką reprezentację, a brakujące dane w kolumnie niezagnieżdżonej jako brak losowy.

Jeśli dane określają wszystkie wyniki, ustaw flagę modelowania NOT_NULL w kolumnie struktury eksploracji danych, aby zapobiec korektom wartości prawdopodobieństwa.

Uwaga / Notatka

Każdy algorytm, w tym algorytm niestandardowy z wtyczki innej firmy, może obsługiwać brakujące wartości inaczej.

Specjalna obsługa brakujących wartości w modelach drzewa decyzyjnego

Algorytm Microsoft Decision Trees oblicza prawdopodobieństwa dla brakujących wartości inaczej niż inne algorytmy. Zamiast dodawać jeden do łącznej liczby przypadków, algorytm używa innej formuły, aby dostosować się do brakującego stanu.

W modelu drzewa decyzyjnego użyj następującej formuły, aby obliczyć prawdopodobieństwo stanu Brak:

Prawdopodobieństwo_stanu = (Prawdopodobieństwo_priorytetowe_węzła) * (Wsparcie_stanu + 1) / (Wsparcie_węzła + Suma_stanów)

Algorytm drzew decyzyjnych zapewnia dodatkową korektę, która pomaga algorytmowi zrekompensować obecność filtrów w modelu, co może wykluczać wiele stanów podczas trenowania.

W programie SQL Server 2017, jeśli stan jest obecny podczas uczenia, ale ma zerowe wsparcie w danym węźle, algorytm wprowadza standardową korektę. Jeśli jednak podczas trenowania nigdy nie napotkano stanu, algorytm ustawia prawdopodobieństwo na dokładnie zero. To dostosowanie ma zastosowanie nie tylko do stanu Brak, ale także do innych stanów, które istnieją w danych treningowych, ale nie mają żadnego wsparcia w wyniku filtrowania modelu.

Ta dodatkowa korekta powoduje następującą formułę:

StateProbability = 0.0, jeśli ten stan nie ma wsparcia w zestawie treningowym

W PRZECIWNYM RAZIE PrawdopodobieństwoStanu = (PrawdopodobieństwoPrioraWęzła)* (WsparcieStanu + 1) / (WsparcieWęzła + CałkowitaLiczbaStanówZoNiezerowymWsparciem)

Efekt netto tego dostosowania polega na utrzymaniu stabilności drzewa.

Te zasoby wyjaśniają sposób obsługi brakujących wartości.

Tasks Links
Dodawanie flag do poszczególnych kolumn modelu w celu kontrolowania sposobu obsługi brakujących wartości przez model Wyświetlanie lub zmienianie flag modelowania (wyszukiwania danych)
Ustaw właściwości modelu eksploracji danych, aby określić, jak model obsługuje brakujące wartości Zmienianie właściwości modelu analitycznego
Określ flagi modelowania w DMX Flagi modelowania (DMX)
Zmienianie sposobu obsługi brakujących wartości przez strukturę górniczą Zmienianie właściwości struktury górniczej

Zobacz też

Zawartość modelu eksploracji danych (Analysis Services — eksploracja danych)
Flagi modelowania (wyszukiwania danych)