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 20. 02. 2020 20:22 — Editoval <h1>dydy</h1> (20. 02. 2020 20:27)

<h1>dydy</h1>
Příspěvky: 141
Reputace:   
 

Záznam událostí v čase; jejich graf a "derivace"

Zdravíčko, mám následující data set G hodnot x "kolikátý den spadl v lese strom":
{4,4,4,4,4,10,20,22,55,55,55, 80, 90}
Událost se stala 4. den  pětkrát, pak se stala desátý den, následně 20.den, potom 22. , potom 55., potom 55., potom 55.,  ( 55.den celkem 3x), 80.den.... Dny si označím x. Na počátku bylo nula spadlých stromů.
Například jde o záznam, kdy spadl strom v lese.

Nyní přejdu k pravděpodobnosti a statistice (polo diskrétní)

Udělat kumulativní graf je celkem jednoduché CDF(x): prostě z přiřadí tomu monotóní pole  y=počet spadlých stromů (čili vytvořím pole hodnot počet spadlých stromů:den {0:1,1:4,2:4,3:4,4:4,5:4,6:10,7...20, 

z toho následně se vytvoří graf {y:x}= {posloupnost přirozených čísel : G} ... pravděpodobně srozumitelnější zapisovat {x:y}:  {1:0,4:1,4:2,....} ... Už tady je vidět že sada nesplňuje podmínku funkce, že existují více hodnot x s různou hodnotou y (jeden den, spadlo víc stromů)


Ale celkem zapeklité je udělat "graf derivace" předchozího - čili pravděpodobnostně řečeno derivovat kumulativní funkci, abych získal graf hustoty pravděpodobnosti p(x)=∂CDF(x)/∂x. S zvoleným způsobem hladkosti. Důležité je, aby c·∫p(x)dx=1 =  c . ( CDF(poslední den)-CDF(nultý den)  )...  konstanta c je například celkový počet spadlých stromů a CDF(poslední den) je jedna značící všechny padlé stromy (ne nutně všechny stromy)

Hlavní potíž je v tom, že v "derivační" proměnná x (diskrétní), je proměnlivá (krok diference je proměnnlivý) a že nabývá víc hodnot pro jedno Y.

Jak správně datovou tabulku transformovat a případně jaký filtr aplikovat na hodnoty, aby šel vynést graf  četnosti ("frekvence", "hustoty pravděpodobnosti")  pádu stromů?


naivní přístup vytvoření množiny G' pomocí rozdílů mezi sousedními členy G je k ničemu. Dává úplný nesmysl. ${g'_{n} = g_{m+1}-g_m}$ Udává pouze kolik dní uběhlo mezi pádem stromu. (často se stane, že rozdíl je nula, takže ani reciproká hodnota nepřipadá v úvahu)...


jiný přístup je použít již zmíněné pole {y:x} neboli {x:y} a vytvořit diferenci v hodnotách x (den), vyškrtat prvky {x:y}, kde x=0 (dny, kdy spadlo víc stromů) - čili jinými slovy vytvořit {x:count(x)} unikátní v x.

Furt ale když si udělám graf, tam vidím ošklivé skoky (nebo nulové hodnoty), jakou zvolit interpolaci nebo jaký filtr aplikovat na data, aby graf byl hladký a zároveň "zachovávál plochu pod integrálem"?

Offline

 

#2 20. 02. 2020 20:43

Stýv
Vrchní cenzor
Příspěvky: 5633
Reputace:   214 
Web
 

Re: Záznam událostí v čase; jejich graf a "derivace"

Poněkud se v tom tvém popisu ztrácím, ale nehledáš náhodou https://en.wikipedia.org/wiki/Kernel_density_estimation ?

Offline

 

#3 20. 02. 2020 21:11 — Editoval <h1>dydy</h1> (20. 02. 2020 21:24)

<h1>dydy</h1>
Příspěvky: 141
Reputace:   
 

Re: Záznam událostí v čase; jejich graf a "derivace"

Vypadá to podle kapitoly Example že ano, díky ,vůbec jsem nevěděl pod čím to hledat.

Přítomnost takovéto funkce v "Excelu" je asi vyloučena... Důležité je, že to je v scipy (případně mathematica, R a podo.)

Trochu ale nesedí, že má jít odhad pravděpodnostního rozdělení nějaké náhodné proměnné. Já ale nemám náhodnou proměnnou, já mám sérii eventů v čase (ne v konkrétní D/M/Y H:M:S, ale pouze D/M/Y), takže vlastně agregací množiny (něco jako {x_i} : {x_i :count(x_i)})  zjistím počet eventů za den. To není hledání nějakého rozdělení náhodné veličiny, ale pokus "vyhladit" křivku - aproximovat funkcí y(t), že čas t již bude spojitý.

Má to s tím společného ten bandwidth parameter, očividně méně než 1 den nemá smysl, což je "kvantizační krok" času.
Cílem je aby křivka byla "akorát vyhlazená", ale ne moc. A především aby se zachoval integrál z té rozdělovací funkce  (až na konstantu se rovnal počtu prvků zdrojové množiny {4,4,4,10,20,22,55,55...} nebo součtu agregované množiny {4.1. : 3x, 10.1. -> 1x, 20.1. ->10x})

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson