Tydzień temu pisaliśmy o wielowymiarowych modelach liniowych. Rozważaliśmy zagadnienie w którym k wymiarowy wektor zmiennych objaśnianych jest różnicowany przez zmienną grupującą. Aby ocenić czy istnieje jakaś zależność patrzymy na macierze E i H (patrz poprzedni wpis).

Problem, który nam pozostał to fakt, że zmienna objaśniana ma k wymiarów a więc i macierze efektów E i H są wymiaru kxk. Efektywnie, na wykresie możemy oglądać te macierze wyłącznie po rzucie na jakąś dwuwymiarową przestrzeń.

Ale na jaką dwuwymiarową podprzestrzeń patrzeć? Możemy brać dowolne rzuty macierzy E i H i je oglądać, ale czy któryś rzut jest lepszy do oglądania?

Przypomnijmy, że chodzi nam przede wszystkim o to by zobaczyć czy podgrupy zmiennej objaśniającej istotnie różnicują wielowymiarowe zmienne objaśniane. Dlatego naturalnym pomysłem jest redukcja wymiaru w zmiennych objaśnianych tak by zachować jak najwięcej wariancji pomiędzy grupami wyznaczonymi przez zmienną objaśniającą.

Popularną techniką takiej redukcji wymiaru jest Canonical Discriminant Analysis. W przestrzeni zmiennej objaśnianej szuka ona ortogonalnych wektorów wyjaśniających możliwie dużo międzygrupowej wariancji. Jeżeli z takich wektorów wybierzemy dwa pierwsze, to otrzymamy podprzestrzeń, w której analizowane grupy różnią się najsilniej (w sensie wariancji międzygrupowej).

Read the rest of this entry »

Ostatnio pisaliśmy o serialach, dlatego wpadł mi w oko artykuł poświęcony serialom telewizyjnym opublikowany w Polityce (zdjęcie artykułu obok).
Jednak lektura zjeżyła mi włosy na głowie. Poniżej umieszczam kilka zdań, zgadnijcie które z nich upodobniają mnie do Fido dido.

* Naukowcy mają inne zdanie.

* Grupa badaczy z Uniwersytetu w Teksasie zapytała 318 osób (to minimalna grupa reprezentatywna) w wieku 18–29 lat o to, jak często oglądają telewizję – również tę wirtualną.

* Zależność okazała się jednoznaczna – im większe poczucie osamotnienia i mniejsze poczucie kontroli, tym większa szansa, że uciekniemy w wyimaginowany świat seriali.

Read the rest of this entry »

Wykresy HE (***)

19 lut
2015

(Kierując się sugestiami z maili, trudniejsze techniczne wpisy oznaczać będę gwiazdkami w tytule)

GPS w domowych zastosowaniach pozwala kierowcom ominąć korki, ale w bardziej przemysłowych zastosowaniach pozwala na zarządzanie flotą pojazdów lub sterowanie bojowym dronem. Podobnie jest i z wizualizacją. Słupki i kropki można wykorzystać by pokazać kilka średnich ale istnieją też dla nich bardziej zaawansowane zastosowania, takie jak np. prezentacja różnic w strukturach kowariancji. I dziś będzie o takich wizualizacjach, ale po kolei.

Problem z którym ostatnio miałem do czynienia jest następujący (dziedzina: antropologia). Mamy czaszki z różnych lokalizacji i od osobników obu płci. Każda czaszka jest opisana zbiorem pięciu liczb opisujących odległości pomiędzy określonymi punktami na czaszce. Co chcemy sprawdzić? Czy i jak parametry czaszek różnią się pomiędzy płciami i lokalizacjami.

Gdybyśmy parametry czaszek opisywali jedną liczbą zamiast pięcioma na tak postawiony problem można by podejść stosując klasyczną dwukierunkową analizę wariancji.
Mając pięć parametrów opisujących czaszki, gdybyśmy każdy z nich traktowali niezależnie moglibyśmy tak postawiony problem rozwiązać pięcioma niezależnymi analizami wariancji.
Ale parametry są zależne i w tym przypadku lepszym podejściem jest zastosowanie modeli umożliwiających jednoczesne modelowanie wielowymiarowych zmiennych.

Problem jednoczesnego modelowania wielowymiarowych cech pojawia się dosyć często, szczególnie gdy zmienne, które opisujemy są zależne. Przykładowo w łącznym modelowaniu ilości mleka, białka i tłuszczu w udoju lub w analizie czynników wpływających na poziom umiejętności (opisany przez zestaw zmiennych).

Gdzie w tym zagadnieniu są ciekawe wykresy? Zobaczmy. Zaczniemy od przypomnienia jak sprawa wygląda problem testowania dla jednowymiarowych zmiennych.

Model liniowy zazwyczaj przedstawia się w postaci

Screen Shot 2015-02-15 at 22.06.50

Read the rest of this entry »

Tydzień temu pokazywałem aplikację pozwalającą na analizę trendu w ocenach seriali telewizyjnych. Aplikacja powstała by z jej pomocą omawiać regresję liniową.

Dzisiaj kontynuujemy temat. Poniżej można pobawić się aplikacją pozwalającą na porównanie średnich ocen dwóch różnych seriali. Czy Friends są wyżej oceniani niż Breaking Bad? I czy ta różnica jest istotna statystycznie?

Aby odpowiedzieć na to drugie pytanie możemy przedyskutować przy okazji o co chodzi z tą istotnością statystyczną.

Read the rest of this entry »

Spark + R = SparkR

12 lut
2015

spark-project-header1
Spark podbija coraz więcej serc. Nic dziwnego, skoro z wielu stron płyną komentarze o znaczącym (o rząd wielkości) przyśpieszeniu czasu potrzebnego na analizę dużych zbiorów danych.
Mamy rozbudowany mechanizm składowania (cache) obiektów w pamięci, dzięki czemu wykonując iteracyjnie operacje na tych samych danych nie ma potrzeby katowania dysku.

Jak dla mnie pewną wadą tej platformy było to, że aplikacje w Sparku należało pisać w Java, Scala lub Pythonie. To bardzo fajne języki, ale używam wielu specjalistycznych narzędzi statystycznych dostępnych w programie R i nie chciałbym ich przepisywać na python a tym bardziej na Java.

Szczęśliwie jednak, powstał łącznik dla R, powalający na integracje R i Sparka. Takie połączenie zapączkowało ponad rok temu, zainicjował je Shivaram Venkataraman z Berkeley. Z czasem kilka innych osób dołączyło do rozwoju pakietu SparkR
http://amplab-extras.github.io/SparkR-pkg/.

Dziś podzielę się pierwszymi wrażeniami z używania tego pakietu.

Read the rest of this entry »


Przygotowałem taką małą apkę, pozwalającą na przyglądanie się trendom w średnich ocenach seriali. Dane o ocenach odcinków pobrałem z bazy danych IMDB.

Kolorami oznaczone są seriale, czarna linia to regresja liniowa, szara kropkowana linia to lokalny wielomianowy trend. Apka jest przygotowana po to by opowiadać licealistom w ramach Matematyki dla Ciekawych Świata o co chodzi z trendem, regresją liniową i testowaniem współczynników. Ale zauważyłem, że zabawa z nią może wciąga (szczególnie jeżeli ogląda się seriale).

Gdyby poniższa aplikacja się nie otwierała (może to potrwać kilka sekund) to można ją znaleźć pod adresem https://smarterpoland.shinyapps.io/serialeIMDB.

Za tydzień pokażę apkę przedstawiającą test dla dwóch średnich na bazie danych o serialach.

Ale jeżeli macie inne pomysły jak wykorzystać dane o serialach o przedstawiania (prostych) technik analizy danych to piszcie.

Najbliższy spotkanie SERowe z żywymi prelegentami odbędzie się w marcu. W między czasie, 19 lutego, planujemy eksperyment grupowego oglądania filmów o Machine Learningu.

Rozmawiałem ostatnio z Czarkiem D. o tym jak wiele ciekawych referatów nagrywa się podczas takich konferencji jak ICML, COLT czy NIPS.
Od słowa do słowa zrodził się pomysł, by spotkać się i wspólnie pooglądać kilka wybranych referatów.

Więc 19 lutego w sali 101 na wydziale MINI PW (Koszykowa 75) będziemy przez pół godziny oglądać wstęp do Deep Learning, później zamówimy pizzę, później obejrzymy bardziej zaawansowany referat związany z klasyfikacją wielowymiarowych danych.

Lista filmów:

* Neural networks [7.3] : Deep learning – unsupervised pre-training

* Neural networks [7.4] : Deep learning – example

* High-dimensional learning with deep network contractions
http://videolectures.net/sahd2014_mallat_dimensional_learning/

Czy oglądanie takich filmów wspólnie ma jakieś zalety?
Zobaczymy.
Zainteresowanych serdecznie zapraszamy do dołączenia się.
Techniki deep learning są często wykorzystywane w analizie zdjęć, nagrań dźwięku i video.
Warto o nich posłuchać.

Ponieważ planujemy zamówić ciepłe jedzenie, osoby zainteresowane POWINNY się zarejestrować poprzez poniższy formularz.
Jedzenie sponsoruje fundacja SmarterPoland, uczestnictwo jest bezpłatne.

Read the rest of this entry »

Przed świętami pokazaliśmy interaktywną choinkę napędzaną statystykami popularności imion nadawanych dzieciom. Po świętach pokazaliśmy jak w pakiecie ggplot2 narysować choinkę.

Wczoraj pomiędzy Pałacem Kultury i Nauki a Dworcem Centralnym natknąłem się na choinkę, która wciąż świeci. Przyznacie, że choinka w lutym wygląda już dziwnie. Potraktujmy to jako znak, że najwyższy czas do końca rozebrać i naszą choinkę napisaną w shiny.

Co to jest shiny?

Read the rest of this entry »

Ładne mapy ciepła

29 sty
2015

image3

Czy wiecie, na których skoczniach Kamil Stoch zdobył najwięcej punktów w poprzednim sezonie?

Jakiś czas temu natknąłem się na pakiet pheatmaps dla programu R, który generuje ładniejsze mapy ciepła niż standardowy heatmap z R. Stąd też jego nazwa p(retty)heatmaps.

Zobaczmy te mapy na przykładzie. Zazwyczaj pakiet pheatmaps jest wykorzystywany w genomice, ale my poniżej użyjemy go do prezentacji wyników w skokach narciarskich w sezonie 2013/2014 (Zbiór danych użyty w konkursie na wizualizacje danych podczas konferencji PAZUR, zobacz zgłoszenia tutaj).
Dla każdego ze skoczków, który zdobył przynajmniej 400 punktów w klasyfikacji generalnej policzymy ile zdobył punktów na każdej ze skoczni.

Następnie tę macierz (skoczek vs. skocznia) przedstawiamy za pomocą mapy ciepła.

Mapa ciepła to wizualizacja macierzy liczb, w której wartość liczbowa danej komórki macierzy przedstawiona jest kolorem, a podobieństwo wierszy i kolumn przedstawione jest za pomocą dendrogramów.

Dane o skokach wczytamy z pakietu SmarterPoland. Są to dane użyte w konkursie na najlepszą wizualizację podczas konferencji PAZUR 2014.
Na początek trochę dplyr’owej magii aby policzyć liczbę punktów zdobytych do klasyfikacji generalnych uzyskanych na poszczególnych skoczniach przez poszczególnych skoczków.

Read the rest of this entry »

W marcu, w ramach Matematyki dla Ciekawych Świata będę prowadził kilka spotkań o analizie danych kierowanych do licealistów i gimnazjalistów.

Co im pokazać by ich porwać? Aby pokazać, że analiza danych jest fajna i nie polega wyłącznie na liczeniu ile jest chłopców a ile dziewczyn w klasie / szkole / bloku?

Ostatnio rozmawiałem o tym z Bartkiem Męglickim, który na ostatnim SERze pokazywał robota zrobionego z LEGO komunikującego się przez wifi z R. Od słowa do słowa zeszło na czujniki i kontrolery, takie jak np. przyspieszeniomierz, czyli akcelerometr, które generują sygnały, których analiza jest niebanalna. Z robota zeszło na telefon i tak…

Użytkownicy smartfonów mogą pobrać sobie bezpłatną apkę SensorLog, rejestrującą wartości z wielu czujników dostępnych w telefonie (kompas, akcelerometr, żyroskop, lokalizacja, itp). Takie logi można rejestrować i wysyłać mailem.

Później można je oglądać i próbować robić jakieś analizy.

Na tej stronie umieściłem trzy próbki nagrane podczas swobodnego marszu, wchodzenia po schodach i podskakiwania. Zobaczmy jak wygląda suma kwadratów każdej ze współrzędnych akcelerometru (pomiary dotyczą wymiaru X, Y i Z, klikając możemy powiększyć obrazek).

marszschodyskoki

Read the rest of this entry »

top