Obliczanie korelacji przestrzennej między obiektami z dwóch oddzielnych warstw w QGIS

10

Próbuję ustalić, czy obecność dużej liczby czynnych żołnierzy wojskowych na danym obszarze jest skorelowana przestrzennie z wyższym / niższym poziomem przestępstw z użyciem przemocy. To znaczy, czy obszary otaczające duże bazy wojskowe są średnio / mniej gwałtowne niż obszary, które nie znajdują się w pobliżu baz wojskowych?

Pracuję z następującymi dwoma zestawami danych:

(1) zestaw danych punktowych baz wojskowych w kontynentalnych USA i odpowiadających im poziomów żołnierzy:

Lokalizacje amerykańskich instalacji wojskowych w dolnej 48

(2) zestaw ogólnopolskich danych o wskaźnikach przestępstw z użyciem przemocy według miasta:

Poziomy przestępstw z użyciem przemocy w USA według miast

Czuję, że szukam jakiegoś modelu opartego na grawitacji , w którym funkcja „masy” podaje poziomy żołnierzy w każdej bazie. Tak więc obecność dużego oddziału wywierałaby wpływ na większy obszar i miałaby silniejszy wpływ w pobliżu środka masy (tj. Lokalizacji punktu w warstwie GIS).

Myślę, że koncepcyjnie wyglądałoby to mniej więcej tak: model grawitacyjny - wykres zaniku odległości

Na tym schemacie X, Y, Z przedstawiają bazy wojskowe. a, b, c, d reprezentują miasta (każde z nich ma pole wskaźnika przemocy w tabeli atrybutów).

Gradient wokół baz reprezentuje pole wpływu, które maleje wykładniczo wraz z odległością od podstawy centroidu. Większa obecność oddziałów oznacza większy promień wpływu (z pewną maksymalną odległością progową), a także silniejszy wpływ w pobliżu centrum w stosunku do obszarów w pobliżu mniejszej bazy.

Każdemu miastu zostanie przypisany wynik oparty na zsumowaniu wielkości wszystkich wektorów „siły” ze wszystkich otaczających baz, w których promieniu oddziaływania się znajdują. Na przykład na moim schemacie Miasto a miałoby wynik 0, ponieważ leży poza promieniem bazy. Miasto b będzie wpływać tylko przez bazowej X . Miasto C będzie wpływać tylko przez podstawowy Z , a jego wynik byłby mniejszy niż B , ponieważ X jest o wiele większa niż podstawa Z . Wreszcie miasto d leży w promieniu obu baz X i Y, otrzyma wynik oparty na zsumowaniu wielkości wpływu z obu baz. Sprawdziłbym wtedy, czy istnieje korelacja między wyższym wynikiem dla miasta a wyższym poziomem przemocy.

Przyglądałem się różnym modelom opartym na grawitacji ( modele Huffa itp.), Ale nie byłem w stanie znaleźć tyle, co QGIS / Python i nie jestem pewien, jak wdrożyć to, co opisałem powyżej ... Czy ktoś ma jakieś sugestie dla tego? Czy któryś z was wcześniej przeprowadzał tego typu analizy w innych obszarach?

Zatem TLDR to:

  • Jakich technik statystycznych mogę użyć do tego rodzaju pytań?
  • Czy są jakieś narzędzia wbudowane w QGIS (lub dostępne jako wtyczki), które mogą to zrobić?
  • Jeśli w QGIS nie ma czegoś takiego, czy istnieją biblioteki Pythona, które mogą przeprowadzić tego rodzaju analizę?
J. Taylor
źródło
Żeby było jasne, jestem świadomy, że istnieje mnóstwo innych czynników, które wchodzą w grę ze stopami przemocy (ubóstwo, gęstość miejska, itp), ale proszę zakładamy dla uproszczenia, że nie wystąpiły istotne zmienne zakłócające i że byłem tylko patrząc na korelację między tymi dwiema zmiennymi (poziom żołnierzy i wskaźniki przemocy). W tym momencie jest to tylko ćwiczenie edukacyjne i staram się dowiedzieć, jakie narzędzia są dla mnie dostępne. Dzięki!
J. Taylor,
1
Aby odpowiedzieć na twoje trzecie pytanie, znalazłem PySAl, który został opracowany przez prof. Luca Anselina, który warto sprawdzić, biorąc pod uwagę twoje zainteresowania. Pracował również nad GeoDa, która jest gotowym rozwiązaniem tego, na co patrzysz. Może istnieć wtyczka PySAl dla QGIS? pysal.readthedocs.org/en/latest
raphael

Odpowiedzi:

2

Rozszerzając mój komentarz powyżej

To, co prawdopodobnie prawdopodobnie skończysz, to regresja liniowa z opóźnieniem przestrzennym, która uwzględnia korelację przestrzenną niektórych twoich zmiennych (będę musiał spojrzeć na moje uwagi na ten temat).

Luc Anselin był pionierem w tej dziedzinie i powinieneś rzucić okiem na jego prace, zwłaszcza (bezpłatne) narzędzia i dokumentację w GeoDa Center . Oba te narzędzia mogą Cię zainteresować:

  1. GeoDa, samodzielne oprogramowanie do badania korelacji przestrzennej (auto).
  2. PySAL , biblioteka do analizy przestrzennej języka Python.

Podczas wyszukiwania wtyczki PySAL dla QGIS znalazłem coś, co nie było aktualizowane od lat, ale możesz mieć więcej szczęścia.

Rafael
źródło
Dziękuję Raphael. Przyjrzę się bardziej koncepcji „regresji liniowej z opóźnieniem przestrzennym”. Natrafiłem już na PySAL / GeoDa dzięki rekomendacji na kanale IRC #qgis. Masz rację, że wiele dokumentacji na stronie GeoDa było pomocne. Nadal nie znalazłem niczego, co robi dokładnie to, czego chcę, ale jeśli skończę z koniecznością kodowania go, istnieje wiele narzędzi, które wyglądają, jakby były przydatnymi „elementami składowymi”.
J. Taylor,