Blog

Kreatívne vizualizácie v Qlik Sense: Korelačná matica

Terézia Blašková

Emak

Pre niektorých ľudí sú jednou zo slabín Qlik Sense obmedzené vizualizácie, ale s trochou úsilia a premýšľania mimo zaužívaných rámcov môžete prekonať prekážky a vytvárať kreatívne vizualizácie v Qlik Sense. Dnes vytvoríme interaktívnu korelačnú maticu.

Korelácia neimplikuje kauzalitu – túto vetu ste už pravdepodobne počuli. Skôr než sa však rozhodnete, či kauzalita existuje alebo nie, mali by ste poznať skutočnú koreláciu a ideálne aj vedieť, či je korelácia štatisticky významná. Nechápte ma zle: ani štatisticky významná korelácia neimplikuje kauzalitu, ale aspoň viete, že silná pozitívna alebo negatívna korelácia nie je len výsledkom náhody. Dnes sa naučíme, ako môžeme vypočítať hodnoty korelácie spolu s ich P-hodnotami. Vizualizovať budeme iba tie významné pomocou korelačnej matice v Qlik Sense integrovanej s R.

Čo je korelácia

Korelácia je číslo medzi -1 a 1, ktoré vám hovorí, aký silný je lineárny vzťah medzi dvoma premennými. Hodnoty blízke -1 znamenajú, že medzi dvoma premennými existuje negatívny lineárny vzťah. Hodnoty blízke 1 znamenajú silný pozitívny vzťah medzi dvoma premennými. Ak sa korelačný koeficient nachádza blízko 0, medzi dvoma premennými neexistuje lineárny vzťah. Existuje mnoho prípadov, keď je korelačný koeficient blízko 0, ale medzi premennými existuje silná závislosť, len nie lineárna (napríklad kvadratický vzťah môže byť korelačným koeficientom prehliadnutý). Bežne používaný korelačný koeficient sa nazýva Pearsonov korelačný koeficient.

Načítanie dát do Qlik Sense

Stiahnite si dáta tu. Dataset obsahuje údaje z 1985 Ward’s Automotive Yearbook. Najskôr by sme mali premenovať stĺpce pomocou aliasov v Qlik Sense, pretože R nemá rád znak ‚-‚ v názvoch stĺpcov a nahradil by ho bodkou ‚.‘, čo by vytvorilo zbytočný chaos.

Načítanie dát

CarData: LOAD RowNo() as "car_ID", symboling, "normalized-losses" as "normalizedlosses", make, "fuel-type" as "fueltype", aspiration, "num-of-doors" as "numofdoors", "body-style" as "bodystyle", "drive-wheels" as "drivewheels", "engine-location" as "enginelocation", "wheel-base" as "wheelbase", "length", width, height, "curb-weight" as "curbweight", "engine-type" as "enginetype", "num-of-cylinders" as "numofcylinders", "engine-size" as "enginesize", "fuel-system" as fuelsystem, bore, stroke, "compression-ratio" as "compressionratio", horsepower, "peak-rpm" as "peakrpm", "city-mpg" as "citympg", "highway-mpg" as "highwaympg", price FROM [lib://Data/Correlation matrix/Automobile_data.csv] (txt, codepage is 28591, embedded labels, delimiter is ';', msq); 

Spustenie R skriptu

Teraz musíme pomocou R vypočítať korelácie a príslušné P-hodnoty. Neváhajte použiť nasledujúci skript.

Tmp_Correlation: Load * Extension R.ScriptEval( '# install.packages(Hmisc, repos="http://cran.us.r-project.org"); //ponechajte # ak už máte tento balík nainštalovaný library(Hmisc); df <- as.data.frame.list(q, strings.as.factors = FALSE); df <- Filter(is.numeric, df); cor <- as.data.frame.list(rcorr(as.matrix(df), type="pearson")); cor$varname <- rownames(cor); cor;', CarData{wheelbase,length,width,height,curbweight,enginesize,bore,stroke,compressionratio,horsepower,peakrpm,citympg,highwaympg,price});

Transformácia výsledku z R skriptu

R skript vracia kompaktnú tabuľku obsahujúcu všetko. Preferujem ju trochu vyčistiť, aby sme skončili s pekným dátovým modelom.

Tmp_Correlation_Crosstable: CROSSTABLE (Variable2, Value) LOAD varname as Variable1, * RESIDENT Tmp_Correlation ;

Tab_Correlation:
LOAD
,
Variable1&'|'&Variable2 as %KeyCor;
LOAD
Variable1,
Replace(Variable2, 'r.', '') as Variable2,
Value as Correlation
RESIDENT Tmp_Correlation_Crosstable
Where Variable2 like 'r.';

Tab_PValues:
LOAD
[P-Value],
Variable1&'|'&Variable2 as %KeyCor;
LOAD
Variable1,
Replace(Variable2, 'P.', '') as Variable2,
Value as [P-Value]
RESIDENT Tmp_Correlation_Crosstable
Where Variable2 like 'P.*';

Drop Tables Tmp_Correlation, Tmp_Correlation_Crosstable;

Mali by ste skončiť s dvojtabuľkovým dátovým modelom, ktorý vyzerá takto:

Dátový model

Vytvorenie korelačnej matice v Qlik Sense

Výborná práca! Sme pripravení nastaviť vizualizáciu nad dátovým modelom, ktorý máme. Výsledkom bude korelačná matica zobrazujúca aktuálne hodnoty Pearsonovho korelačného koeficientu spolu s farbami (tmavomodrá pre negatívne korelácie a červená pre pozitívne). Okrem toho budeme mať aj slider na výber úrovní P-hodnôt, ktoré sa budú zobrazovať. Týmto spôsobom môžete zobrazovať a analyzovať iba štatisticky významné korelácie a zároveň si vybrať ľubovoľnú úroveň významnosti.

Vytvorenie korelačnej matice pomocou heatmap grafu

Vyberte Heatmap chart z Qlik Visualization bundle a nastavte:

  1. Data > Dimensions: nastavte 2 dimenzie Variable1 a Variable2
  2. Vytvorte novú premennú vSign a ponechajte Definition prázdne
  3. Data > Measures: =Avg({<[P-Value] = {"<=$(vSign)"}>} Correlation) ; nastavte label na Pearsonov korelačný koeficient
  4. Appearance > Options: Nepoužívajte mean in scale a namiesto toho použite fixed scale. Nastavte Min Scale Value na -1; Max Scale Value na 1 a Minimum Horizontal Size na 0
  5. Appearance > Design: Vyberte farebnú schému Qlik Sense Diverging
  6. Appearance > General: nastavte názov na Korelačná matica

Spravte heatmap responzívnu na úroveň významnosti

Heatmap je nastavený, ale stále musíme pridať nejaký vstup na priradenie hodnôt do premennej vSign. Použime na to slider.

Choďte do Custom objects > Qlik Dashboard bundle > Variable input. Zmeňte ho na slider a priraďte tejto vizualizácii premennú vSign. Nastavte Min na 0.01 a Max na 1. Krok by mal byť nastavený na 0.01. Hotovo, máte plne interaktívnu korelačnú maticu s možnosťou výberu úrovne štatistickej významnosti. Posúvajte slider a sledujte, ako nevýznamné korelácie miznú.

Korelačná matica
Interaktívna korelačná matica

Povedzme, že chcete modelovať cenu auta na základe ostatných numerických premenných. Kliknite na príslušný riadok a pomocou slidera vyberte korelácie, kde je P-hodnota menšia alebo rovná 0.05. Teraz máte dobrý východiskový bod pre vytvorenie modelu s cenou ako závislou premennou a bore, citympg, curbweight, enginesize, highwaympg, length, wheelbase, width ako vysvetľujúcimi premennými.

Model ceny

Ak vás to zaujíma, pokračujte a pozrite si posledný článok zo série Kreatívne vizualizácie v Qlik Sense o Q-Q grafe.

Terézia Blašková
Emak

Mohlo by vás zaujímať

Predikcie 2026: Prečo sa AI bez dôvery v dáta nikdy nedostane do riadenia firiem

Na Qlik Sales Kick Off 2026 bolo predstavených mnoho vízií o budúcnosti AI. Jedno posolstvo...

Kreatívne vizualizácie v Qlik Sense: Density plot

For some people one of the weaknesses of Qlik Sense are limited visualisations, but with...

Predikcie maloobchodného predaja v Qlik Sense

V predchádzajúcom článku som sa pokúsil priblížiť, prečo je dobré posúvať sa za hranice dátovej...

Porozprávajme sa o vašich dátach.

Či už riešite plánovanie, reporting alebo AI, navrhneme ďalší krok, ktorý bude dávať zmysel v kontexte vášho biznisu.