Index zur räumlichen Verteilung von Punkten

Neue Frage »

x4ecro Auf diesen Beitrag antworten »
Index zur räumlichen Verteilung von Punkten
Meine Frage:
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))
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".

Zitat:
2. Wie hoch ist die Standarddistanz für zufällig verteilte Punkte?


Das kommt auf die Wahrscheinlichkeitsverteilung an, die die Punkte erzeugt hat.
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!
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));»?
x4ecro Auf diesen Beitrag antworten »

Zitat:
Original von wisili
Ohne Matlab zu kennen, frage ich mal:
Wieso «nn(i)=min(euc_dist(i));» und nicht «nn(i)=sum(euc_dist(i));»?


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.
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?
 
 
x4ecro Auf diesen Beitrag antworten »

Zitat:
Original von wisili
Und wieso ist der nächstgelegene Nachbar wichtig?


siehe auf dem Link, den ich oben schon gepostet habe, S.10.

Zitat:
Original von wisili
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?


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....
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »