konto usunięte

Temat: Opensource'owy pakiet statystyczny w Delphi

Witam,

Szukam ochotników będących skłonnych popracować trochę nad pensource'owym pakietem statystycznym: OpenStat. Docelowy target to studenci, specjaliści, a także firmy których nie stać na licencję wymienionych, a którzy nie bardzo mogą pociągnąć "R".

Jest to aplikacja pisana przez W.G. Millera - emerytowanego profesora psychologii z USA: najpierw Delphi, potem w C++. Kod -w sensie architektury programu - jest słaby więc go przeprojektowałem i przepisałem w dużeje części na nowo:

Dalsze kroki w celu stabilizacji to:
1. dopieszczenie projektu systemu interface'ów,
2. zobiektowanie procedur statystycznych
3. rozwiązanie problemu wykresów i druku: w tej chwili wszystkie są ręcznie

Plany w zakresie zwiększenia funkcjonalności są dość ambitne, ale osiągalne:

1. optymalizacja operacji, plus user experience (paski postępu, wątkowanie, popupy kontekstowe, pomoc.

2. import/export do formatów statystycznych + Excel,

3. obsługa skryptów: (Innerfuse / RemObjects' Pascal Script) + możliwość obsługi innych (typu ECMAScript)

4. komunikacja ze środowiskiem R w celu generowania boskich wykresów

5. wersja embedded: DLL z jądrem system i opcjonalnymi modułami (typu statystyki nieparametryczne), z komunikacją przez interface'y

Wolności co do rozwiązań idei jest w projekcie dużo, pisania prozy raczej mało (zresztą dużo jest w helpie obecnym), a sam produkt ma szanse powodzenia bo naprawdę zawiera mnóstwo unikatowych analiz, a nic darmowego (poza R) nie jest w stanie mu podskoczyć.

Nie można stworzyć w rozsądnym czasie klona Statistica, ale można zrobić program który ma wszystko czego potrzeba studentowi ekonomii, psychologii, medycyny czy biologii, który wymienia dane z wiodącymi pakietami, daje się skryptować, osadzać i jest szybki. Jego siłą mogą być także przystępne instrukcje i tłumaczenia do uzyskanych wyników (coś w rodzaju systemu werbalizacji).

Szukam wiec ludzi skłonnych się tym zająć w dowolnym rozsądnym zakresie (tj. wymiarze godzin). Obok samego programowania supercenna byłaby wiedza matematyczna/statystyczna (na poziomie powyżej wariancji), tłumaczenia itd. Obok Delphi/Win32, przydałoby sie to zaportować na Kylixa, poimportować troche rzeczy z C i C++ (a takze Fortrana), krytyczne elementy kodu spróbować napisać w assemblerze itd.

Projekt ma być totalnie opensource czego nie omieszkam zapewnić licencją (tu też przydałaby sie pomoc), co nie znaczy, że nie może generować profitów :-) W całości robię go tak, żeby obsługiwał pluginy napisane w czymkolwiek (stdcall, pchar itd.), ale generalnie ma być w Delphi.

Członków tej grupy prosiłbym o zastanowienie się czy mogliby mi pomóc głownie w weryfikacji algorytmów, poprawności założeń itd. (np. mam teraz debilny problem ze wzorami na moment 3 i 4, skośność i kurtozę, dalej np. strategie liczenia centyli itd.).
Są tam rzeczy których nie jestem w stanie z marszu ocenić (np. bebechy analizy ścieżek), a przydatny jestem bardziej na innym froncie. Wymaga to znajomości Object Pascala, ale raczej na poziomie podstawowej składni (typu ":=") i funkcji (jak "ln" ;-)

Zasada Bill'a Millera jest taka, że każdą analizę opatruje on informacją o autorstwie, pochodzeniu i zamierzam ją honorować, a więc mogę zaoferować choćby jawną wzmiankę o osobach które mi pomogą. Oczywiście gdy osiągnę betę, pomocni będą także również beta-testerzy.

Anyone?

Więcej informacji technicznych (jeśli ktoś pisze w zaawansowanym Delpi): http://www.goldenline.pl/forum/delphi/292394Michał K. edytował(a) ten post dnia 25.03.08 o godzinie 22:32
Piotr Śmigielski

Piotr Śmigielski Starszy Analityk
Marketingowy

Temat: Opensource'owy pakiet statystyczny w Delphi

Michał - jak będziesz miał już coś do beta-testowania to chętnie wezmę udział w projekcie. Pomysł rewewlacyjny.

konto usunięte

Temat: Opensource'owy pakiet statystyczny w Delphi

Dzięki, nie omieszkam się zgłosić. Jakoś damy radę .. w dwójkę ;->
Michał Bojanowski

Michał Bojanowski socjolog, analityk

Temat: Opensource'owy pakiet statystyczny w Delphi

Cześć,

Chętnie włączę się w ten pomysł. Niestety nie programuje w Delphi więc w kodowaniu się nie przydam, ale może do pozostałych "zadań" będę mógł coś wnieść, np. teorię i rozwiązania obliczeniowe.

W założeniach jako główną motywację wymieniłeś przystępność i "user-firendliness", w porównaniu min. do R. Czy sprawy nie załatwia sprytny interface graficzny do R? Np. w duchu R Commander?

Pozdrawiam,

Michał

konto usunięte

Temat: Opensource'owy pakiet statystyczny w Delphi

Michał,

Bardzo dziękuję: liczyłem m. in. na Ciebie. Programować nie musisz: to sporo ułatwia, ale tak naprawdę zapis algorytmu zrozumie każdy, kto nie ucieka z krzykiem jak widzi symbol sigma. A jak robiłeś cokolwiek w skryptach, to już ogóle żaden problem.

Co do interface: nie znam R-Commandera, ale się nie omieszkam zapoznać. W tej chwili jednym z wyzwań technicznych z którymi walczę jest w ogólnie przełączalny interface (żeby wyglądało jak np. Statistica, albo SPSS do wyboru), wiec kolejne inspiracje się przydadzą.

Natomiast merytoryczna wartość dodana o której myślałem, właśnie w zakresie interface, miałaby polegać na swoistym systemie werbalizacji wyników. Np. jeżeli koś robi sobie ANOVA, z automatu robione są testy założeń, wyświetlając (w jakimś trybie guided) napisaną ludzkim językiem informację, że np. coś sie nie rozkłada normalnie, tudzież wariancje nie są homogeniczne itd.

O ile dla Ciebie to oczywistości, o tyle każdy przeciętny student, który statystyki nie kocha, po prostu nie jarzy i nie kojarzy, co oznacza któraś konkretna statystyka, gdy wychodzi istotna, albo nie. Oczywiście nie chodzi o automatyzację decyzji, tylko o dostarczenie czytelnych, prostych informacje jak interpretować wyniki (tam gdzie się oczywiście) od razu na ekranie. Bo to co jest w helpie/manualu jest poza efektywnym przetwarzaniem, a w dialogu/raporcie, na dodatek wyświetlone wielokrotnie, zwiększają szanse, że ktoś to zapamięta i zrozumie.

Co do czasu: teraz muszę ogarnąć najważniejsze prywatne biznesy, ale za około 3 tygodnie powinienem mieć betę. Taką która co prawda wygląda jak przez okno (niezbyt profi), ale pod maską ma zupełnie nowy, zoptymalizowany silnik, uwzględniający właśnie skryptowanie, bogate raporty, duże pliki itd. Wtedy będzie czas na refleksję co do look'n'feel. W tej chwili już i tak śmiga ślicznie: 36x przyspieszenie do oryginału w kwadratowej macierzy korelacji 100 zmiennych, 10000 przypadków (czas poniżej 1.5 sekundy)Michał K. edytował(a) ten post dnia 16.04.08 o godzinie 00:02
Dorota S.

Dorota S. Risk Management/
Credit Process / IT
Expert

Temat: Opensource'owy pakiet statystyczny w Delphi

Michal, ja tez w kodowaniu sie nie przydam, choc zwykle kumam kody: w R pisze teraz, dawniej C i Turbo Pascal na pewnym poziomie (ale wiecej niz podstawowym), itd.
Ze statystyki / ekonometrii wiem stanowczo nieco wiecej niz wariancja, choc nadal sie ucze, zawsze umiem tez sobie poradzic: doczytac-zrozumiec (matematyke konczylam). Jesli bedziesz mial mnie ochote zagospodarowac, bedziesz mial jeszcze jakies pytania, wiesz jak mnie znalezc. Pozdrawiam gratulujac pomyslu i zapalu.
Piotr Śmigielski

Piotr Śmigielski Starszy Analityk
Marketingowy

Temat: Opensource'owy pakiet statystyczny w Delphi

Pomyśl z podstawową interpretacją wyniku niektórych procedur statystycznych na ekranie jest świetny. Czy zamierzasz zaimplemetować w jakiejś formie slq-a, tak żeby można było również pracować z większymi wolumentami danych ?

Pzdr - Piotrek

konto usunięte

Temat: Opensource'owy pakiet statystyczny w Delphi

Dzięki i Tobie Doroto: mam wielką ochotę Cię zagospodarować ;-) Taki background w programowaniu wystarczy aż nadto do algorytmów, a sama matematyka również.

Piotr: nie do końca rozumiem, co masz namyśli mówiąc o wykorzystaniu sqla. Jeżeli chodzi o to, by dane pakietu były "zaciągalne" przez sql (np. w trybie osadzonym, bez interface), to nie sądzę - to by wymagało niezwykle skomplikowanej implementacji (nawet powszechnie stosowane bazy, często nie spełniają żadnego standardu SQL, bo to właśnie takie trudne).

Jeżeli chodzi Ci natomiast o to, by pakiet mógł ssać dane na żywo bezpośrednio z baz, to jest to jeden z punktów roadmap'y. Między innymi dlatego faza projektowania interface'ów (czy też silnika "pod maską") jest wymagająca i czasochłonna, że trzeba stworzyć takie założenia, które można potem - bez przeprogramowywania połowy kodu - rozszerzać o takie rzeczy.

W tym wypadku zaimplementowałem tzw. abstrakcyjnego dostawcę (dataset), co po ludzku mówiąc oznacza, że wszystkie analizy maję dostęp do danych przez strukturę, która jest zupełnie niezależna od faktycznego źródła danych. Co praktycznie oznacza, że dane można ssać z:
a) plików pakietu (domyślne),
b) wyników analiz w formie tabel (np. macierz korelacji w m-reg),
c) innego typu plików (już z grubsza działa na STA 5.0),
d) źródeł OLE (czyli np. Excel, Access),
e) źródeł ODBC (czyli wszystkich baz jeżeli w systemie jest sterownik ODBC i zdefiniowany login),
f) danych z Internetu, typu tabela kursów na stronie WWW, dane wywalone przez XML z jakiegoś serwisu (np. finansowego),
g) i innego typu danych,

...o ile tylko ktoś napisze plugin, który umożliwia zarejestrowanie takiego źródła w systemie, aby mogły sie do niego dobrać analizy. Nie jestem w stanie oprogramować tego wszystkiego na raz, ale wbudowanie takich założeń oznacza, że jak komuś przyjdzie do głowy - nie wiem - wyciągać dane z SMSów z komórki (np. jacyś ankieterzy) przez tzw. OBEX (po USB, bluetooth czy czymkolwiek) to nie ma problemu.

W tej chwili testowałem sobie analizy na dostępie do bazy Firebirda (live, czyli runtime, read-only oczywiście). I hula. I to bez cache'owania, czyli - znowu po polsku mówiąc - na upartego można to podpiąć do bazy bilingowej PTC z miliardami rekordów, i - do większości analiz - nie będzie potrzebne 128TB RAMu (bo np. dane surowe zostaną przetworzone w szereg rozdzielczy). Ale to podnieca głownie mnie :-D

Nacisk powinien być jednak na wartość merytoryczną, czyli wspomnianą werbalizację, szeroki wachlarz analiz (w tym niespotykanych nigdzie indziej, np. współczynnik Barona w analizie dopasowania do profilu w psychometrii).Michał K. edytował(a) ten post dnia 16.04.08 o godzinie 15:32

konto usunięte

Temat: Opensource'owy pakiet statystyczny w Delphi

http://www.goldenline.pl/grupa/openstat-rewired :-)

Podobne tematy


Następna dyskusja:

blog statystyczny




Wyślij zaproszenie do