2017-10-03 3 views
0

Ich analysiere Ambulanzvorfalldaten. Der Datensatz umfasst drei Jahre und hat ungefähr 250000 Vorfälle. Eine vorläufige Analyse zeigt, dass die Verteilung der Vorfälle mit der Bevölkerungsverteilung zusammenhängt. Das Anpassen eines Punktprozessmodells unter Verwendung von spatstat stimmt damit überein, mit breiter Übereinstimmung in einer partiellen Restdarstellung. Es wird jedoch angenommen, dass der Trend von diesem bevölkerungsbezogenen Trend während der "sozialen Stunden", das heißt Freitag, Samstagabend, Feiertage, abweicht.Verwenden eines Punktprozessmodells für die Vorhersage

Ich möchte Teilmengen der Daten nehmen und sehen, wie sie sich von dem Gesamtbild unterscheiden. Wie berücksichtige ich den Intensitätsunterschied aufgrund der geringeren Anzahl von Punkten, die einer Teilmenge der Daten innewohnen?

Oder gibt es eine Möglichkeit, mein angepasstes Modell direkt für das Gesamtbild zu verwenden?

Es ist schwierig, Daten zur Verfügung zu stellen, da es Probleme mit der Privatsphäre gibt, und mit der Größe des Datasets ist es schwierig, die Situation zu simulieren. Ich bin keineswegs ein Statistiker, daher stolpere ich hier ein bisschen. Ich habe eine Kopie von
"Spatial Point Patterns Methodik und Anwendungen mit R", die sehr nützlich ist.

werde ich mit Pseudo-Code versuchen, meine Methodik .. bisher

zu sein bw.scott
250k_pts.ppp <- ppp(the_ambulance_data x and y, the_window) 
1.3m_census_pts <- ppp(census_data x and y, the_window) 

Beste Bandbreite schien durch visuelle Inspektion für die Dichte Oberfläche zu erklären. Dies wurde verwendet, um eine Dichtefläche für die Punkte anzupassen.

inc_density <- density(250k_pts.ppp, bw.scott) 
pop_density <- density(1.3m_census_pts, bw.scott) 

fit0 <- ppm(inc_density ~ 1) 
fit_pop <- ppm(inc_density ~ pop_density) 

partials <- parres(fit_pop, "pop_density") 

die partiellen Residuen Plotten zeigt, dass die Vereinbarung mit der linearen Anpassung im Großen und Ganzen akzeptabel ist, mit einigen Bereichen des ‚Wobble‘ ..

Was ich denke nächste tun:

the_ambulance_data %>% group_by(day_of_week, hour_of_day) %>% 
select(x_coord, y_coord) %>% nest() -> nested_day_hour_pts 

Nehmen Sie eines dieser Listenelemente und erstellen Sie ein PPP, sagen Sie fri_2300hr_ppp;

fri23.den <- density(fri_2300hr_ppp, bw.scott) 
fit_fri23 <- fit(fri_2300hr_ppp ~ pop_density) 

Wie vergleiche ich dann diese PPP oder Dichte mit dem breiteren Modell? Ich kann charakteristische Tests wie Dispersion, Clustering tun .. Kann ich die partiellen Residuen von fit_pop und fit_fri23 vergleichen?

Wie kontrolliere ich für den Effekt der Anzahl der Punkte auf der Dichte - d. H. Ich habe 250k Punkte gegenüber vielleicht 8000 Punkten in der Teilmenge. Ich denke vielleicht Quantile der Dichte Oberfläche?

+0

Dies scheint keine spezielle Programmierfrage zu sein, die für Stack Overflow geeignet ist. Wenn Sie allgemeine Fragen zu statistischen Methoden haben, sollten Sie wahrscheinlich bei [stats.se] oder [datascience.se] nachfragen oder wenn es für geografische Daten spezifisch ist, vielleicht [gis.se]. – MrFlick

+0

Ich würde argumentieren, dass das OP vielleicht nur einige Beispieldaten und einige Codezeilen hinzufügen müsste, die zeigen, was er bisher getan hat, damit wir das Problem verstehen und es als ein Programmierproblem in R/spatstat sehen können. Auf der anderen Seite können Sie Recht haben und Cross Validated würde besser passen. Jedenfalls würde ein spezifischeres Beispiel mit (gefälschten/Teilmengen) Daten und angepassten Modellen helfen. –

Antwort

1

Markierungen an die Ambulanzdaten anhängen, die die interessierenden Untergruppen/Kategorien darstellen (z. B. "beschäftigt" oder "nicht besetzt"). Verwenden Sie für eine informelle oder nichtparametrische Analyse Werkzeuge wie relrisk oder verwenden Sie density.splitppp, nachdem Sie die verschiedenen Punkttypen mit split.ppp getrennt haben. Für eine formale Analyse (unter Berücksichtigung der Stichprobengröße usw.) sollten Sie mehrere Kandidatenmodelle an dieselben Daten anpassen, wobei ein Modell einen Busy/Nonbusy-Effekt hat und ein anderes Modell keinen solchen Effekt hat. Verwenden Sie dann anova.ppm, um formell zu prüfen, ob es solche gibt ein beschäftigt/nonbusy Effekt. Siehe Kapitel 14 des erwähnten Buches.

Verwandte Themen