খুব বেসিক পদে কি মসৃণ হয়


17

স্মুথিং কী এবং আমি কীভাবে এটি করতে পারি?

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

সম্পাদনা: ফলোআপ প্রশ্নের লিঙ্ক


একটি বর্ণালীর জন্য আপনি সম্ভবত একক স্পেকট্রামের ফ্রিকোয়েন্সি অক্ষের সাথে চলমান গড়ের চেয়ে একসাথে (সময় মাত্রায়) একাধিক
বর্ণালোক গড়তে চান

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

উত্তর:


23

স্মুথিং বিভিন্ন উপায়ে করা যায় তবে খুব মৌলিক এবং সাধারণ ভাষায় এর অর্থ এটি হয় যে আপনি তার প্রতিবেশীদের সাথে এর উপাদানগুলি মিশ্রিত করে একটি সংকেতও বের করে দিয়েছেন। আপনি শব্দটি থেকে মুক্তি পেতে সিগন্যালটিকে কিছুটা ঝাপসা / অস্পষ্ট করেন। উদাহরণস্বরূপ, একটি খুব সহজ স্মুথিং কৌশল হ'ল প্রতিটি সংকেত উপাদানকে f(t)মূল মানের 0.8 হিসাবে গণনা করা, এবং এর সাথে প্রতিবেশীর প্রত্যেকটির 0.1 টি:

f'(t) = 0.1*f(t-1) + 0.8*f(t) + 0.1*f(t+1)

গুণিতকরণের কারণগুলি বা ওজনগুলি কীভাবে একটিকে যুক্ত করে তা নোট করুন। সুতরাং যদি সংকেত মোটামুটি ধ্রুব থাকে তবে স্মুথিং এটিকে বেশি পরিবর্তন করে না। তবে যদি সংকেতটিতে হঠাৎ বিড়ম্বনার পরিবর্তন ঘটে থাকে তবে তার প্রতিবেশীদের কাছ থেকে অবদান সেই শব্দটিকে কিছুটা সাফ করতে সহায়তা করবে।

এই পুনর্বিবেচনার ফাংশনে আপনি যে ওজনগুলি ব্যবহার করেন সেগুলিকে কার্নেল বলা যেতে পারে । আপনার ক্ষেত্রে এক-মাত্রিক গাউসিয়ান ফাংশন বা অন্য কোনও বেসিক কার্নেল করা উচিত।

এক ধরণের স্মুথিংয়ের চমৎকার উদাহরণ:

উপরে: আনমুটেড সিগন্যাল
নীচে: মসৃণ সংকেত

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

কয়েকটি কার্নেলের উদাহরণ:

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


সুতরাং এটি কি ভারী চলমান গড়? এটি কি উইন্ডো আকারের 3 বলে? 1 ম এবং শেষ উপাদান সম্পর্কে কি? এবং যদি আমার কাছে 128 টি উপাদানের একটি অ্যারে থাকে এবং আমি 16 বা 32 উপাদানগুলির একটি উইন্ডো ব্যবহার করতে চাই তবে এটি কীভাবে সংশোধিত হবে?

@ ব্যবহারকারী 13267: হ্যাঁ, আপনি বলতে পারেন যে একটি স্মুথিং কার্নেল একটি ওজনযুক্ত চলমান গড়। আপনি যদি অভিন্ন কার্নেল ব্যবহার করেন (দ্বিতীয় চিত্র দেখুন) তবে এটি কেবল একটি সরল চলমান গড়। আপনি উইন্ডো আকার সম্পর্কে ঠিক। প্রান্তগুলি নিয়ে কাজ করার জন্য, এখানে তিনটি প্রাথমিক পন্থা রয়েছে: 1) আপনার ডেটা শূন্য-প্যাডিং, 2) শেষ মানটি পুনরাবৃত্তি করা, 3) সংকেতকে মিরর করা। সমস্ত ক্ষেত্রে আপনি কিছু ভান করে ডেটা তৈরি করেন যাতে আপনার কার্নেলটি কোনওরকম পড়ে না যায়।
জুনক্সেক্স

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

2
যদি আপনি চান যে আপনার স্মুটেড ডেটাসেটের মূল ডেটাসেটের সমান দৈর্ঘ্য থাকে তবে আপনাকে শেষ পয়েন্টগুলিতে ডেটা "আপ" করতে হবে। আপনি কীভাবে সেই ডেটা তৈরি করবেন তার জন্য যে কোনও পছন্দ গড়কে কোনওভাবে গড়ায়। আসল ডেটাসেটের আয়না হিসাবে সীমার বাইরে থাকা ডেটাগুলি চিকিত্সা করা (যেমন ধরুন যে নমুনা N + 1 N-1, N + 2 = N-2 ইত্যাদির সমান হ'ল) ​​এর ফ্রিকোয়েন্সি বর্ণালী বৈশিষ্ট্য ধরে রাখবে সিগন্যালের শেষ অংশগুলি, যেখানে শূন্য বা অ-শূন্য পুনরাবৃত্তিটি ধরে নেওয়া এটি প্রদর্শিত হবে যে সমস্ত ফ্রিকোয়েন্সিগুলি প্রান্তে ঘুরছে।
রাসেল বোরোগোভ

8

জুনুকক্সের সুন্দর উত্তর ছাড়াও আমি কয়েকটি নোট ফেলে দিতে চাই।

  • স্মুথিং ফিল্টারিংয়ের সাথে সম্পর্কিত (দুর্ভাগ্যক্রমে বেশ অস্পষ্ট উইকিপিডিয়া নিবন্ধ) ) সম্পর্কিত - আপনার বৈশিষ্ট্যগুলির উপর ভিত্তি করে আপনার স্মুথ বাছাই করা উচিত।

  • আমার পছন্দের একটি মিডিয়ান ফিল্টার । এটি একটি অ-রৈখিক ফিল্টার উদাহরণ। এটির কিছু আকর্ষণীয় বৈশিষ্ট্য রয়েছে এটি "প্রান্তগুলি" সংরক্ষণ করে এবং বৃহত্তর শোরগোলের আওতায় বেশ শক্ত।

  • আপনার যদি একটি মডেল থাকে তবে কীভাবে আপনার সংকেত কলমন ফিল্টারটি আচরণ করে তা দেখার জন্য মূল্যবান। এর স্মুথিং আসলে পর্যবেক্ষণের ভিত্তিতে সিগন্যালের বেইসিয়ান সর্বাধিক সম্ভাবনা অনুমান।


4

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


3

আপনি বিভিন্ন দৈর্ঘ্যের নলের জন্য চলন্ত গড় ফিল্টারটি স্মুথ করার জন্য পুরো ম্যাটলব কোডটি সন্ধান করতে পারেন। www.gaussianwaves.com/2010/11/moving-average-filter-ma-filter-2/


1

আপনি কীভাবে স্মুথিং করেন তা অন্যরা উল্লেখ করেছেন , কেন স্মুথিং কাজ করে তা উল্লেখ করতে চাই ।

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

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

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

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

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

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

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

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