BQML - KDnuggets সহ মাল্টিভেরিয়েট টাইম-সিরিজ পূর্বাভাস

BQML – KDnuggets সহ মাল্টিভেরিয়েট টাইম-সিরিজ পূর্বাভাস

উত্স নোড: 2796796

BQML-এর সাথে মাল্টিভেরিয়েট টাইম-সিরিজ পূর্বাভাস
চিত্র থেকে Pexels
 

গত শীতে আমি একটি প্রেজেন্টেশন দিয়েছিলাম 'BQML এর সাথে আরও অনুমানযোগ্য সময়-সিরিজ মডেল'এ GDG DevFest তাসখন্দ 2022 উজবেকিস্তানের রাজধানী তাসখন্দে।

আমি উপস্থাপনায় ব্যবহার করা DevFest এর পরে কিছু উপাদান এবং কোড শেয়ার করতে যাচ্ছিলাম, কিন্তু সময় অতিবাহিত হয়েছে, এবং BQML-এ নতুন বৈশিষ্ট্য প্রকাশিত হয়েছে যা কিছু বিষয়বস্তুকে ওভারল্যাপ করে।

অতএব, আমি পরিবর্তে নতুন বৈশিষ্ট্য এবং সংক্ষিপ্তভাবে এখনও বৈধ কিছু জিনিস উল্লেখ করব।

টাইম সিরিজ ডেটা অনেক সংস্থা বিভিন্ন উদ্দেশ্যে ব্যবহার করে, এবং এটা মনে রাখা গুরুত্বপূর্ণ যে "ভবিষ্যদ্বাণীমূলক বিশ্লেষণাত্মকs" হল সময়ের "ভবিষ্যত" সম্পর্কে। টাইম সিরিজ ভবিষ্যদ্বাণীমূলক বিশ্লেষণ সংক্ষিপ্ত, মাঝারি এবং দীর্ঘমেয়াদে ব্যবহার করা হয়েছে, এবং যদিও এতে অনেক ভুল এবং ঝুঁকি রয়েছে, এটি ক্রমাগত উন্নতিও হচ্ছে।

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

যদি আপনি ব্যবহার করছেন গুগল বিগকুয়েরি ডেটা ম্যানেজমেন্টের জন্য, আপনি ব্যবহার করতে পারেন বিকিউএমL (BigQuery ML) একটি সহজ, সহজ এবং দ্রুত উপায়ে আপনার ডেটাতে মেশিন লার্নিং অ্যালগরিদম প্রয়োগ করতে। অনেক মানুষ অনেক ডেটা প্রসেস করতে BigQuery ব্যবহার করে এবং সেই ডেটার বেশিরভাগই টাইম সিরিজ ডেটা। এবং BQML এছাড়াও সময় সিরিজ মডেল সমর্থন করে.

বর্তমানে BQML দ্বারা সমর্থিত টাইম সিরিজ মডেলের ভিত্তি হল অটোরিগ্রেসিভ ইন্টিগ্রেটেড মুভিং এভারেজ (ARIMA) মডেল. ARIMA মডেলটি শুধুমাত্র বিদ্যমান টাইম সিরিজ ডেটা ব্যবহার করে ভবিষ্যদ্বাণী করে এবং এটি ভাল স্বল্প-মেয়াদী ভবিষ্যদ্বাণী কার্যক্ষমতার জন্য পরিচিত, এবং যেহেতু এটি AR এবং MA কে একত্রিত করে, এটি একটি জনপ্রিয় মডেল যা টাইম সিরিজ মডেলগুলির একটি বিস্তৃত পরিসর কভার করতে পারে।

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

 

BQML-এর সাথে মাল্টিভেরিয়েট টাইম-সিরিজ পূর্বাভাস
ARIMA_PLUS এর কাঠামো (থেকে BQML ম্যানুয়াল)
 

আপনি এই উল্লেখ করতে পারেন পৃষ্ঠা আরও তথ্যের জন্য.

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

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

এবং মাত্র গত কয়েক মাসে, বাহ্যিক ভেরিয়েবলের সাথে মাল্টিভেরিয়েট টাইম সিরিজ ফাংশন তৈরি করার জন্য একটি নতুন বৈশিষ্ট্য (ARIMA_PLUS_XREG, XREG নীচে) বিকিউএমএল-এ একটি সম্পূর্ণ বৈশিষ্ট্য হয়ে উঠেছে.

আপনি এটি সম্পর্কে সব পড়তে পারেন এখানে(এটি জুলাই 2023 এর পূর্বরূপ, কিন্তু আমি অনুমান করছি যে এটি এই বছরের শেষের দিকে উপলব্ধ হবে)।

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

ধাপগুলি টিউটোরিয়ালের মতোই, তাই আমি সেগুলিকে নকল করব না, তবে এখানে আমার তৈরি দুটি মডেল রয়েছে। প্রথমত, আমি একটি ঐতিহ্যগত তৈরি করেছি ARIMA_PLUS মডেল এবং তারপর একটি এক্সআরইজি মডেল একই ডেটা ব্যবহার করে কিন্তু সেই সময়ে তাপমাত্রা এবং বাতাসের গতি যোগ করে।

# ARIMA_PLUS

# ARIMA_PLUS
CREATE OR REPLACE MODEL test_dt_us.seattle_pm25_plus_model
OPTIONS ( MODEL_TYPE = 'ARIMA_PLUS', time_series_timestamp_col = 'date', time_series_data_col = 'pm25') AS
SELECT date, pm25
FROM test_dt_us.seattle_air_quality_daily
WHERE date BETWEEN DATE('2012-01-01') AND DATE('2020-12-31')
#ARIMA_PLUS_XREG
CREATE OR REPLACE MODEL test_dt_us.seattle_pm25_xreg_model OPTIONS ( MODEL_TYPE = 'ARIMA_PLUS_XREG', time_series_timestamp_col = 'date', time_series_data_col = 'pm25') AS
SELECT date, pm25, temperature, wind_speed
FROM test_dt_us.seattle_air_quality_daily
WHERE date BETWEEN DATE('2012-01-01') AND DATE('2020-12-31')

 

এই মাল্টিপল ডেটা ব্যবহার করে এমন একটি মডেল দেখতে এরকম কিছু দেখাবে

 

BQML-এর সাথে মাল্টিভেরিয়েট টাইম-সিরিজ পূর্বাভাস
কাঠামো ARIMA_PLUS_XREG (থেকে BQML ম্যানুয়াল)
 

দুটি মডেল ML.Evaluate এর সাথে তুলনা করা হয়।

SELECT * FROM ML.EVALUATE ( MODEL test_dt_us.seattle_pm25_plus_model, ( SELECT date, pm25 FROM test_dt_us.seattle_air_quality_daily WHERE date > DATE('2020-12-31') ))
SELECT * FROM ML.EVALUATE ( MODEL test_dt_us.seattle_pm25_xreg_model, ( SELECT date, pm25, temperature, wind_speed FROM test_dt_us.seattle_air_quality_daily WHERE date > DATE('2020-12-31') ), STRUCT( TRUE AS perform_aggregation, 30 AS horizon))

 

ফলাফল নীচে.

ARIMA_PLUS

 

BQML-এর সাথে মাল্টিভেরিয়েট টাইম-সিরিজ পূর্বাভাস
 

ARIMA_PLUS_XREG

 

BQML-এর সাথে মাল্টিভেরিয়েট টাইম-সিরিজ পূর্বাভাস
 

আপনি দেখতে পারেন যে XREG মডেল MAE, MSE, এবং MAPE-এর মতো মৌলিক কর্মক্ষমতা মেট্রিক্সে এগিয়ে। (অবশ্যই, এটি একটি নিখুঁত সমাধান নয়, তথ্য নির্ভর, এবং আমরা শুধু বলতে পারি যে আমরা আরেকটি দরকারী টুল পেয়েছি।)

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

সময় স্ট্যাম্প:

থেকে আরো কেডনুগেটস