Index zur räumlichen Verteilung von Punkten |
| 10.09.2010, 16:33 | x4ecro | Auf diesen Beitrag antworten » | ||||
| Index zur räumlichen Verteilung von Punkten Hallo, ich hab folgendes Problem. Ich möchte einen Index programmieren (MATLAB), der mir angibt ob meine Menge von Punkten n mit den koordinaten x(n) und y(n) Zufallsverteilt im Raum vorliegen oder in irgend einer Form konzentriert sind. Das einfachste Maß, dass ich hierzu finden konnte, ist die Standarddistanz sd http://www.geogr.uni-jena.de/fileadmin/Geoinformatik/c0krpe/statistik_skript/Sitzung6.pdf zweite Formel auf Seite 10. Nun meine Fragen: 1. Ist dies tatsächlich ein geeignetes Maß, um die Streuung von Punkten zu bestimmen? 2. Wie hoch ist die Standarddistanz für zufällig verteilte Punkte? 3. Kann ich dann einfach rechnen: (Standarddistanz der vorliegenden Punkte) / (Standdartdistanz der Zufallsverteilung) um auf den Grad der Verteilung meiner Punkte zu schließen? Meine Ideen: Mein MATLAB Code sieht wiefolgt aus: close all clear all n=1000000 for i=1:n x = rand(1); y = rand(1); x_vec(1,i)= x; y_vec(1,i)= y; end % x_vec= data(:,1); % y_vec = data(:,2); scatter(x_vec,y_vec) mean_x = mean(x_vec); mean_y = mean(y_vec); sd = 0 for j=1:n dif_x(j) = x_vec(j)-mean_x; dif_y(j) = y_vec(j)-mean_y; interm(j)= dif_x(j)^2+dif_y(j)^2; end sd = sqrt(1/n*sum(interm)) |
||||||
| 13.09.2010, 12:25 | Mazze | Auf diesen Beitrag antworten » | ||||
Also ob eine Mengen von Punkten Zufallsverteilt ist oder nicht, kann man nicht herausfinden. Es lässt sich zu jeder Menge von Punkten eine Verteilung finden, so dass die Punkte eine gute Stichprobe dieser Verteilung bilden. Von daher wäre jede beliebige Punktmenge "zufällig".
Das kommt auf die Wahrscheinlichkeitsverteilung an, die die Punkte erzeugt hat. |
||||||
| 13.09.2010, 12:38 | x4ecro | Auf diesen Beitrag antworten » | ||||
ich bin im moment dabei das ganze über den index zu lösen, der hier (s.178f) angegeben ist. Leider scheinen die Ergebnisse noch nicht so richtig zu stimmen. Hier mal der Quellcode (MATLAB): %---------------------------------------------------------------- clear all close all dim = 500; %Dimension der NxN-Matrix; Matrix = ones(dim,dim); %Matrix aus Einsen; dim_x= size(Matrix,1); dim_y= size(Matrix,2); resolution=30; n=100; area= numel(Matrix)*resolution^2; for z=1:1000 for i=1:n x = (dim_x)*rand(1); y = (dim_y)*rand(1); x_vec(1,i)= x; y_vec(1,i)= y; end %euclidean distance to nearest neighbor for i=1:n for j=1:n euc_dist(i,j)= sqrt((x_vec(i)-x_vec(j))^2+((y_vec(i)-y_vec(j))^2)); end end %observed distance for i=1:n nn(i)=min(euc_dist(i)); end r_obs=sum(nn)/n; %estimated distance r_est= 1/(2*sqrt(n/area)); %aggregation index index(z)= r_obs/r_est; scatter(x_vec,y_vec); plot(index); end %---------------------------------------------------------------- In dieser Serie werden 1000 mal 100 zufällig verteilte Punkte angelegt und deren Aggregationsindex berechnet. Das Ergebnis liegt jedoch immer bei 0.3-0.4. LAut dem Paper, dessen Link ich oben eingefügt habe (S.180) sollte eine Zufallsverteilung aber ungefähr den Wert 1 haben. DIe Auflösung von 30 ergibt sich aus der Auflösung der Satellitenbilder, für die ich das ganze verwenden möchte (30m*30m). Ist an der Stelle vll ein Denkfehler, oder ist die Berechnung einfach irgendwie verkehrt? Danke für den Support! |
||||||
| 13.09.2010, 14:09 | wisili | Auf diesen Beitrag antworten » | ||||
Ohne Matlab zu kennen, frage ich mal: Wieso «nn(i)=min(euc_dist(i));» und nicht «nn(i)=sum(euc_dist(i));»? |
||||||
| 13.09.2010, 14:12 | x4ecro | Auf diesen Beitrag antworten » | ||||
Ich bin ja auf der Suche nach dem nächsten Nachbarn jedes Punktes. darum rechne ich die euklidische Distanz eines Punktes zu allen anderen aus. Dann suche ich den nächsten nachbarn (nn), indem ich quasi die kleinste euklidische Distanz ermittele. |
||||||
| 13.09.2010, 14:47 | wisili | Auf diesen Beitrag antworten » | ||||
euc_dist(i,j) ist doch eine Matrix mit Nullen auf der Diagonale. Findet man mit min(euc_dist(i)) dann nicht ständig die 0? Und wieso ist der nächstgelegene Nachbar wichtig? |
||||||
| Anzeige | ||||||
|
|
||||||
| 13.09.2010, 14:56 | x4ecro | Auf diesen Beitrag antworten » | ||||
siehe auf dem Link, den ich oben schon gepostet habe, S.10.
Das stimmt, du hast theoretisch Recht. Ich habe auch gerade festgestellt, dass die FUnktin MIn in dem Fall scheibar nicht das Minimum (was theoretisch 0 sein müsste, richtig) ausgibt, sondern immer den ersten Wert der Matrix euc_dist....das ist sonderbar.... |
||||||
|
|
Verwandte Themen
| Die Beliebtesten » |
|
| Die Größten » |
|
| Die Neuesten » |
|
