ডেটাসেট পরিবর্তনের পরে পুরানো স্ট্যান্ডার্ড বিচ্যুতি ব্যবহার করে নতুন স্ট্যান্ডার্ড বিচ্যুতির গণনা


16

আমি একটি অ্যারে আছে বাস্তব মূল্যবোধ, যা গড় রয়েছে এবং মানক চ্যুতির । অ্যারে এর একটি উপাদান যদি অন্য উপাদান দ্বারা প্রতিস্থাপিত হয় , তবে নতুন গড় হবেnμoldσoldxixj

μnew=μold+xjxin

এই পদ্ধতির সুবিধা হ'ল এর মান নির্বিশেষে ধ্রুবক গণনা প্রয়োজন । সেখানে নিরূপণ করা কোনো পন্থা ব্যবহার এর গণনার মত ব্যবহার \ mu_ {পুরাতন} ?nσnewσoldμnewμold


এই হোমওয়ার্ক হয়? আমাদের গাণিতিক পরিসংখ্যানের কোর্সে খুব অনুরূপ একটি কাজ জিজ্ঞাসা করা হয়েছিল ...
krlMLr

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

1
এসডি হ'ল বৈকল্পিকের বর্গমূল, যা কেবলমাত্র গড় স্কোয়ার মান হয় (স্কোয়ারের গড়ের একাধিক দ্বারা সামঞ্জস্য হয়, যা আপনি ইতিমধ্যে আপডেট করতে জানেন)। সুতরাং, চলমান গড় গণনা করতে ব্যবহৃত একই পদ্ধতিগুলি চলমান বৈকল্পিক গণনা করতে কোনও মৌলিক পরিবর্তন ছাড়াই প্রয়োগ করা যেতে পারে। প্রকৃতপক্ষে, একই ধারণা ব্যবহার করে একটি অনলাইন ভিত্তিতে আরও অনেক পরিশীলিত পরিসংখ্যান গণনা করা যেতে পারে: উদাহরণস্বরূপ stats.stackexchange.com/questions/6920 এবং stats.stackex بدل . com / questions/ 23481 এ থ্রেড দেখুন ।
whuber

1
@ হুইবার: এটি উইকিপিডিয়া প্রবন্ধে ভেরিয়েন্সের জন্য উল্লেখ করা হয়েছে , তবে ঘটতে পারে বিধ্বংসী বাতিলকরণ (বা তাত্পর্য হ্রাস) সম্পর্কে একটি নোট সহ। এটি কি ওভাররেড, বা চলমান বৈকল্পিকতার জন্য একটি আসল সমস্যা?
krlMLr

এটি একটি দুর্দান্ত প্রশ্ন। আপনি যদি আগেভাগে এটিকে কেন্দ্র করে না রেখে নির্লিপ্তভাবে বৈকল্পগুলি সংগ্রহ করেন তবে আপনি অবশ্যই সমস্যায় পড়তে পারেন। সমস্যাগুলি ঘটে যখন সংখ্যাগুলি বিশাল হয় তবে তাদের প্রকরণটি ছোট হয়। উদাহরণস্বরূপ, 299792458.145, 299792457.883, 299792457.998, ... এর হিসাবে মি / সেকেন্ডে আলোর গতির সঠিক পরিমাপের একটি সিরিজ বিবেচনা করুন: ... তাদের বিবর্তন, যা 0.01 এর কাছাকাছি, তাদের স্কোয়ারের তুলনায় এত ছোট, যা প্রায় , যে অযত্ন গণনা (এমনকি দ্বিগুণ নির্ভুলতার মধ্যে) শূন্য প্রকরণের ফলস্বরূপ: সমস্ত উল্লেখযোগ্য অঙ্কগুলি বিলুপ্ত হবে। 1017
হোয়বার

উত্তর:


7

"ভেরিয়েন্স গণনার জন্য অ্যালগরিদম" উইকিপিডিয়া নিবন্ধের একটি বিভাগ দেখায় যে উপাদানগুলি যদি আপনার পর্যবেক্ষণে যুক্ত করা হয় তবে কীভাবে বৈকল্পিকটি গণনা করতে হবে। (স্মরণ করুন যে স্ট্যান্ডার্ড বিচ্যুতিটি ।) ধরে নিন যে আপনি আপনার অ্যারেতে যুক্ত করেন , তারপরেxn+1

σnew2=σold2+(xn+1μnew)(xn+1μold).

সম্পাদনা : উপরের সূত্রটি ভুল বলে মনে হচ্ছে, মন্তব্য দেখুন।

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

সূত্রটি নিজেই উত্সাহিত করতে, উপযুক্ত হওয়ার সময় আপনি যে সূত্রটি দিয়েছিলেন সেই নমুনা বৈকল্পিকের সংজ্ঞা এবং বিকল্প e n e w ব্যবহার করে গণনা করুন । এই আপনি দেয় σ 2 এন W - σ 2 শেষ জন্য একটি সূত্র, এবং এইভাবে σ এন W দেওয়া σ এবং(n1)(σnew2σold2)μnewσnew2σold2σnewσold । আমার স্বরলিপি, আমি তোমাদের উপাদান প্রতিস্থাপন অনুমান এক্স এন দ্বারা এক্স ' এন :μoldxnxn

σ2=(n1)1k(xkμ)2(n1)(σnew2σold2)=k=1n1((xkμnew)2(xkμold)2)+ ((xnμnew)2(xnμold)2)=k=1n1((xkμoldn1(xnxn))2(xkμold)2)+ ((xnμoldn1(xnxn))2(xnμold)2)

সমষ্টি মধ্যে কিছু নির্ভরশীল রুপান্তর μ , কিন্তু আপনি সমীকরণ কাজ করার জন্য একটি সামান্য বিট আরো একটি ঝরঝরে ফলাফলের আহরণ করতে হবে। এটি আপনাকে সাধারণ ধারণা দেয় shouldxkμold


প্রথম সূত্র আপনার দেওয়া সঠিক বলে মনে হচ্ছে না, ভাল এটা মানে যে যদি উভয় নতুন এবং পুরোনো গড় থেকে ক্ষুদ্রতর / বড় হলে, ভ্যারিয়েন্স সবসময় বেড়ে যায়, যা কোনো অর্থে দেখা যায় না। এটি বিতরণের উপর নির্ভর করে বৃদ্ধি বা হ্রাস পেতে পারে। xn+1
এমমেট বি

@ এমমেটবি: হ্যাঁ, আপনি ঠিক বলেছেন - এটি সম্ভবত দুর্ভাগ্যক্রমে, এটি আমার পুরো আলোচনাটি সেখান থেকে বাতিল করে দেয়, তবে আমি এটি historicতিহাসিক উদ্দেশ্যে ছেড়ে চলেছি। নির্দ্বিধায় সম্পাদনা করুন, যদিও। σnew2=n1nσold2+1n(xn+1μnew)(xn+1μold).
krlMLr

4

আমি যে লিঙ্কযুক্ত উইকিপিডিয়া নিবন্ধটি পড়ছি তার ভিত্তিতে আপনি একটি "চলমান" মানক বিচ্যুতি বজায় রাখতে পারবেন:

real sum = 0;
int count = 0;
real S = 0;
real variance = 0;

real GetRunningStandardDeviation(ref sum, ref count, ref S, x)
{
   real oldMean;

   if (count >= 1)
   {
       real oldMean = sum / count;
       sum = sum + x;
       count = count + 1;
       real newMean = sum / count;

       S = S + (x-oldMean)*(x-newMean)
   }
   else
   {
       sum = x;
       count = 1;
       S = 0;         
   }

   //estimated Variance = (S / (k-1) )
   //estimated Standard Deviation = sqrt(variance)
   if (count > 1)
      return sqrt(S / (count-1) );
   else
      return 0;
}

যদিও নিবন্ধে তারা পৃথক চলমান বজায় রাখে না sumএবং countপরিবর্তে একক থাকে mean। যেহেতু আমি আজ যা করছি তা আমি একটি count(পরিসংখ্যানগত উদ্দেশ্যে) রাখি, তাই প্রতিবার মাধ্যমগুলি গণনা করা আরও কার্যকর।


0

x¯snxnxns

s2+1n1(2nΔx¯(xnx¯)+n(n1)(Δx¯)2),
Δx¯=x¯x¯, with x¯ denoting the new mean.

Maybe there is a snazzier way of writing it?

I checked this against a small test case and it seemed to work.


1
@john / whistling in the Dark: I liked your answer, it seems work properly in my small dataset. Is there any mathematical foundation/reference on it? Could you kindly help?
Alok Chowdhury

The question was all @Whistling in the Dark, I just cleaned it up for the site. You should pose a new question referencing the question and answer here. And also you should upvote this answer if you feel that way.
John
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.