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
!! 17.06.2018 (Jel.) Khanova škola zve nadšence ke spolupráci na překladech návodů pro učitele a rodiče.
! 04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
17.01.2016 (Jel.) Rok 2016 s novými a novějšími krystaly od kolegy Pavla!
17.01.2016 (Jel.) Nabídka knih z oborů matematiky, fyziky, chemie
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: 112
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: 5382
Reputace:   203 
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: 112
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