আরে ক্লাস্টারিং স্পেসিয়াল ডেটা? [বন্ধ]


34

অক্ষাংশ এবং দ্রাঘিমাংশ সহ আমার কাছে গুচ্ছ ডেটা পয়েন্ট রয়েছে। আমি তাদের দূরত্বের ভিত্তিতে তাদের ক্লাস্টার করতে আর ব্যবহার করতে চাই।

আমি ইতিমধ্যে এই পৃষ্ঠাটি একবার দেখেছি এবং ক্লাস্টটুল প্যাকেজটি চেষ্টা করেছি । তবে আমি নিশ্চিত নই যে ক্লাস্টটুলের ক্লাস্ট ফাংশন ডেটা পয়েন্টগুলি (ল্যাট, লম্বা) স্থানিক ডেটা হিসাবে বিবেচনা করে এবং তাদের মধ্যে দূরত্ব গণনা করার জন্য উপযুক্ত সূত্র ব্যবহার করে।

আমি বোঝাতে চাইছি যে তারা স্থানিক ডেটা এবং অর্ডিনাল ডেটার মধ্যে কীভাবে পার্থক্য করে। আমি বিশ্বাস করি মানচিত্রে দুটি স্থানের (স্থানিক) এবং দুটি সাধারণ সংখ্যার মধ্যে দূরত্বের গণনা আলাদা। (তা না হয়?)

এছাড়াও আমি যদি আমার ক্লাস্টারিংয়ের তৃতীয় প্যারামিটারটি বিবেচনা করতে চাই তবে কী হবে?

বলুন পছন্দ করুন যদি আমার (ল্যাট, লম্বা) এবং অন্য একটি প্যারামিটার থাকে।

দূরত্ব কীভাবে গণনা করা হয়?

ক্লাস্টটুলের সাথে আমার অন্যান্য সমস্যাটি হ'ল এটি জিওআইআইকে সামনে রেখে ডিজাইন করা হয়েছে। আমি জানি না কীভাবে আমি লাইব্রেরিতে জিইউআই ওভারহেড এড়িয়ে যেতে পারি কারণ আমার এটির প্রয়োজন নেই।

স্থানিক তথ্যের গুচ্ছ বিশ্লেষণের জন্য আমার কাছে আর কী বিকল্প আছে?



tnx whuber। আমার একটা প্রশ্ন আছে. আর-তে স্থানিক ক্লাস্টারিংয়ের জন্য কি কোনও নির্দিষ্ট প্যাকেজ রয়েছে? আমি বলতে চাইছি যতদূর আমি বুঝতে পারি দূরত্বের স্থানিক ডেটার জন্য আলাদাভাবে গণনা করা উচিত। এটা কি সঠিক?
কাপ্তান

আর এর সহ আমি প্রায় প্রতিটি সাধারণ-উদ্দেশ্যমূলক ক্লাস্টারিং প্যাকেজটি ভিন্নতা বা দূরত্বের ম্যাট্রিকগুলিকে ইনপুট হিসাবে Clusterগ্রহণ করবে । এটি এটিকে পুরোপুরি সাধারণ এবং গোলকের উপর ক্লাস্টারিংয়ের জন্য প্রযোজ্য করে তোলে, তবে আপনি নিজেরাই দূরত্বগুলি গণনা করতে পারেন যা সোজা।
whuber

আমি একটি দীর্ঘ সময়ের জন্য খুব অনুরূপ সমস্যার মুখোমুখি হয়েছি তবে একটি ভাল সমাধান খুঁজে পাচ্ছি না, আপনি স্ট্যাক-এক্সচেঞ্জে আমার পোস্টটি একবার দেখে নিতে পারেন । আমার কাছে মাসিক সমুদ্র পৃষ্ঠের তাপমাত্রার ডেটা (দীর্ঘ, লাত, এসএসটি) এর সেট রয়েছে। আপনি কি এই জাতীয় স্থানের ডেটাগুলির জন্য গুচ্ছগুলি খুঁজে পাওয়ার উপায় খুঁজে পেয়েছেন? আমি সঠিক আর প্যাকেজ / ফাংশনটি খুঁজে পাচ্ছি না। অগ্রিম ধন্যবাদ প্যাকো
পাকোমেট

আপনি স্যাটস্ক্যান ব্যবহার বিবেচনা করেছেন?

উত্তর:


13

এখানে পয়েন্ট ভিত্তিক দূরত্ব নিয়মের ক্লাস্টার সন্ধানের ভিত্তিতে একটি সমাধান দেওয়া হয়েছে , তবে প্যাকেজ distmথেকে ফাংশনটি ব্যবহার করে geosphere:

library(sp)
library(rgdal)
library(geosphere)

# example data from the thread
x <- c(-1.482156, -1.482318, -1.482129, -1.482880, -1.485735, -1.485770, -1.485913, -1.484275, -1.485866)
y <- c(54.90083, 54.90078, 54.90077, 54.90011, 54.89936, 54.89935, 54.89935, 54.89879, 54.89902)

# convert data to a SpatialPointsDataFrame object
xy <- SpatialPointsDataFrame(
      matrix(c(x,y), ncol=2), data.frame(ID=seq(1:length(x))),
      proj4string=CRS("+proj=longlat +ellps=WGS84 +datum=WGS84"))

# use the distm function to generate a geodesic distance matrix in meters
mdist <- distm(xy)

# cluster all points using a hierarchical clustering approach
hc <- hclust(as.dist(mdist), method="complete")

# define the distance threshold, in this case 40 m
d=40

# define clusters based on a tree "height" cutoff "d" and add them to the SpDataFrame
xy$clust <- cutree(hc, h=d)

আপনার মতো কিছু পাওয়া উচিত:

        coordinates ID clust
1 (-1.482156, 54.90083)  1     1
2 (-1.482318, 54.90078)  2     1
3 (-1.482129, 54.90077)  3     1
4  (-1.48288, 54.90011)  4     2
5 (-1.485735, 54.89936)  5     3
6  (-1.48577, 54.89935)  6     3
7 (-1.485913, 54.89935)  7     3
8 (-1.484275, 54.89879)  8     4
9 (-1.485866, 54.89902)  9     3

এই পরবর্তী পদক্ষেপগুলি কেবলমাত্র দেখার জন্য:

library(dismo)
library(rgeos)

# expand the extent of plotting frame
xy@bbox[] <- as.matrix(extend(extent(xy),0.001))

# get the centroid coords for each cluster
cent <- matrix(ncol=2, nrow=max(xy$clust))
for (i in 1:max(xy$clust))
    # gCentroid from the rgeos package
    cent[i,] <- gCentroid(subset(xy, clust == i))@coords

# compute circles around the centroid coords using a 40m radius
# from the dismo package
ci <- circles(cent, d=d, lonlat=T)

# plot
plot(ci@polygons, axes=T)
plot(xy, col=rainbow(4)[factor(xy$clust)], add=T)

চক্রান্ত


আমার এটি নিয়ে সমস্যা রয়েছে: আমার কাছে দূরত্বের ম্যাট্রিক্স রয়েছে এবং আমি প্রতিটি আইটেমের জন্য সবচেয়ে বেশি দূরত্ব খুঁজে পাই: for (i in 1:186) { print(paste(i,min(distance[i,c(1:(i-1),(i+1):187)]))) } এটি লাগে 4তবে আমি x <- cutree(hc, h=5)এটি প্রয়োগ করার পরে আমাকে 187 এর মধ্যে 101 টি ক্লাস্টার দেয় Log যৌক্তিকভাবে, 1টি কি হওয়া উচিত?
পিটার.কে

হাই, আমি আপনাকে এখানে কীভাবে সহায়তা করব তা নিশ্চিত নই। আমি একটা ছোট উদাহরণ তৈরি করা, এবং এটি কাজ করে জরিমানা: x = as.dist(matrix(runif(100), ncol=10)); hc = hclust(x, method="complete"); cutree(hc, h=max(x))। এটি আপনাকে প্রত্যাশার মতো একটি ক্লাস্টার দেয়। আপনার ক্লাস্টারিং মডেলটি এর সাথে চক্রান্ত করার চেষ্টা করুন: plot(hc)এবং দেখুন সর্বোচ্চ মানটি কী see
ssanch

11

আর-তে একটি গোলাকৃতির পৃথিবীতে সত্য দূরত্ব গণনা করার জন্য ফাংশন রয়েছে, তাই সম্ভবত আপনি সেগুলি ব্যবহার করতে পারেন এবং স্থানাঙ্কের পরিবর্তে দূরত্বের ম্যাট্রিক্সের সাথে ক্লাস্টারিং ফাংশনগুলি কল করতে পারেন। নামগুলি বা প্রাসঙ্গিক প্যাকেজগুলি যদিও আমি কখনও মনে করতে পারি না। সংকেতগুলির জন্য আর-স্থানিক টাস্ক ভিউ দেখুন।

অন্যান্য বিকল্প একটি রেফারেন্স সিস্টেম যাতে দূরত্বের আপনার পয়েন্ট রুপান্তর হয় হয় ইউক্লিডিয়। ইউকেতে আমি ওএসগ্রিড রেফারেন্স সিস্টেমটি ব্যবহার করতে পারি:

 data = spTransform(data,CRS("+epsg:27700"))

প্যাকেজ 'rgdal' (বা সম্ভবত মানচিত্রগুলি) থেকে spTransfor ব্যবহার করে। আপনার ডেটার জন্য একটি গ্রিড সিস্টেম সন্ধান করুন (প্রাসঙ্গিক ইউটিএম জোনটি সম্ভবত এটি করবে) এবং আপনি মিটারে কোনও দূরত্বের গণনা করবেন।

এটি কেবলমাত্র যদি আপনার ডেটা একটি ক্ষুদ্র অঞ্চল হয় - তবে আপনার যদি বিশ্বব্যাপী ডেটা থাকে তবে আপনাকে অবশ্যই গোলাকার দূরত্ব গণনা করতে হবে এবং এটি আর স্পেসিয়াল টাস্ক ভিউতে আলোচিত প্যাকেজগুলির মধ্যে একটি (বা আরও) কোথাও রয়েছে:

http://cran.r-project.org/web/views/Spatial.html

দেখে মনে হচ্ছে আপনি "জিওফিয়ার" প্যাকেজ চান, তবে স্থানিক টাস্ক ভিউটি পড়ুন!


7

আমি স্পাটস্যাট প্যাকেজটি একবার দেখে নিই । সম্পূর্ণ প্যাকেজটি স্থানিক বিন্দু নিদর্শন (sic) বিশ্লেষণের জন্য উত্সর্গীকৃত। সিএসআইআরওতে প্রফেসর অ্যাড্রিয়ান বাডলে রচিত একটি দুর্দান্ত ইবুক রয়েছে যাতে পুরো প্যাকেজের জন্য কীভাবে কীভাবে করা যায় এবং উদাহরণ রয়েছে তার বিশদ ডকুমেন্টেশন রয়েছে। "পয়েন্ট প্যাটার্নগুলির জন্য দূরত্বের পদ্ধতি" এর জন্য 19 অধ্যায়ে একবার দেখুন।

এটি বলেছিল, আমি নিশ্চিত নই যে স্পটস্যাট এমনকি স্থানিক এবং অস্থায়ী তথ্যগুলির মধ্যে পার্থক্য করে, তাই আপনি আপনার পয়েন্টগুলিকে সামঞ্জস্যপূর্ণ x এবং y মানগুলির সাথে কিছুতে পুনরায় প্রজেক্ট করতে চান - সম্ভবত rgdal (জিডিএল এবং ওজিআর জন্য একটি আর গ্রন্থাগার) ব্যবহার করার চেষ্টা করুন ।


tnx। এটি একটি দুর্দান্ত ইবুক। তবে আমি স্পষ্ট নই যে এই স্প্যাটস্যাটটি ব্যবহার করে কীভাবে ক্লাস্টারিং করা যেতে পারে কারণ আমি ক্লাস্টারিংয়ের জন্য কোনও নির্দিষ্ট ফাংশন দেখতে পাচ্ছি না। আপনি কিছুটা ব্যাখ্যা করতে পারেন?
কাপ্তান

2
প্রকৃতপক্ষে, ন্যায্যভাবে, এটি আবার তাকিয়ে আমি ডিসিপ্লাস্টার প্যাকেজটি দেখতে চাই - রোগ ক্লাস্টারগুলির বিশ্লেষণে বিভান্ডের একটি প্যাকেজ। এছাড়াও, জবাবের জন্য অপেক্ষা করার জন্য ক্ষমা চাই!
ওমেনার্স

6

সম্ভবত এই উত্তরটি 2 বছর খুব দেরিতে আসে তবে যাইহোক।

আমার জ্ঞানের কাছে, স্থানিক ক্লাস্টারিংয়ের জন্য একটি সংজ্ঞায়িত প্রতিবেশ প্রয়োজন যেখানে ক্লাস্টারিং অন্তত শুরুতে সীমাবদ্ধ। Kulldorf ফাংশন SpatialEpi প্যাকেজ সমষ্টিগত এলাকাগুলোর উপর ভিত্তি করে স্থানিক ক্লাস্টারিং জন্য করতে পারবেন।

আরও DBSCAN পরিসংখ্যাত থেকে পাওয়া FPC প্যাকেজ দরকারী হতে পারে।

অনুরূপ আলোচনার জন্য এখানেও দেখুন: https://stats.stackexchange.com/questions/9739/clustering-spatial-data-in-r

এবং সাম্প্রতিক ক্লাস্টার অ্যালগরিদমগুলি সম্পর্কে যেমন একটি চমকপ্রদ কাগজপত্রের জন্য যেমন: চ্যামেলিয়ন: http://www.cs.uiuc.edu/homes/hanj/pdf/gkdbk01.pdf


হান এট আল দ্বারা লেখা কাগজ, "ডেটা মাইনিং এর স্পেশাল ক্লাস্টারিং পদ্ধতি: একটি সমীক্ষা" এখন পাওয়া যাবে: hanj.cs.illinois.edu/pdf/gkdbk01.pdf
knb

5

Rপ্যাকেজ না হলেও , জিওডা পরীক্ষা করার জন্য একটি আকর্ষণীয় প্রোগ্রাম হতে পারে কারণ এটি লুক অ্যাসেলিন লিখেছেন যিনি স্থানিক ক্লাস্টারিং তত্ত্বকে অবদান রেখেছেন এবং আমি বিশ্বাস করি এটি কিছুটা ক্লাস্টারিং সক্ষম করে (যদিও এটি সন্ধানের পরে কিছুদিন হয়ে গেছে)।

spdep একটি দুর্দান্ত Rপ্যাকেজ। এটি ট্রি এজ রিমুভাল দ্বারা স্থানিক 'কে'লস্টার বিশ্লেষণেরskater জন্য ফাংশন অন্তর্ভুক্ত করে । এটি স্থানীয় মুরান এবং অন্যান্য স্থানিক পরিসংখ্যানগুলি ব্যবহার করে স্থানীয় ক্লাস্টারের সনাক্তকরণ সহ স্থানিক অটো-পারস্পরিক সম্পর্ক এবং স্থানিক বিশ্লেষণের জন্য অন্যান্য ক্রিয়াকলাপগুলিও নিয়ে আসে। এটি নিম্নরূপ বর্ণিত হয়েছে:

বহুভোগের সংমিশ্রণগুলি থেকে দূরত্ব এবং সংক্ষিপ্তসার অনুসারে পয়েন্ট প্যাটার্নগুলি থেকে, এই বিষয়গুলির সংক্ষিপ্তসার জন্য এবং স্থানিক ডেটা বিশ্লেষণে তাদের ব্যবহারের অনুমতি দেওয়ার জন্য, ন্যূনতম বিস্তৃত গাছের দ্বারা আঞ্চলিক সংহতকরণ সহ ক্রিয়াকলাপের ওজন ম্যাট্রিক্স অবজেক্ট তৈরির কাজ; গ্লোবাল মুরানের আই, এপল, জেরির সি, হুবার্ট / ম্যান্টেল জেনারেল ক্রস প্রোডাক্ট স্ট্যাটিস্টিক, এমিরিকাল বেইস অনুমান এবং আসুনোও / রেইস ইনডেক্স, গেটিস / অর্ড জি এবং বহুবিধ জড়িত গণনা পরিসংখ্যান, স্থানীয় মুরানের আই এবং গেটিস সহ স্থানিক অটোকোরিলেশনের পরীক্ষার সংকলন / অর্ড জি, গ্লোবাল এবং স্থানীয় মুরানের আইয়ের জন্য স্যাডলিপয়েন্টের আনুমানিকতা এবং সঠিক পরীক্ষা; এবং স্থানিক যুগপত অটোরেগ্রেসিভ (এসএআর) ল্যাগ এবং ত্রুটির মডেলগুলি অনুমান করার জন্য কার্যাদি, ল্যাগ মডেলগুলির জন্য প্রভাবের ব্যবস্থা,

আপনার পয়েন্টগুলি এলোমেলোভাবে স্থানগতভাবে বিতরণ করা হলে আপনি অন্তত পরীক্ষা করতে পারেন (স্থানিক দূরত্ব বিবেচনা করার সময় সম্ভবত একটি কার্যকর পরীক্ষা প্রাক-ক্লাস্টারিং), তবে এটি অন্যান্য কার্যকর ব্যবস্থাও তৈরি করতে পারে যা আপনি আপনার ক্লাস্টারিং অ্যালগরিদমে ইনপুট করতে পারেন। অবশেষে, সম্ভবত আপনি স্থানিক ক্লাস্টারিংয়ের সমস্যাগুলি মোকাবেলায় https://stats.stackexchange.com/ এ দরকারী প্রশ্নগুলি খুঁজে পেতে পারেন (যদিও তাত্ত্বিক দিক থেকে আরও) more


এই উত্তরটি একই ধরণের কার্যকারিতা অনেকগুলি চিহ্নিত করে, স্পেসট্যাট লাইব্রেরিতে উপলব্ধ পয়েন্ট প্যাটার্নের স্থানিক প্যাটার্ন বা স্বতঃসংশ্লিষ্ট বিশ্লেষণ করে। যেখানে এটি আকর্ষণীয় এটি ক্লাস্টারিংয়ের প্রশ্নের পক্ষে পুরোপুরি জার্মানি নয়। আমি সমস্ত অনুমানের পরীক্ষা এবং অনুসন্ধান বিশ্লেষণের জন্য আছি তবে একটিকে সরাসরি হাতে প্রশ্নটি সমাধান করা উচিত। স্পডেপ ব্যবহার করে ক্লাস্টারিংয়ের পদ্ধতিগুলি নিকটস্থ প্রতিবেশী, কন্টিজেন্সি বা দূরত্ব ব্যবহার করে স্থানিক ওজন ম্যাট্রিক্স [উইজ] এর উপর ভিত্তি করে।
জেফরি ইভান্স 17

2

আরে লিডারক্লাস্টার প্যাকেজ ব্যবহার করে দেখুন other


-2

জিওফিয়ার প্যাকেজ দূরত্ব ফাংশন বা জীবাশ্ম ডিগ্রি ডেস্ক ফাংশন পরীক্ষা করে দেখুন। আপনার ডিগ্রীতে ডেটা রয়েছে এবং ক্লাস্টারিংয়ের আগে এটি মিটার বা পায়ে অনুবাদ করতে হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.