মানচিত্রে স্থানিক এবং অস্থায়ী পারস্পরিক সম্পর্ক দেখানো হচ্ছে


16

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

আমি গ্রাফিক্যভাবে কীভাবে একসাথে পরিমাপ করা মানগুলি সময় এবং স্থান জুড়ে পারস্পরিক সম্পর্কযুক্ত তা দেখাতে চাই। আমার লক্ষ্যটি তদন্ত করা হচ্ছে যে মানটির আঞ্চলিক একতা (বা এর অভাব) দেখানো।

ডেটা সেট

শুরু করার জন্য, আমি ম্যাসাচুসেটস এবং মেইন অঞ্চলে একাধিক স্টেশন নিয়েছি। আমি কোনও সূচি ফাইল থেকে অক্ষাংশ এবং দ্রাঘিমাংশ দ্বারা সাইটগুলি নির্বাচন করেছি যা NOAA এর FTP সাইটে উপলব্ধ on

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

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

প্রাথমিক বিশ্লেষণ

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

প্রতিটি ক্যালেন্ডার মাসে দৈনিক তথ্যগুলির মধ্যে পারস্পরিক সম্পর্ক

আমি অন্তর্নিহিত কোডগুলি লিখেছি যাতে প্রতিদিন 6 ঘন্টা সময়কালে ডেটা পয়েন্ট থাকে তবে কেবল দৈনিক গড় গণনা করা হয়, তাই সাইটগুলি জুড়ে ডেটা তুলনাযোগ্য হওয়া উচিত।

সমস্যা

দুর্ভাগ্যক্রমে, একটি প্লটটি বোঝার জন্য কেবল খুব বেশি ডেটা রয়েছে। লাইনের আকার হ্রাস করে এটি ঠিক করা যায় না।

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

নেটওয়ার্কটি খুব জটিল বলে মনে হচ্ছে, তাই আমার মনে হয় জটিলতা হ্রাস করার জন্য বা কোনও ধরণের স্থানিক কর্নেল প্রয়োগ করার জন্য আমার কোনও উপায় বের করা উচিত।

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

প্রশ্নাবলি

আমি একই সাথে এই ক্ষেত্রে এবং আরে আমার পথ শিখছি, এবং এর পরামর্শগুলির প্রশংসা করব:

  1. আমি যা করার চেষ্টা করছি তার আরও আনুষ্ঠানিক নাম কী? এমন কিছু সহায়ক পদ রয়েছে যা আমাকে আরও সাহিত্যের সন্ধান করতে দেবে? আমার অনুসন্ধানগুলি কী সাধারণ প্রয়োগ হতে হবে তার জন্য ফাঁকা অঙ্কন করছে।
  2. মহাকাশে পৃথক পৃথক একাধিক ডেটা সেটগুলির মধ্যে পারস্পরিক সম্পর্ক দেখানোর জন্য কি আরও উপযুক্ত পদ্ধতি রয়েছে?
  3. ... বিশেষত, দৃষ্টিভঙ্গি থেকে ফলাফলগুলি দেখানো সহজ যে পদ্ধতিগুলি?
  4. এর মধ্যে কোন প্রয়োগ করা হয়?
  5. এই পদ্ধতির কোনও কি নিজেকে অটোমেশনে ndণ দেয়?

[ভিজ্যুয়াল অ্যানালিটিক্স এনভায়রনমেন্টে স্থানিক সম্পর্ক সম্পর্কিত বর্ণনা, "আবীশ মালিক এট আল।] [1] [1]: google.com/…
প্যাট

2
Yওয়াটY

আপনি যদি প্লটিং থ্রেশহোল্ড (0.5 টি) বাড়ানোর এবং 4 টিরও বেশি রঙের ধাপগুলি ব্যবহার করার চেষ্টা করেন? অথবা রঙের পরিবর্তে পাতলা-ঘন লাইন ব্যবহার করতে।
nadya

এনক্রম((এন2)/2)

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

উত্তর:


10

আমি মনে করি এই ধরণের ডেটা দেখানোর জন্য কয়েকটি বিকল্প রয়েছে:

প্রথম বিকল্পটি হ'ল "এম্পিরিকাল অर्थোগোনাল ফাংশন অ্যানালাইসিস" (ইওএফ) (অ আবহাওয়াবিহীন বৃত্তগুলিতে "প্রিন্সিপাল কম্পোনেন্ট অ্যানালাইসিস" (পিসিএ) হিসাবেও পরিচিত) conduct আপনার ক্ষেত্রে, এটি আপনার ডেটার অবস্থানগুলির একটি সম্পর্কিত ম্যাট্রিক্সে পরিচালনা করা উচিত। উদাহরণস্বরূপ, আপনার ডেটা ম্যাট্রিক্সটি datকলামের মাত্রায় আপনার স্থানিক অবস্থান এবং সারিগুলিতে পরিমাপকৃত প্যারামিটার হবে; সুতরাং, আপনার ডেটা ম্যাট্রিক্স প্রতিটি অবস্থানের জন্য সময় সিরিজ সমন্বিত হবে। prcomp()ফাংশন, আপনি প্রধান উপাদান, বা পারস্পরিক সম্পর্কের প্রভাবশালী মোড প্রাপ্ত করার অনুমতি দেবে এই ক্ষেত্র সংক্রান্ত:

res <- prcomp(dat, retx = TRUE, center = TRUE, scale = TRUE) # center and scale should be "TRUE" for an analysis of dominant correlation modes)
#res$x and res$rotation will contain the PC modes in the temporal and spatial dimension, respectively.

দ্বিতীয় বিকল্পটি হ'ল মানচিত্র তৈরি করা হবে যা স্বতন্ত্রভাবে পৃথক অবস্থানের সাথে সম্পর্কিত হতে পারে:

C <- cor(dat)
#C[,n] would be the correlation values between the nth location (e.g. dat[,n]) and all other locations. 

সম্পাদনা: অতিরিক্ত উদাহরণ

নিম্নলিখিত উদাহরণটি গ্যাপি ডেটা ব্যবহার করে না, আপনি DINEOF ( http://menugget.blogspot.de/2012/10/dineof-data-interpolating-empirical.html ) এর সাথে ইন্টারপোলেশন অনুসরণ করে কোনও ডেটা ফিল্ডে একই বিশ্লেষণ প্রয়োগ করতে পারেন । নীচের উদাহরণে নিম্নলিখিত ডেটা সেট ( http://www.esrl.noaa.gov/psd/gcos_wgsp/Gridded/data.hadslp2.html ) থেকে মাসিক অসাধারণ সমুদ্র পৃষ্ঠের চাপের ডেটার একটি উপসেট ব্যবহার করা হয়েছে :

library(sinkr) # https://github.com/marchtaylor/sinkr

# load data
data(slp)

grd <- slp$grid
time <- slp$date
field <- slp$field

# make anomaly dataset
slp.anom <- fieldAnomaly(field, time)

# EOF/PCA of SLP anom
P <- prcomp(slp.anom, center = TRUE, scale. = TRUE)

expl.var <- P$sdev^2 / sum(P$sdev^2) # explained variance
cum.expl.var <- cumsum(expl.var) # cumulative explained variance
plot(cum.expl.var)

শীর্ষস্থানীয় ইওএফ মোড মানচিত্র করুন

# make interpolation
require(akima)
require(maps)

eof.num <- 1
F1 <- interp(x=grd$lon, y=grd$lat, z=P$rotation[,eof.num]) # interpolated spatial EOF mode


png(paste0("EOF_mode", eof.num, ".png"), width=7, height=6, units="in", res=400)
op <- par(ps=10) #settings before layout
layout(matrix(c(1,2), nrow=2, ncol=1, byrow=TRUE), heights=c(4,2), widths=7)
#layout.show(2) # run to see layout; comment out to prevent plotting during .pdf
par(cex=1) # layout has the tendency change par()$cex, so this step is important for control

par(mar=c(4,4,1,1)) # I usually set my margins before each plot
pal <- jetPal
image(F1, col=pal(100))
map("world", add=TRUE, lwd=2)
contour(F1, add=TRUE, col="white")
box()

par(mar=c(4,4,1,1)) # I usually set my margins before each plot
plot(time, P$x[,eof.num], t="l", lwd=1, ylab="", xlab="")
plotRegionCol()
abline(h=0, lwd=2, col=8)
abline(h=seq(par()$yaxp[1], par()$yaxp[2], len=par()$yaxp[3]+1), col="white", lty=3)
abline(v=seq.Date(as.Date("1800-01-01"), as.Date("2100-01-01"), by="10 years"), col="white", lty=3)
box()
lines(time, P$x[,eof.num])
mtext(paste0("EOF ", eof.num, " [expl.var = ", round(expl.var[eof.num]*100), "%]"), side=3, line=1) 

par(op)
dev.off() # closes device

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

পারস্পরিক সম্পর্ক মানচিত্র তৈরি করুন

loc <- c(-90, 0)
target <- which(grd$lon==loc[1] & grd$lat==loc[2])
COR <- cor(slp.anom)
F1 <- interp(x=grd$lon, y=grd$lat, z=COR[,target]) # interpolated spatial EOF mode


png(paste0("Correlation_map", "_lon", loc[1], "_lat", loc[2], ".png"), width=7, height=5, units="in", res=400)

op <- par(ps=10) #settings before layout
layout(matrix(c(1,2), nrow=2, ncol=1, byrow=TRUE), heights=c(4,1), widths=7)
#layout.show(2) # run to see layout; comment out to prevent plotting during .pdf
par(cex=1) # layout has the tendency change par()$cex, so this step is important for control

par(mar=c(4,4,1,1)) # I usually set my margins before each plot
pal <- colorRampPalette(c("blue", "cyan", "yellow", "red", "yellow", "cyan", "blue"))
ncolors <- 100
breaks <- seq(-1,1,,ncolors+1)
image(F1, col=pal(ncolors), breaks=breaks)
map("world", add=TRUE, lwd=2)
contour(F1, add=TRUE, col="white")
box()

par(mar=c(4,4,0,1)) # I usually set my margins before each plot
imageScale(F1, col=pal(ncolors), breaks=breaks, axis.pos = 1)
mtext("Correlation [R]", side=1, line=2.5)
box()

par(op)

dev.off() # closes device

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


এই ফাংশনগুলি হারিয়ে যাওয়া ডেটার সাথে কতটা ভাল আচরণ করে? সময় সিরিজে আমার প্রায়শই ফাঁক থাকে।
অ্যান্ডি ক্লিফটন

2
এমন ইওএফ পদ্ধতি রয়েছে যা আপনি বর্ণনা করেছেন এমন "গ্যাপি ডেটা" এর বিশেষ ক্ষেত্রে তৈরি করা হয়েছে। এই কাগজগুলির লিঙ্কটি এখানে এই পদ্ধতিগুলি পর্যালোচনা করছে: dx.doi.org/10.6084/m9.figshare.732650 । আপনি দেখতে পাবেন যে গ্যাপি ডেটা সেটগুলি থেকে ইওএফগুলি প্রাপ্ত করার জন্য আরএসইএফ এবং ডাইনোফ পদ্ধতিগুলি সবচেয়ে সঠিক। DINEOF ইন্টারপোলেশন অ্যালগরিদমটি এখানে পাওয়া যাবে: menugget.blogspot.de/2012/10/…
মার্ক

1
আমি মনে করি এটি একটি ভয়াবহ প্রশ্ন (পর্দার দৃষ্টিতে) কীসের উত্তম উত্তর।
অ্যান্ডি ক্লিফটন

3

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

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

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

এটি সমস্ত অঞ্চল জুড়ে চলে আসা এলোমেলো একক উচ্চ-সম্পর্কের লাইনগুলিও সরাতে পারে।


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

হ্যাঁ, স্থানাঙ্কগুলি প্রজেক্ট করা ভাল ধারণা। শুভকামনা!
nadya
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.