মাল্টি-ডাইমেনশনাল এবং মাল্টিভিয়ারেট টাইম-সিরিজ পূর্বাভাস (আরএনএন / এলএসটিএম) কেরাস


12

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

আমার ডেটাসেট:

  • বেশ কয়েকটি শহর
  • যার জন্য আমার কাছে তাপমাত্রা, গাড়ির ট্র্যাফিক, আর্দ্রতা বলতে হবে
  • শেষ 2 বছর বলতে (প্রতিটি দিনের জন্য একটি রেকর্ড)

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

আমি যা সম্পর্কে বিভ্রান্ত তা: যদি আমার কাছে 2 টি শহর থাকে, যার জন্য আমি 365 দিনের জন্য 3 টি বৈশিষ্ট্য রেকর্ড করেছি। আমি কীভাবে আমার ইনপুটটিকে আকার দেব যাতে মডেল এই দুই শহরের জন্য 365 দিনের একটি পূর্বাভাস আউটপুট করতে পারে (অর্থাত্ ২5 টি দিনের তাপমাত্রার 2 সময় ধারাবাহিক)?

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

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

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


1
এখানে এই বিষয়টির একটি সুন্দর টিউটোরিয়াল: tensorflow.org/beta/tutorials/text/time_series
কিউববট 88

উত্তর:


13

একটি LSTM এর জন্য ইনপুট আকার অবশ্যই হবে (num_samples, num_time_steps, num_features)। আপনার উদাহরণের ক্ষেত্রে, উভয় শহরকে ইনপুট হিসাবে সংমিশ্রণ করা num_featuresহবে 2x3 = 6।

যদি আপনি আপনার 365 বারের সমস্ত পদক্ষেপগুলিকে একটি নমুনায় ফেলে দেন তবে প্রথম মাত্রা হবে 1 - একক একক নমুনা! আপনি ডেটা পয়েন্টের মোট সংখ্যা ব্যবহার করে স্যানিটি পরীক্ষা করতে পারেন। আপনার 2 টি শহর রয়েছে, প্রতিটিতে 365 সময়-পদক্ষেপ এবং 3 টি বৈশিষ্ট্য: 2x365x3 = 2190। এটি স্পষ্টতই 1x365x6 এর সমান (যেমন আমি উপরে বলেছি) - সুতরাং এটির সম্ভাবনা (কেরাস চলবে) - তবে এটি স্পষ্টতই সাধারণকরণ শিখবে না, কেবল একটি নমুনা দেবে।

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

আপনি যদি উভয় শহরের ডেটা সহ একক মডেলকে ইনপুট হিসাবে প্রশিক্ষণ দিতে চান তবে উভয় শহরের জন্য প্রতিটি সময়ে পদক্ষেপে ভবিষ্যদ্বাণী করা চূড়ান্ত Denseস্তরটিকে সংজ্ঞায়িত করার মতোই সহজ , যা 2 ইউনিটকে আউটপুট দেয়। আপনার বৈধতা / পরীক্ষার ডেটা অবশ্যই অবশ্যই (সিটি 1, সিটি 2) এর একটি টিপল থাকতে হবে।

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


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

আপনাকে স্বাগতম! গভীর জাল সবসময় আরও ডেটা থেকে উপকৃত হয়। উপরের আমার পরামর্শগুলিতে প্রচুর প্যারামিটার থাকবে - কেবল ৩5৫ পয়েন্ট দিয়ে আপনি সেই শহরগুলিতে (যেমন কোনও জেনারালাইজেশন নেই) অতিরিক্ত চাপ দেওয়ার ঝুঁকি চালান! আপনি ডেটা বৃদ্ধির চেষ্টা করতে পারেন - কীভাবে , আপনার ডেটার উপর নির্ভর করে। আপনার যদি পর্যাপ্ত ডেটা থাকে তবে আপনি ভাল জেনারেলাইজ করতে পারবেন - আমি একটি ওয়ার্ড 2 ভেক ধরণের ফলাফল (পাঠ্য বিশ্লেষণ / এনএলপিতে সাধারণ) কল্পনা করতে পারি , যেখানে ভেরিয়েবলের মধ্যে সম্পর্কগুলি ব্যাখ্যাযোগ্য হয়ে ওঠে। আরও তথ্যের জন্য এবং এটি আরও স্বজ্ঞাপন / মজাদার জন্য পরীক্ষা করে দেখুন । আপনার ফলাফলগুলি আবহাওয়ার মানচিত্রের পরিকল্পনা করতে পারে!
n1k31t4

হ্যাঁ বোঝা যায়, তাই কিছু ঘূর্ণায়মান উইন্ডোজ কাজ করা কি ধরণের "আরও ডেটা" চালিত করতে পারে যদি আমি বুঝতে পারি যে আপনি কী বলেছেন?
বাসটিয়েন

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

রাজি! এবং ঘূর্ণায়মান উইন্ডোটি কি মেমরি সেলকে দীর্ঘ ক্ষেপে নির্ভরতা শিখতে বাধা দেবে না?
বাসটিয়েন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.