DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Programiranje (http://www.devprotalk.com/forumdisplay.php?f=23)
-   -   Sotware za statističku analizu (uglavnom vremenskih nizova) (http://www.devprotalk.com/showthread.php?t=10372)

misko_ 15. 09. 2011. 10:00

Sotware za statističku analizu (uglavnom vremenskih nizova)
 
Imam želju (ideju), za osobno potrebe, da napravim alat ili skup alata s kojima bih mogao analizirati i vizualno (uz pomoć raznih grafova) prikazivati podatke iz vremenskih nizova (jedan stupac je vrijeme, a drugi je nekakva vrijednost(uglavnom cijena)).

Moja prva ideja je bila da sve podatke strpam u tablicu (bazu) i pomoću SQL-a vadim sirove podatke (SELECT * FROM table).
Uzmem Python (ili R) za obradu podataka, te poslje koristim neki alata za grafikone (npr. gnuplot)

Od ove ideje sam odustao iz više razloga:
- jer ne znam R, neznam ga kao jezik, a ni ne znam koliko bi bio dobar za moje potrebe
- u Python bi trebao dosta pisati
- vidio da i SQL mi može koristiti za nekakve statistike (npr. min, max, avg, cijena po mjesecu, godini... -> što bio više kodiranja u pythonu)

U mom postu http://www.devprotalk.com/t10362-kak...a-u-mysql.html se vidi da sam tu već došao do nekakvih problema, ali je ipak nekako riješen.

Onda sam htio izračunati MEDIAN, ali MySQL ga nema, ali ipak postoji http://mysql-udf.sourceforge.net/.
Ali mučenje oko kompajliranje, mi se čini previše. Pogotovo jer bih htio računati i MOD i INTERKVARTILE, itd.
A za to bi morao sam pisati svoje "User Defined Functions" i nekako mi se to čini kao prevelika muka.

Ono što me zanima je da li mi netko može dati nekakav savjet kako da si malo život olakšam.

Trenutno radim sa SQL (u kojem pišem upite), a BIRT (java eclipse) koristim za prikaz grafikona.

Čak mi pada napamet da možda sa SQL-om vadim podatke, stavljam ih u excel, pa u excelu radim obrade i prikaz.

Znači ako tko ima kakav savjet, dobrodošao je.

Hvala

JovanT 15. 09. 2011. 10:20

Kako stojiš sa PHP-om? Pomoću njega možeš vrlo lako da radiš obradu a ima i jako lepe klase za pravljenje grafikona.

misko_ 15. 09. 2011. 10:37

Citat:

Originalno napisao JovanT (Napišite 101612)
Kako stojiš sa PHP-om? Pomoću njega možeš vrlo lako da radiš obradu a ima i jako lepe klase za pravljenje grafikona.

Generalno moj prvi pristup je bio:
- Baza -> tu se nalaze podaci
- Neki programski jezik -> služi za obradu, transformaciju podataka
- neka klasa, alat -> za prikaz na grafikon

Meni nije problem da li će mi korak između biti PHP, Python, R ili neki drugi jezik.
R sam spomenio jer sam čuo da je on baš za statističke analize dobar.

Problem sa PHP (Pythonom, ili nešto treće) je sljedeća.
Jednostavna stvar kao što je ova u SQL-u:
Kôd:

SELECT
CONCAT(MONTH(date),"-",YEAR(date)) as MM_YYYY,
ROUND(AVG(eur_pm),2) as EUR_PM
FROM lbma_gold
WHERE date BETWEEN '1999-1-1' AND NOW()
GROUP BY YEAR(date), MONTH(date);

Za koju i treba napisati i testirati max 3 minute.

U PHP ili nešto treće trebalo bi i po sat vremena.
Jer bi morao proći kroz svaki red, pa imati logiku da kužim godine, mjesece, pa da ih grupiram, računa prosjek, pa brojač itd.

Ono što bih ja želio je imati alate, kod kojih ću sa minimalno utrošenog vremena dobiti rezultat.

SQL mi je ko super za te stvari (upit se napiše jako brzo), samo je mana što nema sve funkcije koje su mi potrebne.

Možda bi mogao pisati storane procedure za te kompliciranje stvari ?

jablan 15. 09. 2011. 11:15

Citat:

Originalno napisao misko_ (Napišite 101611)
Ono što me zanima je da li mi netko može dati nekakav savjet kako da si malo život olakšam.

Nauči R.

jablan 15. 09. 2011. 12:22

^ Da elaboriram i ujedno odgovorim na PP...

Citat:

Imam želju (ideju), za osobno potrebe, da napravim alat ili skup alata s kojima bih mogao analizirati i vizualno (uz pomoć raznih grafova) prikazivati podatke iz vremenskih nizova (jedan stupac je vrijeme, a drugi je nekakva vrijednost(uglavnom cijena)).
Osim ako tvoj cilj nije usavršavanje u programiranju (što sumnjam, s obzirom da nisi načisto u kom pravcu da ideš), ili izrada komercijalne aplikacije (za šta ti treba dosta para/vremena), nema smisla izmišljati rupu u saksiji. R je specijalizovan jezik koji ljudi već koriste u praksi, dovlači podatke iz baze, ima grafičko predstavljanje itd. Meni lično nije jasno kako činjenica da ne znaš neki jezik uopšte može da bude kriterijum za eliminaciju?!

Ako ti treba veća sloboda (po cenu više posla), uzmeš Python, on ima dobre numeričke (a verujem i statističke) biblioteke, proveren je jezik.

PHP u celoj priči nema šta da traži, osim po principu "imam čekić, ergo sve oko mene je ekser".

misko_ 15. 09. 2011. 13:59

Bilo bi najbolje (u što sumljam da će se dogoditi), kada bi bio netko tko je ovakvo što već napravio, pa im on rekao radili smo tako i tako, i imali ovakve i ovakve probleme, da krećem iz početka uradio bi to i to.

Jer velika je razlika da li netko govori iz osobno, tuđeg ili onoga što je pročitao po netu.

Zato sam te na PP pitao da li si imao iskustva sa R ili ne.

Ja osobno znam samo jednu osobu koja ima nešto iskustva sa R.
Kada sam ga pitao za savjet u vezi ovoga moga, on mi je odgovorio da dosta toga bi morao sam programirati, možda je bio u krivu.

Kada sam ga pitao čemu on koristi taj R, rekao mi je za analizu ženinih menstrualnih ciklusa (toliko o tome koliko ga on ozbiljno koristi :1046: )

Citat:

Originalno napisao jablan (Napišite 101618)
^ Da elaboriram i ujedno odgovorim na PP...

Osim ako tvoj cilj nije usavršavanje u programiranju (što sumnjam, s obzirom da nisi načisto u kom pravcu da ideš), ili izrada komercijalne aplikacije (za šta ti treba dosta para/vremena), nema smisla izmišljati rupu u saksiji.

Izrada komercijalne mi nije u vidu, bar ne sada. Ja sam tražio da li se može kupiti kakav alat za ovo što me zanima, i ima ih dosta. Ali svi oni imaju predefinirane upite (izvještaje) koje možeš napraviti. I zbog toga sam krenuo sa izradom svoga alata (ili skupa alata).

Citat:

Originalno napisao jablan (Napišite 101618)
R je specijalizovan jezik koji ljudi već koriste u praksi, dovlači podatke iz baze, ima grafičko predstavljanje itd. Meni lično nije jasno kako činjenica da ne znaš neki jezik uopšte može da bude kriterijum za eliminaciju?!

Meni je bitno na što bolji način (tako da potrošim i sada i u budućnosti, što manje vremena) riješiti problem.
Pošto R zahtijeva vrijeme za učenje, a nisam ni siguran da li bi riješio moje zahtijeve, zato nisam bio voljan odmah uhvati knjigu u ruke i čitati.
Iako mi se čini da ču krenuti tim putem.

Citat:

Originalno napisao jablan (Napišite 101618)
Ako ti treba veća sloboda (po cenu više posla), uzmeš Python, on ima dobre numeričke (a verujem i statističke) biblioteke, proveren je jezik.
.

Ja sam po blogovima čitao da za statistiku zaboravi Python (i numpy) bolje uzmi R. Ali opet to je što sam čitao nije osobno iskustvo.

Usput SQL upiti sa MySQL Workbench, pa malo wordpad 's/./,/g', pa copy/paste excel, pa malo izračun ručno, pa chart/pivot, nije tako loše, dobijem što mi treba.
Mana je što mi za svaki izvještaj treba po 30 min, a ako hoću nešto promjeniti opet potrošiti 30 min, zato bih htio to sve napraviti automatski da samo unesem parametre i nakon par sekundi sve gotovo.

ivanhoe 15. 09. 2011. 15:21

Matlab, on je smisljen (izmedju ostalog) za to i imas 2 miliona statistickih boxova/funkcija koje samo treba da ukljucis... dok god nisi izmislio novi matematicki model, nego samo koristis nesto postojece, i naravno ako ne simuliras nastajanje kosmosa, matlab razbija...

jablan 15. 09. 2011. 17:35

Citat:

Originalno napisao misko_ (Napišite 101619)
Kada sam ga pitao čemu on koristi taj R, rekao mi je za analizu ženinih menstrualnih ciklusa (toliko o tome koliko ga on ozbiljno koristi :1046: )

Ja lično nisam, ali ovi u mojoj firmi ga koriste i to za prilično ozbiljne stvari. Mislim, na kraju krajeva, imaš masu primera po netu, možeš da vidiš da li ti odgovara bez da ga učiš.

Python je jezik opšte namene, tako da je upoređivati ga sa R-om malo mešanje baba i žaba.

A Matlab je, sa druge strane, moćan komercijalni paket, sigurno bi ti i on završio posao, ako ti odgovara taj ekosistem.

M.S. 15. 09. 2011. 19:54

Pozdrav Misko,

Ne treba Vam nista drugo do SPSS-a.

R je dobar, ali zahteva programerski "pristup".

I Access je odlican, ali cini mi se da ima ogranicenje na broj redova u bazi. Ja sam imao po 13M redova, i to Access nije mogao da odradi. Ali da je odlican za grafove - jeste.

SPSS - topla preporuka. Samo ga probajte, necete se pokajati. Sto se web alata za analizu veceg broja podataka tice...to bi i ja voleo da vidim, pa ako nadjete nesto - javite.

ivanhoe 15. 09. 2011. 20:17

A i Excel ume da uradi jako puno toga


Vreme je GMT +2. Trenutno vreme je 02:56.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.