মেশিন লার্নিং - তারিখ / সময় ডেটা থেকে ইঞ্জিনিয়ারিং বৈশিষ্ট্যযুক্ত


45

মেশিন লার্নিং অ্যাপ্লিকেশনের সময় ডেটা পরিচালনা করার জন্য সাধারণ / সেরা অনুশীলনগুলি কী কী?

উদাহরণস্বরূপ, যদি ডেটা সেটে ইভেন্টের টাইমস্ট্যাম্প সহ একটি কলাম থাকে, যেমন "2014-05-05", আপনি কীভাবে এই কলামটি থেকে দরকারী বৈশিষ্ট্যগুলি বের করতে পারেন?

আগাম ধন্যবাদ!

উত্তর:


44

আমি সময় ভেরিয়েবল বনাম অন্যান্য ভেরিয়েবলগুলি গ্রাফ করে এবং ট্রেন্ডগুলি অনুসন্ধান করে শুরু করব।

উদাহরণ স্বরূপ

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

এই ক্ষেত্রে একটি পর্যায়ক্রমিক সাপ্তাহিক প্রবণতা এবং একটি দীর্ঘমেয়াদী upর্ধ্বমুখী প্রবণতা রয়েছে। সুতরাং আপনি দুটি সময়ের ভেরিয়েবল এনকোড করতে চান:

  • day_of_week
  • absolute_time

সাধারণভাবে

বেশ কয়েকটি সাধারণ সময় ফ্রেম রয়েছে যা ট্রেন্ডগুলি নিয়ে আসে:

  • absolute_time
  • day_of_year
  • day_of_week
  • month_of_year
  • hour_of_day
  • minute_of_hour

এই সমস্ত মধ্যে প্রবণতা সন্ধান করুন।

অদ্ভুত প্রবণতা

অদ্ভুত প্রবণতাগুলিও দেখুন। উদাহরণস্বরূপ আপনি বিরল তবে অবিরাম সময় ভিত্তিক প্রবণতা দেখতে পাবেন:

  • is_easter
  • is_superbowl
  • is_national_emergency
  • etc.

এগুলির জন্য প্রায়শই প্রয়োজন হয় যে আপনি কোনও বাহ্যিক উত্সের বিরুদ্ধে আপনার ডেটা রেফারেন্সটি ক্রস করেন যা ইভেন্টগুলিকে সময়ে সময়ে মানচিত্র করে।

গ্রাফ কেন?

দুটি কারণ আছে যা আমি মনে করি গ্রাফিং এত গুরুত্বপূর্ণ।

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

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


7

উইন্ডোতে ডেটা ভাগ করুন এবং সেই উইন্ডোগুলির মতো বৈশিষ্ট্যগুলি সন্ধান করুন যেমন স্বতঃসংশোধন সহগ, তরঙ্গকরণ ইত্যাদি এবং শেখার জন্য এই বৈশিষ্ট্যগুলি ব্যবহার করুন।

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


7

বেন হ্যালি যা বলেছিলেন তার বাইরেও আরও একটি বিষয় বিবেচনা করতে হবে তা হল স্থানীয় সময় ব্যবহারকারীকে রূপান্তর করা । উদাহরণস্বরূপ, আপনি যদি সমস্ত ব্যবহারকারীর জন্য রাত ৮ টার আশেপাশে ঘটে এমন কিছু ভবিষ্যদ্বাণী করার চেষ্টা করছেন, আপনি যদি ইউটিসির সময় তাকান, তবে এটি থেকে ভবিষ্যদ্বাণী করা আরও শক্ত হবে।


6

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

আশা করি এটি আপনার প্রশ্নের উত্তর দেয়। দয়া করে না হলে আপনি কী অর্জন করতে চাইছেন সে সম্পর্কে একটু বেশি সুনির্দিষ্ট হন


4

বেন এবং নার হিসাবে সুন্দরভাবে ব্যাখ্যা করেছেন, তারিখের সময় অবজেক্টটিকে তারিখ এবং সময়ের অংশের বালতিতে ভাঙ্গা মৌসুমী প্রবণতাগুলি সনাক্ত করতে সহায়তা করবে, যেখানে সম্পূর্ণ (এবং সাধারণত আরও খারাপ - অনন্য) তারিখের সময় অবজেক্টটি এটি মিস করবে

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

আপনার উদাহরণে আমি কেবলমাত্র তারিখের মানকে 2014-05-05 থেকে 1399248000 (সাধারণভাবে 5 মে 2014, ইউটিসির সূচনা উপস্থাপনের ইউনিক্স সময়) সাধারণ করে তুলব।

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


3

বেন স্থির বৈশিষ্ট্যগুলি নিয়ে কথা বলছেন এবং টাইমস্ট্যাম্প বৈশিষ্ট্যগুলি ব্যবহার করুন।

এক্সটেনশান হিসাবে, আমি ল্যাগের বৈশিষ্ট্যগুলি প্রবর্তন করব , আমি কাঁচা সময় সিরিজটি বলছি না, তবে এটিতে সমষ্টিগুলি।

সবচেয়ে রহস্যজনক অংশটি হ'ল ভবিষ্যতের মানটি আমাদের কাছে অদৃশ্য, আমরা কীভাবে প্রশিক্ষণের ডেটাতে সেই সামগ্রিক বৈশিষ্ট্যগুলি ব্যবহার করতে পারি?

একটি ছোট উদাহরণ: 1991 থেকে 2015 পর্যন্ত বার্ষিক বৈদ্যুতিক খরচ ডেটা রয়েছে, আমি ভবিষ্যতে 5 বছর, 2016 থেকে 2020 সালে বৈদ্যুতিক ব্যবহারের পূর্বাভাস দিতে চাই I আমি 2020 এর বৈশিষ্ট্য মান হিসাবে গত 5 বছরের বৈদ্যুতিক খরচ গড়ের গড় গণনা করব, তবে ২০১ to থেকে ২০২০ পর্যন্ত আমাদের জন্য অজানা, সুতরাং আমরা পাঁচ বছরের সময় সিরিজের নেতৃত্ব দিচ্ছি (পিছিয়ে থাকা বিপরীতে), চলমান গড়কে 2010 থেকে 2015 পর্যন্ত চলি, তারপরে এই মানটিকে 2020 এর বৈশিষ্ট্য মান হিসাবে ব্যবহার করি। সুতরাং, আমরা ভবিষ্যতের 5 বছরের বৈশিষ্ট্য ডেটা তৈরি করতে পারি।

পরবর্তী পদক্ষেপটি কেবল চলন্ত ফাংশন (গণনা \ গড় \ মিডিয়ান \ মিনিট \ ম্যাক্সেটেক) ব্যবহার করে এবং বিভিন্ন উইন্ডো ব্যবহার করে দেখুন, তারপরে আপনি প্রচুর বৈশিষ্ট্য তৈরি করবেন!


2

তারিখ / সময় তথ্যের সাথে আপনি কী আগ্রহী তার উপর নির্ভর করে আপনি কেবল এটি বিন্যাস করতে চান। উদাহরণস্বরূপ, আপনি যদি কোনও প্রারম্ভিক বিন্দু থেকে দূরত্ব সম্পর্কে আগ্রহী হন (উদাঃ, জানুয়ারী 1, 2015), এবং আপনি এটি মাসগুলিতে পরিমাপ করতে চান, আমি কেবল এটি 1 মাস হিসাবে চিহ্নিত করব (জানুয়ারী 1-31, 2015), 2 (ফেব্রুয়ারী 1-28, 2015), 3, 4, 5, 6, ইত্যাদি। যেহেতু শুরুর তারিখগুলির মধ্যবর্তী দূরত্ব প্রায় একই, সুতরাং এটি একটি সরাসরি ক্রমাগত বিন্যাসে সময়ের দূরত্বকে উপস্থাপন করে। এবং আমি অবিচ্ছিন্ন বলি কারণ আপনি মাস 6.5 বলতে পারেন এবং জেনে থাকবেন যে এটি জুন, ২০১৫-এর মাঝামাঝি সময় Then তবে আপনাকে প্রকৃত তারিখের কোডিং সম্পর্কে চিন্তা করতে হবে না এবং আপনি আপনার সমস্ত সাধারণ শ্রেণিবদ্ধকরণ পদ্ধতি ব্যবহার করতে পারেন।

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

আশাকরি এটা সাহায্য করবে!


1

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


1

আমি জানি না এটি একটি সাধারণ / সেরা অনুশীলন কিনা, তবে এটি বিষয়টির অন্য দৃষ্টিভঙ্গি।

আপনার যদি থাকে তবে আসুন একটি তারিখ বলুন, আপনি প্রতিটি ক্ষেত্রকে "ধারাবাহিক পরিবর্তনশীল" পরিবর্তে "বিভাগের পরিবর্তনশীল" হিসাবে বিবেচনা করতে পারেন। দিনের সেটটি {1, 2 ..., 31} থাকবে, সেই মাসের মান {1, ..., 12 in হবে এবং বছরের জন্য, আপনি সর্বনিম্ন এবং সর্বাধিক মান চয়ন করেন এবং একটি সেট তৈরি করুন।

তারপরে, দিন, মাস এবং বছরগুলির নির্দিষ্ট সংখ্যাসূচক মান হিসাবে ডেটাতে প্রবণতা সন্ধানের জন্য কার্যকর নাও হতে পারে, প্রতিটি বিট বৈশিষ্ট্য হওয়ায় সংখ্যাসূচক মানগুলিকে এনকোড করতে বাইনারি উপস্থাপনা ব্যবহার করুন। উদাহরণস্বরূপ, 5 মাস হবে 0 0 0 0 1 0 0 0 0 0 0 0(11 0 এর 1 ম 5 ম পজিশনে প্রতিটি বিট বৈশিষ্ট্যযুক্ত)।

সুতরাং, উদাহরণস্বরূপ, "বছরের সেট" এ 10 বছর থাকার পরে একটি তারিখ 43 বৈশিষ্ট্যের ভেক্টরে রূপান্তরিত হবে (= 31 + 12 + 10)। "স্পার্স ভেক্টর" ব্যবহার করে, বৈশিষ্ট্যগুলির পরিমাণ কোনও সমস্যা হওয়া উচিত নয়।

সময় ডেটা, সপ্তাহের দিন, মাসের দিন ... এর জন্য অনুরূপ কিছু করা যেতে পারে ...

এটি আপনার মেশিন লার্নিং মডেলের যে উত্তরটির উত্তর চান তা নির্ভর করে।


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

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

এই উদাহরণস্বরূপ, আপনার কাছে কার্যকরভাবে "is_12 তম" এবং "is_13 তম" এর মতো কলাম রয়েছে যা ইনপুট স্পেসে, সম্পর্কিত নয়, এবং "is_1st", সম্পর্কিত নয়, ইত্যাদি একটি অবিচ্ছিন্ন বৈশিষ্ট্য হিসাবে, এটি সঠিকভাবে ক্যাপচার করবে যে দ্বাদশ এবং 13 তম কোনও অর্থে 1 ম এবং 12 এর চেয়ে কাছাকাছি হয়। কোনও মডেল কী অনুমান করতে পারে তার জন্য আপনি আবেদন করছেন তবে আমি ইনপুট বৈশিষ্ট্যগুলি কী এনকোড করে তা নিয়ে কথা বলছি।
শান

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

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

0

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

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

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

আপনি যদি ভাল পারফরম্যান্সের সন্ধান করে থাকেন তবে বেশ কয়েকটি মডেলের (যেমন MASE এর মতো) তুলনা করার জন্য একটি মেট্রিক চয়ন করুন এবং বেশ কয়েকটি পরিসংখ্যান (নীচে উল্লেখ) এবং মেশিন লার্নিং মডেলগুলি (উপরে উল্লিখিত বৈশিষ্ট্য বিকাশের কৌশলগুলি সহ) স্যুইপ করুন।

চিয়ার্স,

পরিসংখ্যান পূর্বাভাস শেখার সংস্থানসমূহ : আমি রব জে হ্যান্ডম্যানের বিনামূল্যে পাঠ্যপুস্তকটি এখানে পর্যালোচনা করে শুরু করব: https://otexts.org/fpp2/ । পাঠ্যটি একটি আর প্যাকেজের উপর ভিত্তি করে তৈরি করা হয়েছে যা আপনি সহজেই আপনার বিশ্লেষণে অন্তর্ভুক্ত করতে পারেন: https://otexts.org/fpp2/appendix-using-r.html । অবশেষে, দয়া করে এখানে বর্ণিত ক্রস বিভাগীয় ক্রস বৈধকরণ এবং সময় সিরিজ ক্রস বৈধতার মধ্যে পার্থক্য সম্পর্কে সচেতন হন: https://robjhyndman.com/hyndsight/tscv/

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