ভিজ্যুয়ালাইজেশনের জন্য উচ্চ মাত্রিক ডেটা হ্রাস করার উপায়


19

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

উদাহরণস্বরূপ, ধরে নেওয়া যাক আমার (X, Y) স্থানাঙ্কে সংগ্রহ পয়েন্ট রয়েছে:

  • (0,0), (1,0), (2,0)
  • (0,1), (1,1), (2,1)
  • (0,2), (1,2), (2,2)

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

উদাহরণস্বরূপ, একক পয়েন্টের জন্য ডেটা দেখতে এমন হবে:

একক পয়েন্টের জন্য চাপ বনাম সময় একক পয়েন্টের জন্য ইউ-ওয়েলোসিটি বনাম সময়

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

উপরের পরিসংখ্যানগুলিতে উদাহরণস্বরূপ, এ বড় চাপের শিখরটি এক্স বা ওয়াই দিক ভ্রমণ করতে পারেটি0.000125

এগুলি একবারে দেখাতে কি কোনও পদ্ধতি আছে? সাধারণত একটি "চতুর্থ" মাত্রাকে দৃশ্যমান করার জন্য রঙ যুক্ত করা যেতে পারে, তবে কি অন্য কোনও সম্ভাব্য পন্থা রয়েছে? আমি এটিকে যথাসম্ভব চক্রান্ত করার পরিকল্পনা করছি যাতে অন্যেরা যে তথ্য প্রকাশ না করে তা প্রকাশ করে না, তাই দয়া করে কোনও ধারণা রাখুন।

সিমুলেশনটি যদি 3D হয় এবং আমার কাছে 5D ফলাফলের ডেটাসেট থাকে তবে কী হবে? এটি কি সম্ভাব্য দৃশ্য পদ্ধতির পরিবর্তন করে?


সমস্ত মাত্রা বিযুক্ত, বা কিছু ধারাবাহিক হয়? যদি তা হয় তবে কোনটি কোনটি?
nnot101

(এক্স, ওয়াই) বিচ্ছিন্ন থাকে (পি, সময়) অবিচ্ছিন্ন থাকে।
tpg2114

আমি বিকল্পটিকে (বা পরিপূরক) 3-ডি-তে বিকল্প হিসাবে বিবেচনা করার পরামর্শ দিচ্ছি
মাইকেল বিশপ

এটি মুদ্রণযোগ্য স্থিতিযুক্ত প্লট হতে হবে? যদি তা না হয় তবে আপনি সময়সীমার সিরিজের প্লট হিসাবে আপনার ডেটা প্রদর্শন করতে পারেন। যদি আমি সঠিকভাবে মনে রাখি, জেএমপি সফ্টওয়্যার সেই ধরণের কাজ করে।
এমিল ফ্রেডম্যান

1
@ naught101 একযোগে আপডেট হয়েছে।
tpg2114

উত্তর:


14

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

সমান্তরাল স্থানাঙ্কগুলি উচ্চ-মাত্রিক জ্যামিতিটি দেখার এবং বহুবিধ ডেটা বিশ্লেষণ করার একটি সাধারণ উপায়।

একটি এন-ডাইমেনশনাল স্পেসে পয়েন্টের একটি সেট দেখানোর জন্য, ব্যাকড্রপ আঁকা হয় এন সমান্তরাল রেখাগুলি নিয়ে, সাধারণত উল্লম্ব এবং সমানভাবে ব্যবধানযুক্ত। এন-ডাইমেনশনাল স্পেসের একটি বিন্দুটি সমান্তরাল অক্ষের উপর উল্লম্বযুক্ত একটি পললাইন হিসাবে প্রতিনিধিত্ব করা হয়; ith অক্ষের উপরের ভার্টেক্সের অবস্থানটি পয়েন্টের ith স্থানাঙ্কের সাথে মিলে যায়।

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


এটি একটি দুর্দান্ত চক্রান্ত। রঙের দুর্দান্ত ব্যবহার। কিংবদন্তিটি আরও ভাল হবে, এবং শেষ অক্ষের সাথে রঙগুলি মেলানোর জন্য পুনরায় আদেশ করা হয়েছে, তবে এটি অতীব গুরুত্বপূর্ণ নয়।
nnot101

3
@ naught101 এটি উইকিপিডিয়া থেকে, সেখানে উন্নত পাঠাতে নির্দ্বিধায় ;-)
জারিত

এটি একটি দুর্দান্ত কৌশল !!
সোহাইব I

4

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

library(GGally)
ggpairs(iris, colour='Species')

আইরিস জোড়া প্লট


3

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


2

এখানে ggplot2 এর সাথে 3-ডি ডেটা চিত্রিত করার কয়েকটি উপায় রয়েছে। আপনার গ্রাফিকের মাত্রিকতা বাড়ানোর জন্য আপনি পদ্ধতির (ফেস্ট গ্রিড, রঙ, আকারগুলি ইত্যাদি) একত্রিত করতে পারেন।

doInstall <- TRUE  # Change to FALSE if you don't want packages installed.
toInstall <- c("ggplot2")
if(doInstall){install.packages(toInstall, repos = "http://cran.r-project.org")}
lapply(toInstall, library, character.only = TRUE)

# Air passenger data. ts converted to long matrix:
myData <- data.frame(Year = c(floor(time(AirPassengers) + .01)),
                     Month = c(cycle(AirPassengers)), 
                     Value = c(AirPassengers))
# Easy conversion code from: http://stackoverflow.com/a/4973859/479554

# Convert month numbers to names, using a built-in constant:
myData$Month <- factor(myData$Month)
levels(myData$Month) <- month.abb

# One possibility:
zp1 <- ggplot(myData,
              aes(x = Year, y = Value, colour = Month))
zp1 <- zp1 + geom_line()
print(zp1)  # This is fine, if you can differentiate between the colors

# Another possibility:
zp2 <- ggplot(myData,
              aes(x = Year, y = Value))
zp2 <- zp2 + geom_line()
zp2 <- zp2 + facet_wrap(~ Month)
print(zp2)  # This is fine, but it's hard to compare across facets

# A third possibility; plotting reference lines across each facet:
referenceLines <- myData  # \/ Rename
colnames(referenceLines)[2] <- "groupVar"
zp3 <- ggplot(myData,
              aes(x = Year, y = Value))
zp3 <- zp3 + geom_line(data = referenceLines,  # Plotting the "underlayer"
                       aes(x = Year, y = Value, group = groupVar),
                       colour = "GRAY", alpha = 1/2, size = 1/2)
zp3 <- zp3 + geom_line(size = 1)  # Drawing the "overlayer"
zp3 <- zp3 + facet_wrap(~ Month)
zp3 <- zp3 + theme_bw()
print(zp3)

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


এটি একই প্লট, 12 বার পুনরাবৃত্তি হয়েছে, তবে বিভিন্ন লাইনের সাথে হাইলাইট করা হয়েছে, তাই না? অবশ্যই ডেটা দেখার এক আকর্ষণীয় উপায়! অন্য উপায়টি হ'ল কেবলমাত্র মূল মাসিক টাইমসারিগুলি প্লট করা হবে এবং তারপরে মাসের পরিক্রমণ করা হবে এবং মাসের পয়েন্টগুলি এর উপরে প্লট করা হবে। একই ধারণা, তবে সেখানে "আসল" টাইমসারিগুলি রয়েছে।
nnot101

ভালো: APdf <- data.frame(Time=c(time(AirPassengers)), Year=c(floor(time(AirPassengers))), Month=c(cycle(AirPassengers)), Value=c(AirPassengers)) ; APdf$Month <- month.abb[APdf$Month] ; ggplot(APdf, aes(x=Time, y=Value)) + facet_wrap(facets='Month') + geom_line(data=APdf[,c(1,4)], colour='gray') + geom_point()। Godশ্বর অভিশাপ, আমি ggplot2 পছন্দ করি।
nnot101

1

পি=পিমিএকটিএনএখানে চিত্র বর্ণনা লিখুন

এই প্লটটি আপনাকে বিভিন্ন ফ্লোফিল্ডের 2D মানচিত্র প্রদান করে বিভিন্ন অক্ষীয় অবস্থানের বেগ প্রোফাইল দেখায়। উল্লম্ব লাইনগুলি 0 বেগকে উপস্থাপন করে। বিন্দুবিহীন অঞ্চলগুলি কম্পিউটেশনাল ডোমেনের অংশ নয়। অবশ্যই এটি 3 ডি ডেটার সাথে সহজেই বর্ধমান নয় ...


সাদা বর্গ কি জন্য?
nnot101

এটি একটি প্রবাহ ক্ষেত্রের প্রতিনিধিত্ব। এটি একটি কোণার চারপাশে একটি প্রবাহ, প্রোফাইলগুলি বিভিন্ন অক্ষীয় স্থানে বেগটির প্রতিনিধিত্ব করে ...
ফ্রেঞ্চখেলদার

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