ভারী-লেজযুক্ত বিতরণের জন্য সমান বক্সপ্লট?


13

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

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

তাহলে লোকেরা এই জাতীয় ডেটা কল্পনা করতে কী ব্যবহার করে? আরো কিছু অভিযোজিত আছে? আমি আর জিগ্ল্লোট ব্যবহার করি, যদি এটি গুরুত্বপূর্ণ হয়।


1
ভারী লেজযুক্ত বিতরণগুলির নমুনাগুলির মাঝারি 50% এর তুলনায় বিশাল পরিসীমা রয়েছে। আপনি এটি সম্পর্কে কি করতে চান?
গ্লেন_বি -রিনস্টেট মনিকা

7
ইতিমধ্যে বেশ কয়েকটি প্রাসঙ্গিক থ্রেড উদাহরণস্বরূপ stats.stackexchange.com/questions/13086/… সংক্ষিপ্ত উত্তরে এরপরে প্রথমে রূপান্তর অন্তর্ভুক্ত রয়েছে! histograms; বিভিন্ন ধরণের কোয়ান্টাইল প্লট; বিভিন্ন ধরণের স্ট্রিপ প্লট।
নিক কক্স

@ গ্লেন_বি: এটাই আমার সমস্যা হ'ল এটি বক্সপ্লটগুলি অপঠনযোগ্য করে তোলে।
স্থির_আরত্তি

2
জিনিসটি হ'ল একাধিক জিনিস যা করা হতে পারে ... সুতরাং আপনি এটি কী করতে চান ?
গ্লেন_বি -রিনস্টেট মনিকা

2
সম্ভবত লক্ষণীয় যে, পরিসংখ্যানগত বিশ্বের বেশিরভাগই বক্সপ্লটগুলি তাদের নামকরণ এবং ১৯ Tu০ এর দশকে জন টুকি দ্বারা পরিচিতকরণ (পুনরায়) থেকে জানেন। (এগুলি জলবায়ুবিদ্যা এবং ভৌগোলিক ক্ষেত্রে বেশ কয়েক দশক আগে ব্যবহৃত হত।) তবে তাঁর ১৯ 1977 সালের এক্সপ্লোরারি ডেটা বিশ্লেষণ সম্পর্কিত বইয়ের ( অধ্যয়ন , এমএ: অ্যাডিসন-ওয়েসলি) পরবর্তী অধ্যায়ে ভারী-লেজযুক্ত বিতরণগুলি পরিচালনা করার বিষয়ে তাঁর আলাদা ধারণা রয়েছে। দেখে মনে হয় কেউ মোটেও ধরা পড়েনি। তবে কোয়ান্টাইল প্লট একই রকমের চেতনায় রয়েছে।
নিক কক্স

উত্তর:


8

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

আপনি যদি বক্সপ্লটগুলির সাথে থাকতে চান তবে কিছু বিকল্প নীচে তালিকাবদ্ধ রয়েছে। আমি আর তে কিছু ডেটা তৈরি করেছি যা মূল সমস্যাটি দেখায়:

 set.seed(seed=7513870)
 x <- rcauchy(80)
 boxplot(x,horizontal=TRUE,boxwex=.7)

অসন্তুষ্টিজনক বক্সপ্লট

ডেটার মাঝের অর্ধেকটি কয়েক মিমি প্রশস্ত একটি ক্ষুদ্র স্ট্রিপ থেকে কমে যায়। কিউকিউ প্লট, স্ট্রিপ চার্ট, মৌচাক / মৌমাছির প্লট এবং বেহালা প্লট সহ আরও বেশিরভাগ পরামর্শ একই ধরণের সমস্যায় পড়ে।

এখন কয়েকটি সম্ভাব্য সমাধান:

1) রূপান্তর ,

যদি লগ বা বিপরীতগুলি একটি পঠনযোগ্য বক্সস্প্লট উত্পাদন করে তবে এগুলি খুব ভাল ধারণা হতে পারে এবং মূল স্কেলটি অক্ষের উপরে এখনও প্রদর্শিত হতে পারে।

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

রুপান্তরিত মানগুলির বক্সপ্লট

এখানে আমি একটি বিপরীত-হাইপারবোলিক-পাপ (asinh) ব্যবহার করেছি; এটি লেজগুলিতে লোগলের মতো এবং শূন্যের নিকটে রৈখিকের সমান, তবে লোকে সাধারণত এটি একটি স্বজ্ঞাত রূপান্তর খুঁজে পায় না, সুতরাং লগের মতো মোটামুটি স্বজ্ঞাত রূপান্তর প্রকট না হলে সাধারণভাবে আমি এই বিকল্পটির প্রস্তাব দিই না। এর জন্য কোড:

xlab <- c(-60,-20,-10,-5,-2,-1,0,1,2,5,10,20,40)
boxplot(asinh(x),horizontal=TRUE,boxwex=.7,axes=FALSE,frame.plot=TRUE)
axis(1,at=asinh(xlab),labels=xlab)

2) স্কেল বিরতি - চূড়ান্ত outliers নিতে এবং প্রতিটি প্রান্তে সংকীর্ণ উইন্ডোতে কেন্দ্রের চেয়ে অনেক বেশি সংকুচিত স্কেল দিয়ে সংকুচিত করুন। আপনি যদি এটি করেন তবে আমি পুরো স্কেলটিকে সম্পূর্ণ বিরতি দেওয়ার জন্য সুপারিশ করছি।

স্কেল বিরতি দিয়ে বক্সপ্লট

opar <- par()
layout(matrix(1:3,nr=1,nc=3),heights=c(1,1,1),widths=c(1,6,1))
par(oma = c(5,4,0,0) + 0.1,mar = c(0,0,1,1) + 0.1)
stripchart(x[x< -4],pch=1,cex=1,xlim=c(-80,-5))
boxplot(x[abs(x)<4],horizontal=TRUE,ylim=c(-4,4),at=0,boxwex=.7,cex=1)
stripchart(x[x> 4],pch=1,cex=1,xlim=c(5,80))
par(opar)

৩) চরম বিদেশিদের ছাঁটাই (যা আমি সাধারণত এটিকে খুব স্পষ্টভাবে ইঙ্গিত না করে পরামর্শ দেব না, তবে এটি পরের চক্রান্তের মতো দেখায়, উভয় প্রান্তে "<5" এবং "2>" ছাড়া), এবং

৪) আমি চরম-আউটলেটকে "তীর" বলব - ট্রিমিংয়ের অনুরূপ, তবে প্রতিটি প্রান্তে নির্দেশিত ছাঁটা মানের সাথে

চূড়ান্ত মানগুলির গণনা সহ তীরচিহ্নগুলি সহ বক্সপ্লট

xout <- boxplot(x,range=3,horizontal=TRUE)$out
xin <- x[!(x %in% xout)]
noutl <- sum(xout<median(x))
nouth <- sum(xout>median(x))
boxplot(xin,horizontal=TRUE,ylim=c(min(xin)*1.15,max(xin)*1.15))
text(x=max(xin)*1.17,y=1,labels=paste0(as.character(nouth)," >"))
text(x=min(xin)*1.17,y=1,labels=paste0("< ",as.character(noutl)))

এটি লেখার জন্য সময় দেওয়ার জন্য ধন্যবাদ! আমি ঠিক এই ধরনের উত্তরটি প্রত্যাশা করছিলাম। এখন আমি কেবল কীভাবে এই প্লটগুলি আর এর মাধ্যমে বাস্তবায়ন করব তা খুঁজে বের করতে হবে
স্থিতি_আরটি

1
কিছু কোড এখন আছে। আমি 3 এর জন্য কোড দিইনি) কারণ এটি 4 এর একটি সহজ সংস্করণ); এটি থেকে লাইন কেটে আপনি এটি পেতে সক্ষম হবেন।
গ্লেন_বি -রিনস্টেট মনিকা

ঘটনাচক্রে এগুলির বেশিরভাগ ধারণাগুলি এখানে প্রস্তাবিত অন্যান্য দুর্দান্ত প্রদর্শনগুলির সাথেও কাজ করে - ঝিটারযুক্ত স্ট্রিপচার্ট এবং মৌমাছির / মৌমাছির প্লট এবং বেহালা প্লট এবং এই জাতীয়।
গ্লেন_বি -রিনস্টেট মনিকা

আবার ধন্যবাদ. আমি নিশ্চিত এই উত্তরটি বেশ কয়েকটি লোকের পক্ষে কার্যকর হবে।
স্ট্যাটিক_আরটি

আমি সম্মত, এই উত্তরটি আমার প্রশ্নের চেয়ে অনেক ভাল উত্তর দেয়। ভাল জিনিস.
টুটোনে

4

ব্যক্তিগতভাবে আমি কমপক্ষে ডেটার জন্য অনুভূতি পেতে জিটার সহ একটি স্ট্রিপ্লট ব্যবহার করতে চাই । নীচের প্লটটি আর-তে জাল দিয়ে রয়েছে (দুঃখিত ggplot2 নয়)। আমি এই প্লটগুলি পছন্দ করি কারণ এগুলি ব্যাখ্যা করা খুব সহজ। আপনি যেমনটি বলেছেন, এর একটি কারণ হ'ল কোনও রূপান্তর নেই।

df <- data.frame(y1 = c(rnorm(100),-4:4), y2 = c(rnorm(100),-5:3), y3 = c(rnorm(100),-3:5))
df2 <- stack(df)
library(lattice)
stripplot(df2$values ~ df2$ind, jitter=T)

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

Beeswarm প্যাকেজ (পরামর্শের জন্য @January ধন্যবাদ) একটি দুর্দান্ত stripplot বিকল্প উপলব্ধ করা হয়।

beeswarm(df2$values ~ df2$ind)

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

আপনার ডেটা সহ, এটি প্রায় সাধারণভাবে বিতরণ করা হয়, অন্য একটি বিষয় চেষ্টা করার জন্য এই ক্ষেত্রে QQplot, qqnorm হতে পারে ।

par(mfrow=c(1,3))
for(i in 1:3) { qqnorm(df[,i]); abline(c(0,0),1,col="red") }

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


2
আমি স্ট্রিপ্লটগুলিও পছন্দ করি, তবে ভারী লেজযুক্ত বিতরণগুলির সাথে কী করা উচিত তা প্রশ্নটি স্পষ্টভাবে।
নিক কক্স

1
মুল বক্তব্যটি হ'ল উদাহরণস্বরূপ qqnorm ব্যবহারের পরামর্শটি প্রশ্নের সাথে মেলে না। অন্যান্য ধরণের কোয়ান্টাইল-কোয়ান্টাইল প্লটগুলি, আমি সম্মত হলাম, খুব ভাল ধারণা হতে পারে, যেমনটি আমি আগে উল্লেখ করেছি।
নিক কক্স

1
আর থেকে স্ট্রিপপ্লটগুলির চেয়ে আরও ভাল beeswarmপ্যাকেজটির প্লট ।
জানুয়ারী

1
@ জানুয়ারী হ্যাঁ এটি দুর্দান্ত, আমি এটিকে আমার উত্তরে যুক্ত করছি (যদি আপনি আপত্তি করেন তবে দয়া করে বলুন)।
টুটোনে

1
আমার উত্তর stats.stackexchange.com/questions/13086 এ পোস্ট করা হয়েছিল , যা আমি এই প্রশ্নের একটি ( inconsequentially সঙ্কীর্ণ ) সংস্করণ হিসাবে দেখছি। আমি এটিকে সংক্ষেপে বলেছিলাম "" বক্সপ্লট অ্যালগরিদম পরিবর্তন করবেন না: পরিবর্তে ডেটাটি আবার প্রকাশ করুন। " এই প্রশ্নের "অভিযোজিত" দ্বারা ইঙ্গিত করা ইস্যুটি ভেরিয়েবলগুলির পুনরায় প্রকাশের জন্য অনুসন্ধানী ডেটা অ্যানালাইসিসের স্ট্যান্ডার্ড কৌশল দ্বারা সমাধান করা হয়েছে।
whuber

2

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


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

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

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

1
আমি একমত নই আমি সর্বদা অত্যন্ত স্কিউড ডেটা রূপান্তর করি এবং আমার অভিজ্ঞতা হ'ল এটি নন্দনতত্বের প্রশ্নের চেয়ে অনেক বেশি। এটি প্রায়শই কাজ করে। একজন বেনাম পরিসংখ্যানবিদ কিছু সময় আগে লিখেছিলেন যে লগনরমাল স্বাভাবিকের চেয়ে বেশি স্বাভাবিক। তিনি / তিনি কিছুটা রুচিশীল হয়ে উঠছিলেন তবে সেখানেও একটি গুরুত্বপূর্ণ সত্য রয়েছে। (এমন নয় যে আরও অনেকগুলি বিতরণ আরও ভাল মানায় না))
নিক কক্স

1
আমার ধারণা অন্যকে বিচার করার জন্য আমার এখানে থামানো দরকার, তবে আমার দৃষ্টিভঙ্গি অদ্ভুত নয়। রূপান্তরকে একটি সম্ভাব্য হিসাবে উদাহরণ হিসাবে আলোচনা করা হয়েছে যেমন stats.stackexchange.com/questions/13086/… আমি পরামর্শ দিচ্ছি যে আপনি যে পরামর্শটি নিরবচ্ছিন্ন তা ব্যাখ্যা করার জন্য সেখানে উত্তর দিন বা মন্তব্য করুন।
নিক কক্স

0

আমি ধরে নিচ্ছি এই প্রশ্নটি ডেটা বোঝার বিষয়ে (অন্যথায় এটি "পরিচালনা" এর বিপরীতে)
যদি ডেটা ভারী লেজযুক্ত এবং / অথবা মাল্টিমোডাল হয় তবে আমি ggplot2 এর এই "স্তরগুলি" এই উদ্দেশ্যে খুব দরকারী: geom_violinএবং geom_jitter


3
ভায়োলিন প্লট এবং / অথবা জিটটার পয়েন্টগুলি ভারী-লেজযুক্ত বিতরণে কেন কার্যকর হবে তা আপনি সংক্ষেপে বলতে পারেন?
chl
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.