Technické informace o algoritmu clusteringu Microsoft Sequence

Platí pro: SQL Server 2019 a starší služby Analysis Services Azure Analysis Services Fabric/ Power BI Premium

Důležité

Dolování dat bylo v SQL Serveru 2017 Analysis Services zastaralé a nyní ukončeno ve službě SQL Server 2022 Analysis Services. Dokumentace se neaktualizuje pro zastaralé a ukončené funkce. Další informace najdete v tématu Zpětná kompatibilita služby Analysis Services.

Microsoft Sequence Clustering algoritmus je hybridní algoritmus, který používá analýzu řetězu Markov k identifikaci seřazených sekvencí a kombinuje výsledky této analýzy s clusteringovými technikami pro generování clusterů na základě sekvencí a dalších atributů v modelu. Toto téma popisuje implementaci algoritmu, postup přizpůsobení algoritmu a zvláštní požadavky na sekvenční modely clusteringu.

Další obecné informace o algoritmu, včetně postupu procházení a dotazování na modely shlukování sekvencí, viz Microsoft Sequence Clustering Algorithm.

Implementace algoritmu Microsoft Sequence Clustering

Model clusteringu Microsoft Sequence používá modely Markov k identifikaci sekvencí a určení pravděpodobnosti sekvencí. Model Markov je směrovaný graf, který ukládá přechody mezi různými stavy. Algoritmus clusteringu Microsoft Sequence používá řetězy Markov n-order, nikoli skrytý model Markova.

Počet objednávek v řetězci Markov vám řekne, kolik stavů se používá k určení pravděpodobnosti aktuálních stavů. V modelu Markov v prvním pořadí závisí pravděpodobnost aktuálního stavu pouze na předchozím stavu. V řetězci Markov druhého pořadí závisí pravděpodobnost stavu na předchozích dvou stavech atd. U každého řetězce Markov ukládá přechodová matice přechody pro každou kombinaci stavů. S rostoucí délkou řetězce Markov se také zvyšuje velikost matice exponenciálně a matice se stává velmi zhuštěnou. Doba zpracování se také proporcionálně zvyšuje.

Může být užitečné vizualizovat řetěz pomocí příkladu analýzy clickstreamu, která analyzuje návštěvy webových stránek na webu. Uživatel pro každou relaci vytvoří dlouhou sekvenci kliknutí. Když vytvoříte model pro analýzu chování uživatelů na webu, datová sada použitá pro trénování je posloupnost adres URL převedená na graf, který zahrnuje počet všech instancí stejné cesty kliknutí. Graf například obsahuje pravděpodobnost, že se uživatel přesune ze stránky 1 na stránku 2 (10%), pravděpodobnost, že se uživatel přesune ze stránky 1 na stránku 3 (20%) atd. Když umístíte všechny možné cesty a části cest dohromady, získáte graf, který může být mnohem delší a složitější než jakákoliv pozorovaná cesta.

Ve výchozím nastavení používá algoritmus Microsoft Sequence Clustering metodu Expectation Maximization (EM) clusteringu. Další informace naleznete v tématu Technické reference k algoritmu clusteringu Microsoftu.

Cíle clusteringu jsou sekvenční i nesekvenční atributy. Každý cluster je náhodně vybrán pomocí rozdělení pravděpodobnosti. Každý cluster má řetězec Markov, který představuje úplnou sadu cest, a matici, která obsahuje přechody a pravděpodobnosti sekvenčního stavu. Na základě počátečního rozdělení se Bayes pravidlo používá k výpočtu pravděpodobnosti libovolného atributu, včetně sekvence, v určitém clusteru.

Algoritmus clusteringu Microsoft Sequence podporuje další nesekvenční atributy modelu. To znamená, že tyto další atributy jsou kombinovány s atributy sekvence k vytvoření clusterů případů s podobnými atributy, stejně jako v typickém modelu clusteringu.

Model sekvenčního clusteringu má tendenci vytvářet mnohem více clusterů než typický model clusteringu. Algoritmus Microsoft Sequence Clustering proto provádí rozklad clusteruna základě sekvencí a dalších atributů.

Výběr funkcí v sekvenčním modelu clusteringu

Výběr funkce není vyvolán při sestavování sekvencí; Ale výběr funkce se použije ve fázi clusteringu.

Typ modelu Metoda výběru atributů Comments
Sekvenční shlukování Nepoužívané Výběr funkce není vyvolán; Chování algoritmu však můžete řídit nastavením hodnoty parametrů MINIMUM_SUPPORT a MINIMUM_PROBABILIITY.
Klastrování Zajímavé skóre Ačkoli shlukovací algoritmus může používat diskrétní nebo diskretizované algoritmy, skóre každého atributu je vypočítáno jako vzdálenost a je spojité; proto se používá skóre zajímavosti.

Další informace naleznete v tématu Výběr funkce.

Optimalizace výkonu

Algoritmus clusteringu Microsoft Sequence podporuje různé způsoby optimalizace zpracování:

  • Řízení počtu vygenerovaných clusterů nastavením hodnoty parametru CLUSTER_COUNT.

  • Snížení počtu sekvencí zahrnutých jako atributy zvýšením hodnoty parametru MINIMUM_SUPPORT. V důsledku toho jsou vyloučeny vzácné sekvence.

  • Snížení složitosti před zpracováním modelu seskupením souvisejících atributů

Obecně platí, že výkon režimu řetězu Markov n-order můžete optimalizovat několika způsoby:

  • Řízení délky možných sekvencí.

  • Programově snižuje hodnotu n.

  • Ukládání pouze pravděpodobností, které překračují zadanou prahovou hodnotu.

Úplná diskuze o těchto metodách je nad rámec tohoto tématu.

Přizpůsobení algoritmu sekvenčního clusteringu

Algoritmus clusteringu Microsoft Sequence podporuje parametry, které ovlivňují chování, výkon a přesnost výsledného modelu dolování. Chování dokončeného modelu můžete také upravit nastavením příznaků modelování, které řídí způsob, jakým algoritmus zpracovává trénovací data.

Nastavení parametrů algoritmu

Následující tabulka popisuje parametry, které lze použít s algoritmem clusteringu Microsoft Sequence.

CLUSTER_COUNT
Určuje přibližný počet clusterů, které má algoritmus sestavit. Pokud z dat nelze sestavit přibližný počet clusterů, algoritmus sestaví co nejvíce clusterů. Nastavení parametru CLUSTER_COUNT na hodnotu 0 způsobí, že algoritmus použije heuristika, aby co nejlépe určil počet clusterů, které se mají sestavit.

Výchozí hodnota je 10.

Poznámka:

Určení nenulového čísla funguje jako indikace pro algoritmus, který pokračuje s cílem najít zadané číslo, ale může skončit nalezením více či méně.

MINIMUM_SUPPORT
Určuje minimální počet případů požadovaných pro podporu atributu pro vytvoření clusteru.

Výchozí hodnota je 10.

MAXIMUM_SEQUENCE_STATES
Určuje maximální počet stavů, které může posloupnost mít.

Nastavení této hodnoty na číslo větší než 100 může způsobit, že algoritmus vytvoří model, který neposkytuje smysluplné informace.

Výchozí hodnota je 64.

MAXIMUM_STATES
Určuje maximální počet stavů pro atribut bez sekvence, který algoritmus podporuje. Pokud je počet stavů atributu, který není sekvenční, větší než maximální počet stavů, algoritmus použije nejoblíbenější stavy atributu a považuje zbývající stavy za chybějící.

Výchozí hodnota je 100.

Příznaky modelování

Následující příznaky modelování jsou podporovány pro použití s algoritmem clusteringu Microsoft Sequence.

NESMÍ BÝT NULL
Označuje, že sloupec nemůže obsahovat hodnotu null. Pokud služba Analysis Services během trénování modelu narazí na hodnotu null, dojde k chybě.

Platí pro sloupec dolování.

MODEL_EXISTENCE_ONLY
Znamená, že se sloupec bude považovat za dva možné stavy: Chybějící a Existující. Hodnota null je považována za chybějící hodnotu.

Platí pro sloupec modelu dolování.

Další informace o použití chybějících hodnot v modelech dolování a o tom, jak chybějící hodnoty ovlivňují skóre pravděpodobnosti, najdete v tématu Chybějící hodnoty (Analysis Services – Dolování dat).

Požadavky

Tabulka případu musí mít sloupec s ID případu. Volitelně může tabulka případů obsahovat další sloupce, které ukládají atributy týkající se případu.

Algoritmus clusteringu Microsoft Sequence vyžaduje informace o sekvenci uložené jako vnořená tabulka. Vnořená tabulka musí mít jeden sloupec pořadí klíčů. Sloupec pořadí klíčů může obsahovat libovolný typ dat, která lze řadit, včetně datových typů řetězců, ale sloupec musí obsahovat jedinečné hodnoty pro každý případ. Navíc před zpracováním modelu musíte zajistit, aby byly tabulka případů a vnořená tabulka seřazené vzestupně podle klíče, který spojuje tabulky.

Poznámka:

Pokud vytvoříte model, který používá algoritmus Microsoft Sequence, ale nepoužívá sekvenční sloupec, výsledný model nebude obsahovat žádné sekvence, ale bude jednoduše clusterovat případy založené na jiných atributech, které jsou součástí modelu.

Vstupní a předvídatelné sloupce

Algoritmus clusteringu Microsoft Sequence podporuje konkrétní vstupní sloupce a předvídatelné sloupce uvedené v následující tabulce. Další informace o tom, co typy obsahu znamenají při použití v modelu dolování, naleznete v tématu Typy obsahu (Dolování dat).

Sloupec Typy obsahu
Vstupní atribut Kontinuální, Cyklus, Diskrétní, Diskretizovaný, Klíč, Sekvence Klíčů, Tabulka a Seřazený
Předvídatelný atribut Kontinuální, Cyklické, Diskrétní, Diskretizované, Tabulka a Uspořádané

Poznámky

Viz také

Algoritmus pro shlukování Microsoft Sequence
Příklady dotazů modelu sekvenčního clusteringu
Obsah modelu dolování pro sekvenční clusteringové modely (Analysis Services – Dolování dat)