সারি স্বাভাবিককরণের উদ্দেশ্য কী


13

আমি কলামটি স্বাভাবিকের পিছনে যুক্তিটি বুঝতে পারি, কারণ এটি একই বৈশিষ্ট্যগুলিকে একই স্কেলে পরিমাপ করা না হলেও সমানভাবে ওজন করা যায় - তবে প্রায়শই নিকটবর্তী প্রতিবেশী সাহিত্যে, কলাম এবং সারি উভয়ই স্বাভাবিক হয়। সারিগুলির সাধারণকরণ কীভাবে / কেন সারিগুলিকে সাধারণীকরণ করা হয়? বিশেষতঃ সারিটি স্বাভাবিককরণের ফলাফল কীভাবে সারি ভেক্টরগুলির মধ্যে মিল / দূরত্বকে প্রভাবিত করে?


আপনি কি দয়া করে সারিগুলিকে সাধারন সাহিত্যের উদ্ধৃতি দিতে পারেন? আমি বুঝতে পারি যে এটি তুলনামূলকভাবে পুরানো আলোচনা তবে আমি সম্প্রতি একটি অনুরূপ ইস্যুটি নিয়ে এসেছি এবং পার্থক্যগুলি অনুসন্ধান করার চেষ্টা করছি। আমি উত্তর হিসাবে এটি গ্রহণ আমার পোস্ট করব।
ডেটাডোহ

উত্তর:


4

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

মূল বিষয়টি হ'ল সারিগুলি স্বাভাবিক করা পরবর্তী যে কোনও বিশ্লেষণের জন্য ক্ষতিকারক হতে পারে যেমন নিকটতম-প্রতিবেশী বা কে-মাধ্যমের মতো। সরলতার জন্য, আমি উত্তরটি নির্দিষ্ট করে রাখব সারিগুলিকে বোঝাতে।

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

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

উপরের-বাম এবং নীচে-ডান ক্লাস্টারগুলি অর্ধেক কেটে যায় যখন ডেটা সারি-কেন্দ্রিক হয়। সুতরাং সারি-গড়-কেন্দ্রিককরণের পরে দূরত্বগুলি বিকৃত হয়ে যায় এবং খুব অর্থবহ হয় না (অন্তত ডেটাটির জ্ঞানের ভিত্তিতে)।

2 ডি তে এত অবাক হওয়ার কিছু নেই, যদি আমরা আরও মাত্রা ব্যবহার করি? 3 ডি ডেটা দিয়ে যা ঘটে তা এখানে। সারি-গড়-কেন্দ্রিককরণের পরে ক্লাস্টারিং সমাধানটি "খারাপ"।

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

এবং 4 ডি ডেটার সাথে সমান (এখন ব্রেভিটির জন্য দেখানো হয়েছে)।

ইহা কি জন্য ঘটিতেছে? সারি-গড়-কেন্দ্রিক তথ্যগুলিকে এমন কিছু জায়গায় ঠেলে দেয় যেখানে কিছু বৈশিষ্ট্য অন্যথায় যেমন আসে তার চেয়ে কাছে আসে। বৈশিষ্ট্যগুলির মধ্যে পারস্পরিক সম্পর্কের ক্ষেত্রে এটি প্রতিফলিত হওয়া উচিত। আসুন এটি দেখতে দিন (প্রথমে মূল ডেটাতে এবং তারপরে 2D এবং 3 ডি ক্ষেত্রে সারি-কেন্দ্রিক ডেটা-তে)।

[,1] [,2] [1,] 1.000 -0.001 [2,] -0.001 1.000 [,1] [,2] [1,] 1 -1 [2,] -1 1 [,1] [,2] [,3] [1,] 1.000 -0.001 0.002 [2,] -0.001 1.000 0.003 [3,] 0.002 0.003 1.000 [,1] [,2] [,3] [1,] 1.000 -0.504 -0.501 [2,] -0.504 1.000 -0.495 [3,] -0.501 -0.495 1.000 সুতরাং দেখে মনে হচ্ছে সারি-গড়-কেন্দ্রিক বৈশিষ্ট্যগুলির মধ্যে পারস্পরিক সম্পর্ক প্রবর্তন করছে। বৈশিষ্ট্য সংখ্যা দ্বারা এটি কীভাবে প্রভাবিত হয়? এটি বের করার জন্য আমরা একটি সাধারণ সিমুলেশন করতে পারি। সিমুলেশন ফলাফল নীচে প্রদর্শিত হবে (আবার শেষে কোড)।

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

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

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

ক্লাস্টারিং সিমুলেশন জন্য কোড

palette(rainbow(10))
set.seed(1024)
require(mlbench)
N <- 5000
for(D in 2:4) {
X <- mlbench.hypercube(N, d=D)
sh <- as.numeric(X$classes)
K <- length(unique(sh))
X <- X$x

Xc <- sweep(X,2,apply(X,2,mean),"-")
Xr <- sweep(X,1,apply(X,1,mean),"-")

show(round(cor(X),3))
show(round(cor(Xr),3))

par(mfrow=c(1,1))

k <- kmeans(X,K,iter.max = 1000, nstart = 10)
kc <- kmeans(Xc,K,iter.max = 1000, nstart = 10)
kr <- kmeans(Xr,K,iter.max = 1000, nstart = 10)
pc <- prcomp(X)
par(mfrow=c(1,4))

lim <- c(min(min(X),min(Xr),min(Xc)), max(max(X),max(Xr),max(Xc)))
plot(X[,1], X[,2], xlim=lim, ylim=lim, xlab="Feature 1", ylab="Feature 2",main="Data",col=1,pch=1)
points(Xc[,1], Xc[,2], col=2,pch=2)
points(Xr[,1], Xr[,2], col=3,pch=3)
legend("topleft",legend=c("Original","Center-cols","Center-rows"),col=c(1,2,3),pch=c(1,2,3))
abline(h=0,v=0,lty=3)

plot(pc$x[,1], pc$x[,2], col=rainbow(K)[k$cluster], xlab="PC 1", ylab="PC 2", main="Cluster original", pch=sh)
plot(pc$x[,1], pc$x[,2], col=rainbow(K)[kc$cluster], xlab="PC 1", ylab="PC 2", main="Cluster center-col", pch=sh)
plot(pc$x[,1], pc$x[,2], col=rainbow(K)[kr$cluster], xlab="PC 1", ylab="PC 2", main="Cluster center-row", pch=sh)
}

বৈশিষ্ট্য সিমুলেশন বৃদ্ধি জন্য কোড

set.seed(2048)
N <- 1000
Cmax <- c()
Crmax <- c()
for(D in 2:100) {
X <- matrix(runif(N*D), nrow=N)    
C <- abs(cor(X))
diag(C) <- NA
Cmax <- c(Cmax, max(C, na.rm=TRUE))

Xr <- sweep(X,1,apply(X,1,mean),"-")
Cr <- abs(cor(Xr))
diag(Cr) <- NA
Crmax <- c(Crmax, max(Cr, na.rm=TRUE))
}
par(mfrow=c(1,1))
plot(Cmax, ylim=c(0,1), ylab="Max. cor.", xlab="#Features",col=1,pch=1)
points(Crmax, ylim=c(0,1), col=2, pch=2)
legend("topright", legend=c("Original","Center-row"),pch=1:2,col=1:2)

সম্পাদনা

কিছুটা গুগলিং এই পৃষ্ঠায় শেষ হওয়ার পরে যেখানে সিমুলেশনগুলি একইরকম আচরণ দেখায় এবং প্রস্তাব দেয় যে সারি-গড়-কেন্দ্রিক দ্বারা পারস্পরিক সম্পর্ককে প্রবর্তন করা হয়েছে ।-1/(পি-1)


5

সারিবদ্ধকরণের বিভিন্ন ধরণ রয়েছে এবং ওপিতে কোন এক / মনের কথা মাথায় রেখেছেন তা উল্লেখ করছেন না।

সারি স্বাভাবিককরণের একটি নির্দিষ্ট ফর্ম (ইউক্লেডিয়ান নরমাল নরমালাইজেশন) যেখানে প্রতিটি সারিটি নিয়মিত হয় (এর ইউক্লেডিয়ান আদর্শ দ্বারা বিভক্ত) শান্ত জনপ্রিয়।

সারি নিয়মমাফিককরণ এই ধরনের ব্যবহার করার জন্য কারণ ভাল বিভাগে সংক্ষিপ্ত করা হয় এর এই কাগজ [0]:3.2

বোঝাতে একটি কলাম কেন্দ্রিক সারি -vector এবংএক্সএক্সপি

(0)R(এক্সএক্স)=||এক্সএক্স||2-1এক্সএক্স

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

উদাহরণস্বরূপ, যদি আপনার আসল ডেটা কেন্দ্রিক হয় (যেমন এই চিত্রের কালো বিন্দুর মতো) এবং আপনি এটিতে সারি স্বাভাবিককরণ প্রয়োগ করেন তবে আপনি লাল তারাগুলি পাবেন।

library(car)
p = 2
n = 1000
m = 10
C = matrix(.9, p, p)
diag(C) = 1
set.seed(123)
x = matrix(runif(n * p, -1, 1), n, p) %*% chol(C)
z = sweep(x, 1, sqrt(rowSums(x * x)), FUN = '/')
plot(rbind(x, z), pch = 16, type = 'n', ann = FALSE, xaxt = 'n', yaxt = 'n')
points(x, pch = 16)
points(z, pch = 8, col = 'red')

সবুজ বিন্দুগুলি মূল তথ্যটিতে অল্প সংখ্যক বিদেশী প্রতিনিধিত্ব করে। আপনি যদি তাদের মধ্যে সারি স্বাভাবিককরণের রূপান্তর প্রয়োগ করেন তবে আপনি নীল তারাগুলি পান।

x_1 = sweep(matrix(runif(m * p, -1, 1), m, p), 2, c(2, -2))
z_1 = sweep(x_1, 1, sqrt(rowSums(x_1 * x_1)), FUN = '/')
plot(rbind(x, x_1, z, z_1), pch = 16, type = 'n', ann = FALSE, xaxt = 'n', yaxt = 'n')
points(x, pch = 16)
points(x_1, pch = 16, col = 'green')
points(z, pch = 8, col = 'red')
points(z_1, pch = 8, col = 'blue')

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

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

যদি আপনি প্রাক্কলিত ডেটা (তারাগুলি, লাল এবং নীল) উপর ভিত্তি করে আপনার অনুমানকে ভিত্তি করে থাকেন তবে আউটলিয়ারদের (এখন নীল নক্ষত্রের সাথে ম্যাপ করা হয়েছে) আপনার অনুমানগুলি নষ্ট করার পক্ষে কম লিভারেজ রয়েছে।z- র

আপনি ডেটা, তাদের দূষিত সংস্করণ এবং এর সারিটি স্বাভাবিক রূপান্তরকরণের পরিবর্তে লাগানো আকারের ম্যাট্রিকেস (বা কনট্যুর উপবৃত্তাকার) সাথে তুলনা করে এটি দেখতে পাবেন:

ellipse(crossprod(rbind(x, x_1)) / (n + m - 1) / det(crossprod(rbind(x, x_1)) / (n + m - 1))^(1 / p), center = rep(0, p), col = 'green', radius = 1)
ellipse(crossprod(rbind(z, z_1)) / (n + m - 1) / det(crossprod(rbind(z, z_1)) / (n + m - 1))^(1 / p), center = rep(0, p), col = 'red', radius = 1)
ellipse(crossprod(rbind(x)) / (n - 1) / det(crossprod(rbind(x)) / (n - 1))^(1 / p), center = rep(0, p), col = 'black', radius = 1)

যেমন আপনি দেখতে পাচ্ছেন, রূপান্তরিত দূষিত ডেটা (লাল উপবৃত্তাকার) লাগানো আকৃতির উপবৃত্তগুলি দূষিত তথ্য (সবুজ উপবৃত্ত) থেকে প্রাপ্ত তুলনায় অনিয়ন্ত্রিত ডেটার (কালো উপবৃত্তাকার) মাপের ম্যাট্রিক্সের চেয়ে ভাল অনুমান। কারণ সবুজ তারার সবুজ রঙের তুলনায় লাল বর্ণের (রূপান্তরিত ডেটা ) একটি ছোট টান রয়েছে ( মূল ডেটা )।z- রএক্স

  • [0] এস ভিসুরি, ভি। কোভুনেন, এইচ। ওজা (2000)। কোভরিয়েন্স ম্যাট্রিক্সে স্বাক্ষর করুন এবং র‌্যাঙ্ক করুন, পরিসংখ্যান পরিকল্পনা এবং জার্নাল জার্নাল ভলিউম 91, সংখ্যা 2, 557–575।

4

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

এবং গণনার কারণ । আপনি যদি একটি বিচ্ছিন্ন ম্যাট্রিক্স নিয়ে কাজ করছেন তবে আপনি কলাম দ্বারা ডেটা কলামটি সহজেই কেন্দ্র করে এবং স্কেল করতে পারবেন না। আপনি যদি এটি ঘন ম্যাট্রিক্সে এম্বেড করেন তবে মেমরিতে ফিট করার জন্য ডেটা খুব বড় হয়ে উঠতে পারে। তবে সারি স্কেলিং সারিটি প্রয়োজনীয় মোট মেমরির পরিমাণকে প্রভাবিত করে না।


গণনাগত কারণে, আপনি কি বলছেন যে আমরা যেভাবে স্পারস ম্যাট্রিকগুলি উপস্থাপিত হয় তার কারণেই আমরা ট্রান্সপোজটি এবং সারিটিকে স্বাভাবিক করে তুলি? আমি মোড়সোকে জিজ্ঞাসা করছি যে কীভাবে সারির সাধারণীকরণটি অনুশীলনের নিকটতম প্রতিবেশীর ফলাফলগুলিকে প্রভাবিত করে।
curiosity_delivers

3

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

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