Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 23. 04. 2024 14:29 — Editoval martin.g25 (23. 04. 2024 14:29)

martin.g25
Zelenáč
Příspěvky: 10
Pozice: analytik
Reputace:   
 

Clustrovanie pozorovaní

Ahojte, bojujem s jedným problémom a nedokážem ani za ten svet prísť na jeho koreň, preto by som sa vás chcel touto cestou poprosiť o pomoc. Ide o to, že mám veľkú vzorku (701 844) klientov a 3 druhy skóre vyjadrujúce klientovu kredibilitu. Túto veľkú vzorku však potrebujem roztriediť do menšieho počtu skupín ("clusters"). Už som túto aktivitu raz v minulosti vykonával a použil som k tomu procedúru v SASe PROC FASTCLUS. Všetko bolo OK a teraz robím to isté, lenže na aktualizovanej vzorke a odrazu pre SCORE1 dostávam zvláštne výsledky.

Kým pre SCORE2 a SCORE3 mi pozorovania pekne rozložilo spôsobom, že maximálne zastúpený cluster mal zastúpenie len nejakých cca 0,60% zo všetkých pozorovaní, tak pre SCORE1 maximálne zastúpený cluster má zastúpenie až 66% zo všetkých pozorovaní, čo je strašne veľká koncentrácia v jednom clustri. Nerozumiem prečo je to SCORE1 také problematické a pritom sa od SCORE2 a SCORE3 nijak výrazne neodlišuje! Ako dôkaz prikladám obrázok všetkých možných deskriptívnych štatistík týchto troch skóre, aby ste videli, že vôbec nejde o nejaké extra odlišné rozdelenia.

Máte prosím nejaké vysvetlenie, prečo rovnakou procedúrou dostanem pre SCORE1 úplne odlišné výsledky než pre SCORE2 a SCORE3?


PS, tá SAS procedúra vyzerá takto:

proc fastclus data=INPUT_DATA summary maxclusters=1000
        mean=mean_1K out=CLUST_1K cluster=preclus;
var SCORE1;
run;

Ďakujem.

https://ibb.co/Dfwr95V

Offline

 

#2 23. 04. 2024 19:12

check_drummer
Příspěvky: 4939
Reputace:   106 
 

Re: Clustrovanie pozorovaní

↑ martin.g25:
Ahoj,
1) Co znamená maximálně zasoupený cluster?
2) Jakým algoritmem se to na ty clustery dělí? Nezajímá mě jméno funkce ale věcný popis.
3) mají ty 3 skóre nějaký vliv na to na jaké clustery se ti klienti dělí?


"Máte úhel beta." "No to nemám."

Offline

 

#3 23. 04. 2024 21:10

martin.g25
Zelenáč
Příspěvky: 10
Pozice: analytik
Reputace:   
 

Re: Clustrovanie pozorovaní

↑ check_drummer:

Ahoj,

1. ako vidíš v tej procke, tak tam zadávam "maxclusters=1000". Tým nariaďujem, aby mi pôvodné pozorovania o veľkosti 701 844 kusov rozdelilo do 1000 clustrov. Ono to aj spraví, lenže potom keď sa pozriem na distribúciu, tak napr. cluster no. 999 obsahuje v sebe 450 000 pozorovaní, čo je nežiadúci stav a deje sa to iba pri premennej SCORE1. Ak tam dám SCORE2 alebo SCORE3, tak tá clustrová analýza tie pôvodné pozorovania pekne rozdistribuuje spôsobom, že najviac zastúpený cluster má menej než 1% všetkých pozorovaní.

2. "The FASTCLUS procedure performs a disjoint cluster analysis on the basis of distances computed from one or more quantitative variables. The observations are divided into clusters such that every observation belongs to one and only one cluster" + "By default, the FASTCLUS procedure uses Euclidean distances, so the cluster centers are based on least squares estimation. This kind of clustering method is often called a k-means model, since the cluster centers are the means of the observations assigned to each cluster when the algorithm is run to complete convergence."

3. no klustruje sa predsa hodnoty skóre. Klient č. 1 so skóre 100 bude zrejme v inom klustri ako klient č. 700 so skóre 8900. SKÓRE je to, podľa čoho vytvoríme klustre. Predstav si tabuľku so 701 844 pozorovaniami a dvoma stĺpcami, kde prvý stĺpec je ID klienta a druhý stĺpec je jeho skóre. (PS, ja tu spomínam 3 druhý skóre, alebo to preto, lebo SCORE1 je finálne a SCORE2 a SCORE3 sú "pred-finálne" ešte nezahŕňajúce úplne všetky informácie. Avšak keď sa pozrieš na tabuľku, tak vidíš, že distribúciamia sú si veľmi podobné, tak nechápem prečo na SCORE1 klustrova analyza tak zle vychádza, ale na SCORE2 a SCORE3 pekne vychádza)

Offline

 

#4 24. 04. 2024 09:19

Stýv
Vrchní cenzor
Příspěvky: 5696
Reputace:   215 
Web
 

Re: Clustrovanie pozorovaní

K cemu ty clustery potrebujes?
Proc jich chces zrovna 1000?
Proc neclusterujes puvodni data, ale az nejaka agregovana skore?
Muzes sem dat nejaky obrazek toho, jak jsou rozlozene ty hodnoty a jak vypadaji tu clustery?

Offline

 

#5 25. 04. 2024 12:51

MichalAld
Moderátor
Příspěvky: 5071
Reputace:   126 
 

Re: Clustrovanie pozorovaní

Kdysi, když jsem se ještě věnoval počítačovému zpracování obrazu, se dělalo něco podobného (možná úplně stejného) a říkalo se tomu shluková analýza.

Vlastně jde o to, že jde o body v n-rozměrném prostoru (v tomhle případě by šlo o 3-rozměrný), které tvoří nějaké skupiny, a algoritmus má najít ty zkupiny, tedy vyrobit rozhodovací funkci, která body bude zařazovat do příslušných skupin. Třeba neuronovou síť, to už je jedno. Trik je v tom, že se mu dopředu neřekne, který bod je v jaké skupině, má si skupiny najít sám. Jenže aby to mohlo aspoň trochu fungovat, musí ty body také nějaké skupiny tvořit. Když je třeba polovina bodů v levé části prostoru a polovina v pravé a mezi nimi nic, tak se to dělá hezky. Ale pokud jsou body plus minus náhodně rozmístěné, je dost utopie si myslet, že počítač najde nějaký rozumný způsob, jak je rozdělit do skupin.

Já samozřejmě netuším, co zmíněná procedura dělá a co je to za data, a zdali je to vůbec podobný problém, ale lehce mi to připadá podobné. Tak jsem si jen vzpoměl na ono "do skupin se to dá rozdělit jen když to skupiny tvoří". Jako algoritmus to vždycky nějak rozdělí, ale když to skupiny samo netvoří, tak z toho není žádný užitek.

Offline

 

#6 25. 04. 2024 21:31

check_drummer
Příspěvky: 4939
Reputace:   106 
 

Re: Clustrovanie pozorovaní

↑ martin.g25:
Takže bach to shrnul, clusteruješ podle SCORE1, a máš 1000 clusterů. Mělo by to tedy obecně vytvořit skupiny s podobnou hodnotou SCORE1.

A ty se teda chceš vyhnout tomu, aby v jednom clusteru bylo hodně pozorování, je to tak? Ale co když to tak prostě vychází, třeba má hodně pozorování hodnotu SCORE1 podobnou, tak se pro ně vytvoří jeden obrosvký cluster....


"Máte úhel beta." "No to nemám."

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson