ভৌগলিক স্থানাঙ্কগুলি থেকে কার্নেল ঘনত্বের প্রাক্কলন গণনা করার সঠিক উপায় কী?


11

অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্কের একটি তালিকা থেকে আমাকে 2 ডি কার্নেল ঘনত্বের অনুমান (কেডি) গণনা করতে হবে। অক্ষাংশে একটি ডিগ্রি দ্রাঘিমাংশের এক ডিগ্রির সমান দূরত্ব নয়, এর অর্থ পৃথক কর্নেলগুলি ডিম্বাকৃতি হবে, বিশেষত আরও বিন্দু নিরক্ষীয় স্থান থেকে।

আমার ক্ষেত্রে পয়েন্টগুলি একে অপরের নিকটবর্তী যে এগুলি সমতল পৃথিবীতে রুপান্তরিত করা অনেক সমস্যার কারণ হতে পারে না। তবে আমি এখনও কৌতূহল করছি যদি এটি সত্য না হয় তবে কীভাবে এটি সঠিকভাবে পরিচালনা করা উচিত।


প্রথম অনুমান হিসাবে, আমি ধরে নেব আপনি কেবলমাত্র একটি উপযুক্ত গোলাকার দূরত্বের মেট্রিককে একটি মানক কার্নেল পদ্ধতির পরিবর্তে স্থান দেবেন।
সাইকোরাক্স মনিকাকে

কে বলবেন যে ডিম্বাকৃতি কার্নেল থাকা ভুল?
গুং - মনিকা পুনরায়

1
@ গুং কল্পনা করুন আপনি যদি একটি মেরুতে একটি বিন্দু যথেষ্ট পরিমাণে রাখেন তবে কী হবে। এটি অনুদৈর্ঘ্য অক্ষ বরাবর সঙ্কুচিত করা হবে। এবং আপনি কীভাবে কোনও কার্নেলটি পরিচালনা করবেন যা আসলে একটি খুঁটি coversেকে দেয়?
অ্যারোন ডি উইন্ড

আপনার মেরুতে একটি গলদ থাকবে যা সমস্ত দ্রাঘিমাংশে সমানভাবে উচ্চ। কেন এটি ভুল?
গুং - মনিকা পুনরায়

@ গুং কারণ আমি উদাহরণস্বরূপ যদি 1 ডিগ্রির কার্নেল ব্যাস চয়ন করি তবে এটি সমস্ত দ্রাঘিমাংশের বেশি হবে না। এটি 1 দ্রাঘিমাংশ ডিগ্রি ছাড়িয়ে যাবে যা মেরুটির বিন্দুটির খুব কাছাকাছি থাকলে মাত্র 1 মিটার হতে পারে, ১১০ কিলোমিটারের তুলনায় এটি 1 অক্ষাংশ ডিগ্রি is
অ্যারন ডি উইন্ড

উত্তর:


7

আপনি গোলকের জন্য বিশেষত উপযুক্ত কার্নেলটি ব্যবহারের বিষয়ে বিবেচনা করতে পারেন, যেমন ভন মাইজেস-ফিশার ঘনত্ব

f(x;κ,μ)exp(κμx)

যেখানে এবং হল 3 ডি কার্টেসিয়ান স্থানাঙ্কগুলিতে প্রকাশিত একক গোলকের অবস্থান।xμx

ব্যান্ডউইথের এনালগ হ'ল প্যারামিটার । একটি অবস্থান অবদান অবস্থানে একটি ইনপুট বিন্দু থেকে গোলক উপর, ওজন থাকার , তাই হয়x μ ω ( μ )κxμω(μ)

ω(μ)f(x;κ,μ).

প্রতিটি For এর জন্য , সমস্ত ইনপুট পয়েন্ট এই অবদানগুলি যোগ করুন ।μ ixμi

উদাহরণস্বরূপ, Rভন মাইজ-ফিশার ঘনত্বের গণনা করার জন্য কিছু কোড রয়েছে, কিছু এলোমেলো অবস্থান তৈরি করতে হবে এবং ওজন ( মধ্যে তাদের 12 টি), এবং নির্দিষ্ট কার্নেলের জন্য ফলস্বরূপ কার্নেলের ঘনত্বের মানচিত্র প্রদর্শন করুন মান ( কোডে সমান )। ω ( μ i ) κ 6μiω(μi)κ6

[চিত্র]

পয়েন্টগুলি কালো বিন্দু হিসাবে তাদের ওজনের সমানুপাতিক areas আকারের হিসাবে দেখানো হয়েছে । কাছাকাছি বড় অবদান পুরো উত্তর অক্ষাংশে স্পষ্ট throughout যখন কোনও অর্থোগ্রাফিক (স্থান থেকে পৃথিবী) এর মতো কোনও উপযুক্ত অভিক্ষেপ দেখানো হয় তখন এর চারপাশের উজ্জ্বল হলুদ-সাদা প্যাচটি প্রায় বৃত্তাকার হবে। ω ( μ i ) ( 100 , 60 )μiω(μi)(100,60)

#
# von Mises-Fisher density.
# mu is the location and x the point of evaluation, *each in lon-lat* coordinates.
# Optionally, x is a two-column array.
#
dvonMises <- function(x, mu, kappa, inDegrees=TRUE) {
  lambda <- ifelse(inDegrees, pi/180, 1)
  SphereToCartesian <- function(x) {
    x <- matrix(x, ncol=2)
    t(apply(x, 1, function(y) c(cos(y[2])*c(cos(y[1]), sin(y[1])), sin(y[2]))))
  }
  x <- SphereToCartesian(x * lambda)
  mu <- matrix(SphereToCartesian(mu * lambda), ncol=1)

  c.kappa <- kappa / (2*pi*(exp(kappa) - exp(-kappa)))
  c.kappa * exp(kappa * x %*% mu)
}
#
# Define a grid on which to compute the kernel density estimate.
#
x.coord <- seq(-180, 180, by=2)
y.coord <- seq(-90, 90, by=1)
x <- as.matrix(expand.grid(lon=x.coord, lat=y.coord))
#
# Give the locations.
#
n <- 12
set.seed(17)
mu <- cbind(runif(n, -180, 180), asin(runif(n, -1, 1))*180/pi)
#
# Weight them.
#
weights <- rexp(n)
#
# Compute the kernel density.
#
kappa <- 6
z <- numeric(nrow(x))
for (i in 1:nrow(mu)) {
  z <- z + weights[i] * dvonMises(x, mu[i, ], kappa)
}
z <- matrix(z, nrow=length(x.coord))
#
# Plot the result.
#
image(x.coord, y.coord, z, xlab="Longitude", ylab="Latitude")
points(mu[, 1], mu[, 2], pch=16, cex=sqrt(weights))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.