tìm trọng tâm của một cụm các điểm


27

Trong khi tìm kiếm trên web, các giải pháp tìm kiếm các khối đa giác xuất hiện khá thường xuyên. Điều tôi quan tâm là tìm một tâm của một cụm điểm. Một trung bình có trọng số của các loại. Tôi sẽ đánh giá cao nếu ai đó có thể cung cấp một số gợi ý, mã giả (hoặc thậm chí tốt hơn, gói R đã giải quyết vấn đề này) hoặc các liên kết về cách giải quyết vấn đề này.

CHỈNH SỬA

Sự hội tụ đã được tiến hành (một lần nữa). iant đã đề xuất một phương pháp để tọa độ trung bình và sử dụng phương pháp đó cho centroid. Đây chính xác là những gì tôi nghĩ khi tôi nhìn thấy hình ảnh đúng trên trang web này .

Dưới đây là một số mã R đơn giản để vẽ hình sau đây minh họa điều này (× là trọng tâm):

xcor <- rchisq(10, 3, 2)
ycor <- runif(10, min = 1, max = 100)
mx <- mean(xcor)
my <- mean(ycor)

plot(xcor, ycor, pch = 1)
points(mx, my, pch = 3)

nhập mô tả hình ảnh ở đây

CHỈNH SỬA 2

cluster::pam()$medoidstrả về một medoid của một tập hợp các cụm. Đây là một ví dụ đáng xấu hổ bị đánh cắp từ @Joris Meys:

library(cluster)
df <- data.frame(X = rnorm(100, 0), Y = rpois(100, 2))
plot(df$X, df$Y)
points(pam(df, 1)$medoids, pch = 16, col = "red")

1
Có một lý do trung tâm hoặc trung tâm khoảng cách tối thiểu của các điểm sẽ không đủ?
Andy W

1
@Roman: Đồ họa không chính xác: bạn cần sử dụng giá trị trung bình , không phải trung bình. Đối với các đám mây điểm không gian 2D, có các điểm tương tự của một trung tâm trung bình, nhưng đây không phải là một trong số chúng (vì nó phụ thuộc vào tọa độ): xem stats.stackexchange.com/q/1927/919 để thảo luận.
whuber

1
Tôi cũng sẽ đề nghị kiểm tra chương 4 của sổ làm việc crimestat , icpsr.umich.edu/CrimeStat/files/CrimeStatCh CHƯƠNG.4.pdf . Đây là một phần giới thiệu khá nhẹ nhàng, mô tả và hiển thị bằng đồ họa tại sao trung vị cho các kích thước cao hơn không có giải pháp duy nhất và mô tả các biện pháp khác về xu hướng trung tâm và phương sai của các mẫu điểm không gian.
Andy W

Điều này ngày càng thú vị hơn. Cảm ơn bạn cho câu trả lời của bạn. Tôi đang xem xét vấn đề.
Roman Luštrik

2
"đã đề xuất một phương pháp để tọa độ trung bình và sử dụng phương pháp đó cho trung tâm." Trên thực tế, đây là định nghĩa của centroid, không chỉ đơn giản là thứ gì đó tạo ra một xấp xỉ tốt.
Colin K

Câu trả lời:


43

chỉ cần trung bình tọa độ X và Y (nhân với trọng số nếu bạn muốn) và có trọng tâm của bạn.


4
+1 Giải pháp tuyệt vời. Nó cũng mở rộng đến các tâm trên hình cầu (điều này rất cần thiết để tránh các biến dạng liên quan đến chiếu khi các điểm được trải trên một phần lớn của địa cầu): đầu tiên chuyển đổi (lat, lon) thành 3D (x, y, z) ( tọa độ địa tâm), trung bình chúng, sau đó chuyển đổi kết quả trở lại (lat, lon) (bỏ qua thực tế gần như không thể tránh khỏi là trung bình 3D sẽ nằm sâu bên dưới bề mặt).
whuber

Tôi đã cập nhật câu hỏi của tôi để phản ánh câu trả lời của bạn.
Roman Luštrik

1

Bạn có thể sử dụng hàm centroid từ gói không gian địa lý.

https://www.rdocumentation.org/packages/geosphere/versions/1.5-5/topics/centroid


Chào mừng bạn đến với GIS StackExchange và cảm ơn bạn đã gửi câu trả lời. Vui lòng dành chút thời gian để xem lại Chuyến tham quan để tìm hiểu về định dạng Hỏi và Đáp tập trung của chúng tôi. Vui lòng chỉnh sửa câu trả lời của bạn để bao gồm nhiều chi tiết hơn vì chúng tôi thường tìm kiếm câu trả lời dài hơn (không phải 1-2 câu) để giúp người đăng ban đầu hoặc người tìm kiếm trong tương lai. Một sửa đổi bạn có thể làm là bao gồm một lý do bạn nghĩ rằng công cụ này sẽ hữu ích hoặc một đoạn mã / ảnh chụp màn hình.
smiller
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.