Statystyki do dużej ilości danych

0

Wykonuję pomiary czasów. Mam dużo plików CSV z kolumnami

Nr cyklu | Okres | Start | Koniec
W jednym pliku CSV są pomiary dla kilku okresów. Zakładając, że wykonujemy 10000 pomiarów dla 10 różnych okresów, mamy 100000 rekordów. LibreOffice wydajnościowo nie radzi sobie z tak dużą ilością danych, ale ostatecznie można je podzielić i wtedy importować. Dodatkowo wyliczam czas trwania cyklu, planowany start kolejnego cyklu (względem początkowego i poprzedniego), opóźnienie (względem początkowego i poprzedniego), odstęp czasu start-start i różnicę między wyliczonym a rzeczywistym. Potrzebuję obliczyć jakieś statystyki dla tych danych, np.

  1. Min, max, średnia w zależności od okresu
  2. Wpływ okresu na równość cykli
  3. Wpływ różnych ustawień (osobne pliki CSV) na równość cykli
  4. Być może rozkład Gaussa i Chi2
  5. Jakieś wykresy, które coś istotnego wykażą

Najbardziej przydałoby się grupowanie danych po okresie. Być może Calc ma taką możliwość. Gdy chciałem policzyć sumy częściowe, zabrakło pamięci. Najbardziej odpowiadałaby mi baza danych. Calc ma moduł Base, ale nie da się importować CSV. Trzeba ręcznie wklejać. Inne wyjście to Octave i to chyba najlepszy pomysł. A może już obrabialiście duże ilości danych liczbowych? Jakich narzędzi użyliście?

0

Zamiast Octave/Scilaba/Matlaba możesz użyć także Pythona z biblioteką scipy, składniowo jest dość podobnie, pod względem możliwości też. Używałem tego kiedyś i działało ok, aczkolwiek niekoniecznie wszystko pamiętam, teraz na bieżąco jest z tym chyba @Gjorni :)

0

a może darmowy oracle + darmowy SQL Developer - z tego co pamiętam to importy tam można robić a potem poszczególne raporty to już SQL. PS. nie wiem czy jakiś darmowy manager do MSSQLa też ma możliwość importowania z csv)

0

Wszystko da się pięknie i szybko zrobić w Pythonie. Zainstaluj sobie dystrybucję Anacondy (https:*www.continuum.io/downloads), która domyślnie zawiera wszystkie niezbędne pakiety do wykonywania naukowych obliczeń. Połącz ją z PyCharmem (https:*www.jetbrains.com/pycharm/) i masz pełną stację roboczą.

Do obsługi plików CSV korzystałbym z pakietu pandas. Do operacji na macierzach z numpy. Do statystyk innych niż średnie, minima i maksy, pewnie bym korzystał z scipy.stats. Do tych pierwszych wymienionych możesz spokojnie użyć numpy. Do wizualizacji wyników matplotlib i być może upiękniłbym ploty przy użyciu seaborn'a.

Możesz też połączyć pracę w Pythonie z R. Na przykład, przygotowujesz dane w tym pierwszym, a statystyki robisz już w tym drugim. Wszystko można ładnie ze sobą spoić przy użyciu ipython notebook.

W gruncie rzeczy jest wiele dróg na zrobienie tego, co opisałeś. Powyższy przykład jest jedną z nich.

0

Zależy co chcesz z tymi danymi robić, ale Twoje opcje to:

  • języki przygotowane do obliczeń statystycznych (lub ich biblioteki)
  • Python + SciPy/NumPy (nie moja działka, więc nie jestem w stanie pomóc bardziej, pewnie @Gjorni powie więcej)
  • Julia - przyjemny język z Pythonowo-Rubiową składnią i przystosowany do obliczeń statystycznych
  • R - wolna implementacja języka S do obliczeń statystycznych, najstarsze z ww. narzędzi (ma złą opinię na ty forum ze względu na jednego trolla w paru odsłonach)
  • baza danych
  • PostgreSQL
  • Oracle (jak jest dużo hajsu lub darmowy starcza)
  • SQLite - jak ktoś chce się kłócić, że to nie jest DB, to ma rację, ale jako format zapisu lepszy niż CSV + parę użytecznych funkcjonalności się nada
  • ElasticSearch
  • narzędzia CLI
  • xsv + grep/awk i parę innych narzędzi pewnie dało by radę (zawsze można jeszcze podłączyć do tego fst

1 użytkowników online, w tym zalogowanych: 0, gości: 1