বন ফাঁকির মধ্যে গাছগুলি আর ব্যবহার করে ক্লাস্টার করা হচ্ছে তা নির্ধারণ করা হচ্ছে?


14

সংযুক্ত ডেটাসেট প্রায় 50 পরিবর্তনশীল আকারের বন ফাঁকিতে প্রায় 6000 চারা দেখায়। আমি কীভাবে এই চারাগুলি তাদের নিজ নিজ ফাঁক (যেমন ক্লাস্টারড, এলোমেলো, ছড়িয়ে দেওয়া) এর মধ্যে বাড়ছে তা শিখতে আগ্রহী। আপনারা জানেন যে গ্লোবাল মোড়ন আই চালানোর জন্য একটি traditionalতিহ্যবাহী পন্থা হবে। তবে ফাঁকির সংক্রমণের মধ্যে গাছের সমষ্টি মুরানের আইয়ের অনুপযুক্ত ব্যবহার বলে মনে হয় 50 যা অযৌক্তিক ফলাফল (যেমন পি-মান = 0.0000000 ...) এনেছে) ব্যবধান সমষ্টিগুলির মধ্যে মিথস্ক্রিয়া সম্ভবত এই ফলাফলগুলি তৈরি করে। আমি পৃথক ক্যানোপি ফাঁক দিয়ে লুপ করার জন্য একটি স্ক্রিপ্ট তৈরি করার বিষয়টি বিবেচনা করেছি এবং প্রতিটি ফাঁকের মধ্যে ক্লাস্টারিং নির্ধারণ করেছি, যদিও এই ফলাফলগুলি জনসাধারণের কাছে প্রদর্শন করা সমস্যাযুক্ত হবে।

গুচ্ছগুলির মধ্যে ক্লাস্টারিং পরিমাণের জন্য সর্বোত্তম পন্থা কোনটি?

এখানে চিত্র বর্ণনা লিখুন


1
হারুন, আপনি বলছেন যে আপনি মরানের আই চালানোর চেষ্টা করেছিলেন, আপনি কি চারাটির গুণাবলী প্রতিবেশী চারাগুলির বৈশিষ্ট্যের সাথে তুলনা করেন (যেমন আপনি একটি চিহ্নিত পয়েন্ট প্যাটার্নটি নিয়ে কাজ করছেন) তা মাপতে আগ্রহী? শিরোনাম থেকে বোঝা যাচ্ছে যে আপনি কেবল একে অপরের সাথে সম্পর্কিত চারাগুলির অবস্থানের বিষয়ে আগ্রহী এবং তাদের বৈশিষ্ট্যগুলি নয়।
ম্যানিজি

@ ম্যানিজি হ্যাঁ, আমি কেবলমাত্র নির্ধারণ করতে আগ্রহী যে কোনও বনাঞ্চলের ব্যবধানের মধ্যে চারাগুলি অন্য চারাগুলির অবস্থানের তুলনায় ক্লাস্টার করা হয়েছে কিনা। এখানে মাত্র একটি প্রজাতির আগ্রহ এবং চারাগুলির আকার আগ্রহী নয়।
হারুন

উত্তর:


7

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

# ADD REQUIRED PACKAGES
require(sp)
require(spatstat)
options(scipen=5)

# USE REDWOOD SAPLING DATASET
spp <- SpatialPoints(coords(redwood))

###################################################
###### START BESAG'S-L MONTE CARLO  ANALYSUS ######
###################################################
# CREATE CONVEX HULL FOR ANALYSIS WINDOW                       
W=ripras(coordinates(spp)) 

# COERCE TO spatstat ppp OBJECT
spp.ppp=as.ppp(coordinates(spp), W)                     
  plot(spp.ppp) 

# ESTIMATE BANDWIDTH
area <- area.owin(W)
lambda <- spp.ppp$n/area
 ripley <- min(diff(W$xrange), diff(W$yrange))/4
   rlarge <- sqrt(1000/(pi * lambda))
     rmax <- min(rlarge, ripley)
bw <- seq(0, rmax, by=rmax/10)  

# CALCULATE PERMUTED CROSS-K AND PLOT RESULTS       
Lenv <- envelope(spp.ppp, fun="Kest", r=bw, i="1", j="2", nsim=99, nrank=5, 
                 transform=expression(sqrt(./pi)-bw), global=TRUE)            
plot(Lenv, main="Besag's-L", xlab="Distance", ylab="L(r)", legend=F, col=c("white","black","grey","grey"), 
    lty=c(1,2,2,2), lwd=c(2,1,1,1) )
     polygon( c(Lenv$r, rev(Lenv$r)), c(Lenv$lo, rev(Lenv$hi)), col="lightgrey", border="grey")
       lines(supsmu(bw, Lenv$obs), lwd=2)
       lines(bw, Lenv$theo, lwd=1, lty=2)
         legend("topleft", c(expression(hat(L)(r)), "Simulation Envelope", "theo"), pch=c(-32,22),
                col=c("black","grey"), lty=c(1,0,2), lwd=c(2,0,2), pt.bg=c("white","grey"))

1
তবে আপনি কেবল আপনার পয়েন্ট প্যাটার্নের জন্য উইন্ডো হিসাবে উত্তল হাল ব্যবহার করে যেতে পারবেন না! মনে রাখবেন, উইন্ডোটি সেই অঞ্চল যেখানে পয়েন্টগুলি উত্পাদিত প্যাটার্নটি কাজ করে। আপনি একটি প্রাক-অগ্রণী জানেন যে গাছগুলি কেবলমাত্র এই সেট অঞ্চলে জন্মায় এবং সেগুলি প্রতিফলিত করার জন্য আপনার উইন্ডোটি সেট করতে হবে। আপনি আপনার ক্লিয়ারিংয়ের ০.০x আকারের ক্রমের খুব ছোট কিছুতে কে (আর) এর ব্যাপ্তি নির্ধারণ করে এটিকে প্রশমিত করতে পারেন, তবে প্রান্ত প্রভাব সংশোধনের অভাবে আপনি পক্ষপাতমূলক ফলাফল পাবেন। জেফরি তার গবেষণামূলক অঞ্চলটি সংজ্ঞায়িত করতে পুরো অধ্যয়নের ক্ষেত্রের আকারটি ব্যবহার করছে।
স্পেসডম্যান

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

1
এই সম্পর্কে আরও কিছু চিন্তা। আপনার সত্যিকার অর্থে বহুভুজ ব্যবহার করা উচিত যা প্রতিটি উইন্ডোটিকে আপনার উইন্ডো হিসাবে উপস্থাপন করে। আপনি যদি পরীক্ষামূলক ইউনিটকে প্রতিবিম্বিত করতে আপনার সমস্যাটি সাবসেট করেন তবে সিএসআর এবং কে পক্ষপাতিত্ব করবে কারণ অঞ্চলটি প্রকৃতপক্ষে ছত্রাকের ফাঁক আকারকে প্রতিফলিত করে না। এটি আমার এবং @ স্পেসডম্যানের উভয় সুপারিশেই একটি সমস্যা।
জেফরি ইভান্স

2
আমার বর্ধিত উদাহরণটি কেবল একটি মোটা গ্রিড ব্যবহার করেছে কারণ এটি প্রায় সঠিক কাঠামো সহ কিছু তৈরি করার মোটামুটি সহজ উপায় Note আপনার মুখোশটি আপনার উন্মুক্ত বন অঞ্চলের মানচিত্রের মতো হওয়া উচিত। তথ্য থেকে মুখোশটি সংজ্ঞায়িত করার জন্য এটি প্রযুক্তিগতভাবে ভুল!
স্পেসডম্যান

1
@Spacedman। আমি আপনার পদ্ধতির পছন্দ করি এবং এটি অবশ্যই দক্ষ। আমার সুনির্দিষ্ট উদ্বেগ হ'ল শিবির ফাঁক হ'ল পরীক্ষামূলক ইউনিট। আপনার পদ্ধতির ক্ষেত্রে, যদি দুটি ব্যবধান প্রক্সিমাল হয় তবে ব্যান্ডউইথ পৃথক নমুনা ইউনিটগুলির পর্যবেক্ষণগুলি প্রশংসনীয়ভাবে অন্তর্ভুক্ত করতে পারে। অধিকন্তু, ফলস্বরূপ পরিসংখ্যানগুলি পরীক্ষামূলক ইউনিটের "পুল" প্রতিবিম্বিত করা উচিত নয় তবে প্রতিটি ইউনিটের প্রতিনিধি হওয়া উচিত এবং পরীক্ষামূলক ইউনিটগুলি জুড়ে সাধারণ নিদর্শনগুলি থেকে আঁকা স্থানিক প্রক্রিয়াটির উপর নজর রাখা উচিত। যদি বিশ্বব্যাপী চিকিত্সা করা হয়, এটি একটি ননস্টেশনারি তীব্রতা প্রক্রিয়া প্রতিনিধিত্ব করে যা পরিসংখ্যানগত অনুমানকে লঙ্ঘন করে।
জেফ্রি ইভানস

4

আপনার কাছে যা উইন্ডো সহ একটি পয়েন্ট প্যাটার্ন যা ছোট ছোট সংযোগ বিচ্ছিন্ন বহুভুজ অঞ্চলগুলিতে।

আপনি package:spatstatযখনই সঠিক উইন্ডো দিয়ে খাওয়ান ততক্ষণ আপনি সিএসআর- এর জন্য যে কোনও পরীক্ষার ব্যবহার করতে সক্ষম হবেন । এটি প্রতিটি ক্লিয়ারিংকে সংজ্ঞায়িত করে (x, y) জোড়ার কয়েকটি সেট বা স্থানের উপরে (0,1) মানের বাইনারি ম্যাট্রিক্স হতে পারে।

প্রথমে এমন কিছু সংজ্ঞায়িত করতে দেয় যা দেখতে কিছুটা আপনার ডেটার মতো লাগে:

set.seed(310366)
nclust <- function(x0, y0, radius, n) {
               return(runifdisc(n, radius, centre=c(x0, y0)))
             }
c = rPoissonCluster(15, 0.04, nclust, radius=0.02, n=5)
plot(c)

এবং আমাদের ক্লিয়ারিংগুলি ভঙ্গুর কোষগুলি ভান করতে দেয় যা কেবল এটি হয়ে থাকে:

m = matrix(0,20,20)
m[1+20*cbind(c$x,c$y)]=1
imask = owin(c(0,1),c(0,1),mask = t(m)==1 )
pp1 = ppp(x=c$x,y=c$y,window=imask)
plot(pp1)

সুতরাং আমরা সেই উইন্ডোতে points পয়েন্টগুলির কে-ফাংশন প্লট করতে পারি। আমরা এটি সিএসআরবিহীন হওয়ার প্রত্যাশা করব কারণ পয়েন্টগুলি কোষের মধ্যে ক্লাস্টারযুক্ত বলে মনে হচ্ছে। লক্ষ্য করুন আমাকে দূরত্বের পরিধি ছোট হতে হবে - ঘরের আকারের ক্রম অনুসারে - অন্যথায় কে-ফাংশনটি পুরো প্যাটার্নের আকারের দূরত্বে মূল্যায়ন করে।

plot(Kest(pp1,r=seq(0,.02,len=20)))

যদি আমরা একই কক্ষে কিছু সিএসআর পয়েন্ট উত্পন্ন করি তবে আমরা কে-ফাংশন প্লটগুলি তুলনা করতে পারি। এইটি আরও সিএসআরের মতো হওয়া উচিত:

ppSim = rpoispp(73/(24/400),win=imask)
plot(ppSim)
plot(Kest(ppSim,r=seq(0,.02,len=20)))

প্যাচী উইন্ডোতে দুটি পয়েন্ট নিদর্শন

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


2

অ্যান্ডির পোস্ট ছাড়াও:

আপনি যা গণনা করতে চান তা স্থানিক একজাতীয়তার একটি পরিমাপ (হাইপোথিসিসের এগো: "আপনার পয়েন্টগুলি কি ক্লাস্টারড?") যেমন রিপলির এল এবং কে ফাংশন

এই ব্লগ পোস্টটি আর-তে কীভাবে করা যায় তা ব্যাখ্যা করে। বর্ণিত কোডের ভিত্তিতে আমি প্রথমে আপনার ডেটাসেটের প্রতিটি ক্লাস্টারকে লেবেল করব এবং তারপরে রিপলির কে-এর মাধ্যমে প্রতিটি ক্লাস্টারের সমালোচনামূলক খামের জন্য একটি লুপে গণনা করব


আমি বর্তমানে আমার উত্তরটি মুছে ফেলেছি। কিছু সংক্ষিপ্ত বিশ্লেষণে বলা হয়েছিল যে কে-ইনের ভিত্তিতে প্লটগুলি সুবিধাবাদীভাবে চিহ্নিত করে স্থানীয় পরিসংখ্যানকে পক্ষপাতদুষ্ট করে সুযোগের পরামর্শের চেয়ে বেশি ক্লাস্টার করা যায়। এই উত্তরটি এখনও +1 এর সাথে প্রযোজ্য, (কেবলমাত্র আমার মূল উত্তরটির পরামর্শ অনুসারে ডেটা থেকে উইন্ডোজ তৈরি করা আরও সমস্যাযুক্ত)।
অ্যান্ডি ডব্লু
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.