Analiza korelacji krzyżowej między procesami punktowymi


15

Chciałbym uzyskać poradę dotyczącą metody analizy, której używam, aby wiedzieć, czy jest ona statystycznie poprawna.

Zmierzyłem dwa procesy punktowe i i chcę ustalić jeśli zdarzenia w są w jakiś sposób skorelowane ze zdarzeniami w .T1=t11,t21,...,tn1T2=t12,t22,...,tm2T1T2

Jedną z metod, które znalazłem w literaturze, jest skonstruowanie histogramu korelacji krzyżowej: dla każdego znajdujemy opóźnienie dla wszystkich zdarzeń które przypadają w danym przedziale czasu (przed i po ), a następnie konstruujemy histogram wszystkich tych opóźnień.tn1T2tn1

Jeśli te dwa procesy nie są skorelowane, oczekiwałbym płaskiego histogramu, ponieważ prawdopodobieństwo wystąpienia zdarzenia w po (lub przed) zdarzeniu w jest równe przy wszystkich opóźnieniach. Z drugiej strony, jeśli na histogramie znajduje się pik, sugeruje to, że proces dwupunktowy w jakiś sposób wpływa na siebie (lub przynajmniej ma jakiś wspólny wkład).T2T1

To jest fajne i dobre, ale jak ustalić, czy histogramy mają szczyt (muszę powiedzieć, że dla mojego konkretnego zestawu danych są wyraźnie płaskie, ale nadal byłoby miło mieć statystyczny sposób potwierdzając to)?

Oto co zrobiłem: powtórzyłem proces generowania histogramu kilka razy (1000), utrzymując postaci i używając „potasowanej” wersji . Aby przetasować obliczam interwały między wszystkimi zdarzeniami, tasuję je i sumuję, aby odtworzyć nowy proces punktowy. W RI po prostu zrób to za pomocą:T1T2T2

times2.swp <- cumsum(sample(diff(times2)))

Tak więc otrzymuję 1000 nowych histogramów, które pokazują gęstość zdarzeń w porównaniu do .T2T1

Dla każdego przedziału tych histogramów (wszystkie są podzielone w ten sam sposób) obliczam gęstość 95% histogramu. Innymi słowy, mówię na przykład: w czasie opóźnienia 5 ms, w 95% procesów przetasowanego punktu istnieje prawdopodobieństwo x znalezienia zdarzenia w po zdarzeniu w .T2T1

Następnie wziąłbym tę wartość 95% dla wszystkich opóźnień czasowych i użyłem jej jako pewnego „limitu ufności” (prawdopodobnie nie jest to właściwy termin), aby wszystko, co przekroczy ten limit w oryginalnym histogramie, można uznać za „prawdziwe” szczyt".

Pytanie 1 : Czy ta metoda jest statystycznie poprawna? Jeśli nie, jak poradzisz sobie z tym problemem?

Pytanie 2 : inną rzeczą, którą chcę zobaczyć, jest to, czy istnieje „dłuższy” rodzaj korelacji moich danych. Na przykład mogą występować podobne zmiany w szybkości zdarzeń w procesach dwupunktowych (zauważ, że mogą mieć one zupełnie różne wskaźniki), ale nie jestem pewien, jak to zrobić. Myślałem o stworzeniu „obwiedni” każdego procesu punktowego przy użyciu pewnego rodzaju wygładzającego jądra, a następnie przeprowadzeniu analizy korelacji krzyżowej dwóch obwiedni. Czy możesz zasugerować inny możliwy rodzaj analizy?

Dziękuję i przepraszam za to bardzo długie pytanie.

Odpowiedzi:


11

Standardową metodą analizy tego problemu w dwóch lub więcej wymiarach jest funkcja K (Ripleya ) Ripleya , ale nie ma powodu, aby nie używać jej również w jednym wymiarze. (Wyszukiwarka Google dobrze sprawdza się w wykopywaniu odniesień.) Zasadniczo wykreśla CDF wszystkich odległości między punktami w dwóch realizacjach, a nie przybliżenie histogramu do pliku PDF tych odległości. (Wariant, funkcja L, rysuje różnicę między rozkładem K i zerowym dla dwóch jednorodnych nieskorelowanych procesów). To starannie omija większość problemów, z którymi się zmagasz, z koniecznością wyboru przedziałów, wygładzania itp. Pasma ufności dla K są zazwyczaj tworzone przez symulację. Łatwo to zrobić w R. Wiele pakietów statystyk przestrzennych dla R może być używanych bezpośrednio lub łatwo przystosowanych do tego przypadku 1D. Rogera Bivandastrona przeglądu CRAN zawiera listę tych pakietów: zapoznaj się z sekcją „Analiza wzoru punktu”.


Ciekawe ... Jestem teraz trochę zajęty, ale na pewno się temu przyjrzę!
nico
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.