Załączony zestaw danych pokazuje około 6000 sadzonek w około 50 lukach leśnych o zmiennej wielkości. Interesuje mnie nauka, w jaki sposób te sadzonki rosną w obrębie swoich odpowiednich luk (tj. Skupione, losowe, rozproszone). Jak wiecie, tradycyjnym podejściem byłoby uruchomienie Globalnego Morana I. Jednak agregacje drzew w obrębie agregatów luk wydają się być niewłaściwym użyciem Morana I. Przeprowadziłem pewne statystyki testowe z Moranem I, stosując odległość progową 50 metrów, co dało bezsensowne wyniki (tj. wartość p = 0,0000000 ...). Interakcja między agregacjami luk prawdopodobnie przyniesie te wyniki. Zastanawiałem się nad stworzeniem skryptu do przechodzenia przez poszczególne luki w czaszy i określania klastrowania w obrębie każdej luki, chociaż wyświetlanie tych wyników opinii publicznej byłoby problematyczne.
Jakie jest najlepsze podejście do kwantyfikacji klastrów w klastrach?
źródło
Odpowiedzi:
Nie masz jednolitego losowego pola, więc próba analizy wszystkich twoich danych naraz naruszy założenia każdej statystyki, którą wybierzesz na problem. Z twojego postu nie jest jasne, czy dane są procesem oznaczonym punktem (tj. Średnicą lub wysokością związaną z każdą lokalizacją drzewa). Jeśli te dane nie reprezentują procesu oznaczonego punktu, nie mam pojęcia, w jaki sposób zastosowałeś Morana. Jeśli dane reprezentują tylko lokalizacje przestrzenne, zaleciłbym użycie Ripley's-K z transformacją Besag-L, aby ustandaryzować zerowe oczekiwanie na zero. Pozwala to na wieloskalową ocenę klastrowania. Jeśli dane mają powiązaną wartość, najlepszą opcją jest lokalny Moran's-I (LISA). Spojrzałbym na to z obu statystyk. Bez względu na twój wybór nadal będziesz musiał przeglądać poszczególne witryny, aby uzyskać prawidłowe wyniki. Oto przykładowy kod R dla symulacji Monte Carlo dla Ripley's-K / Besag's-L przy użyciu wbudowanego zestawu danych drzewka sekwoi. Modyfikacja tego powinna być dość prosta, aby przeglądać witryny i tworzyć wykresy dla każdej z nich.
źródło
To, co masz, to wzór punktowy z oknem, które jest liczbą małych rozłączonych regionów wielokąta.
Powinieneś być w stanie skorzystać z dowolnego z testów
package:spatstat
CSR, o ile podasz je odpowiednim oknem. Może to być liczba zestawów par (x, y) definiujących każde czyszczenie lub macierz binarna wartości (0,1) w przestrzeni.Najpierw zdefiniujmy coś, co wygląda trochę jak twoje dane:
i udawajmy, że nasze polany to kwadratowe komórki, które akurat są takie:
Możemy więc wykreślić funkcję K tych punktów w tym oknie. Oczekujemy, że nie będzie to CSR, ponieważ punkty wydają się skupione w komórkach. Zauważ, że muszę zmienić zakres odległości, aby był mały - rzędu wielkości komórki - w przeciwnym razie funkcja K będzie oceniana na odległościach wielkości całego wzoru.
Jeśli wygenerujemy punkty CSR w tych samych komórkach, możemy porównać wykresy funkcji K. Ten powinien być bardziej podobny do CSR:
Tak naprawdę nie widać punktów skupionych w komórkach w pierwszym wzorze, ale jeśli narysujesz go samodzielnie w oknie graficznym, będzie to jasne. Punkty w drugim wzorze są jednolite w komórkach (i nie istnieją w czarnym obszarze), a funkcja K jest wyraźnie różna od
Kpois(r)
funkcji K CSR dla danych klastrowych i podobna dla danych jednolitych.źródło
Oprócz postu Andy'ego:
To, co chcesz obliczyć, to miara jednorodności przestrzennej (ergo hipoteza: „Czy twoje punkty są skupione?”), Takie jak funkcja L i K Ripleya .
Ten post na blogu całkiem dobrze wyjaśnia, jak to zrobić w R. W oparciu o opisany kod najpierw oznaczyłbym każdy klaster w zbiorze danych, a następnie obliczyłem w każdej pętli krytyczną obwiednię za pomocą K Ripleya
źródło