পূর্বাভাস একত্র করা: সমান ও অনুমিত ওজন
পূর্বাভাসের সমন্বয় কীভাবে মডেলের অনুমান মেশায়, কেন সমান ওজন অনুমিত ওজনের চেয়ে ভালো হতে পারে এবং ভবিষ্যৎ তথ্যের পক্ষপাত ছাড়া ফল কীভাবে যাচাই করবেন তা জানুন
এই গাইডেপূর্বাভাস সমন্বয়ের অর্থ কী
সংক্ষিপ্ত সারাংশ
পূর্বাভাস সমন্বয় একই লক্ষ্য ও সময়সীমার একাধিক পূর্বাভাস মিশিয়ে একটি পূর্বাভাস তৈরি করে। সমান ওজন একটি স্বচ্ছ ভিত্তি; অতীতের পূর্বাভাস-ভুল থেকে অনুমিত ওজন মডেলের পার্থক্যের সঙ্গে মানিয়ে নিতে পারে, কিন্তু অনুমানের অনিশ্চয়তায় নমুনার বাইরে অস্থির হতে পারে
পূর্বাভাস সমন্বয়ের অর্থ কী
পূর্বাভাস সমন্বয়ে একই বিষয়ের দুই বা ততোধিক অনুমান থেকে একটি পূর্বাভাস তৈরি হয়। A, B এবং C মডেল যদি আগামীকালের realized variance পূর্বাভাস দেয়, তবে তাদের ফল গড় করা বা আলাদা ওজন দেওয়া যায়। সমন্বিত সংখ্যাটি একটি নতুন পূর্বাভাস; কোন মডেল ঠিক তা নিয়ে ভোট নয়।
ইনপুটের লক্ষ্য, পূর্বাভাসের উৎপত্তি-সময়, সময়সীমা, একক এবং তথ্য-সীমা একই হতে হবে। এক দিনের variance পূর্বাভাসকে এক মাসের volatility পূর্বাভাসের সঙ্গে সরাসরি গড় করা যায় না, শুধু দুটিকেই volatility বলা হয় বলে। আগে সাধারণ পরিমাপ ও সময়কাল নির্ধারণ করুন, তারপর পূর্বাভাসগুলো মেলান।
একাধিক গ্রহণযোগ্য মডেল কোনো ধারার ভিন্ন বৈশিষ্ট্য ধরতে পারে, অথবা কোনটি ভবিষ্যতে ভালো থাকবে তা অনিশ্চিত হতে পারে—এমন পরিস্থিতিতে সমন্বয় কাজে লাগে। মডেলগুলোকে সম্পূর্ণ ভিন্ন অ্যালগরিদমের হতে হবে না। তাদের নাম কত আলাদা তার চেয়ে, ভুলগুলো একসঙ্গে কীভাবে চলে সেটাই গুরুত্বপূর্ণ।
Bates ও Granger-এর প্রাথমিক প্রয়োগে বিমানযাত্রীর উদাহরণে দুটি পূর্বাভাস মিলিয়ে এমন যৌগিক পূর্বাভাস পাওয়া যায় যার mean squared error প্রতিটি আলাদা পূর্বাভাসের চেয়ে কম ছিল। এটি সমন্বয় পরীক্ষা করার কারণ দেয়, তবে অন্য বাজার, লক্ষ্য, সময়কাল বা loss function-এ উন্নতির নিশ্চয়তা দেয় না (Bates and Granger, 1969)।
সমান-ওজনের মানদণ্ড দিয়ে শুরু করুন
Kটি পূর্বাভাসের সমান-ওজনের সমন্বয় হলো
\[ \widehat{y}_{t+h\mid t}^{\,EW} = \frac{1}{K}\sum_{k=1}^{K}\widehat{y}_{k,t+h\mid t} \]
প্রতিটি পূর্বাভাস সমান অংশ পায়। ওজন নির্ধারণে আলাদা প্রশিক্ষণ-নমুনা লাগে না এবং নিয়মটি পুনরায় তৈরি করা সহজ। শেষ পদ্ধতিতে অনুমিত বা সীমাবদ্ধ ওজন ব্যবহার করলেও এটি উপযোগী ভিত্তি।
সমান ওজন মানে সব পূর্বাভাস সমান সঠিক, স্বাধীন বা অর্থনৈতিকভাবে সমান গুরুত্বপূর্ণ—এমন নয়। এর অর্থ কেবল সমন্বয়-পদ্ধতি অতীত কর্মদক্ষতা থেকে আলাদা ওজন অনুমান করে না। সব ইনপুট একই বৈশিষ্ট্য মিস করলে সমান-ওজনের পূর্বাভাসেও সেই যৌথ পক্ষপাত থাকতে পারে।
মডেলের নামের সংখ্যা তথ্যের বৈচিত্র্যের মাপকাঠি নয়। তিনটি volatility মডেল একই return series, session boundary এবং sampling interval ব্যবহার করতে পারে, আবার রাতের দামের পরিবর্তন তিনটিই মিস করতে পারে। গড় করলেই সেই ঘাটতি ঠিক হয় না। সংরক্ষিত নমুনার বাইরের ভুলগুলো কার্যকরভাবে আলাদা কি না যাচাই করুন; ভিন্ন নাম দেখেই স্বাধীন প্রমাণ ধরে নেবেন না।
ধরা যাক, তিনটি মডেল পরের সেশনের volatility যথাক্রমে 12, 15 এবং 20 basis point পূর্বাভাস দিল। সমান-ওজনের ফল \((12+15+20)/3=15.67\) basis point। এই হিসাব শুধু মেশানোর পদ্ধতি দেখায়; একটি পূর্বাভাস-সময় থেকে নিয়মটির নির্ভুলতা বা লাভজনকতা বোঝা যায় না।
Volatility-র ক্ষেত্রে ইনপুট variance না standard deviation তা দেখুন। তিনটি variance পূর্বাভাস গড় করে তার বর্গমূল নেওয়া সাধারণত standard deviation পূর্বাভাসগুলোর গড়ের সমান নয়। পরে স্কোর করার সময় একই লক্ষ্য-সংজ্ঞা ও একক ব্যবহার করুন।
অতীতের পূর্বাভাস-ভুল থেকে ওজন অনুমান করুন
অনুমিত রৈখিক সমন্বয় লেখা যায় এভাবে:
\[ \widehat{y}_{t+h\mid t}^{\,C} = \sum_{k=1}^{K} w_k \widehat{y}_{k,t+h\mid t} \]
একটি প্রচলিত তাত্ত্বিক ফল ধরে নেয় প্রতিটি পূর্বাভাস-ভুলের গড় শূন্য, লক্ষ্য একই এবং ওজনের যোগফল এক। উপাদান পূর্বাভাস-ভুলগুলোর covariance matrix-কে \(\Sigma_e\) ধরা যাক। এটি জানা ও invertible হলে, ওই শর্তে সর্বনিম্ন-variance ওজন হবে
\[ w^{*} = \frac{\Sigma_e^{-1}\mathbf{1}}{\mathbf{1}'\Sigma_e^{-1}\mathbf{1}} \]
সূত্রটি একটি রেফারেন্স, শব্দযুক্ত sample covariance matrix সরাসরি inverse করার নির্দেশ নয়। বাস্তবে সীমিত অতীত পূর্বাভাস-ভুল থেকে \(\Sigma_e\) অনুমান করতে হয়। ইনপুটের পারস্পরিক সম্পর্ক বেশি হলে অনুমানটি প্রায় singular হতে পারে, তাই তথ্যের সামান্য পরিবর্তনেও ওজন অনেক বদলে যেতে পারে।
দুটি পূর্বাভাসের ভুলের variance সমান \(\sigma^2\) হলে, সমান-ওজনের গড়ের variance \(\sigma^2(1+\rho)/2\), যেখানে \(\rho\) দুই ভুলের correlation। প্রতিটি ভুলের variance 4 এবং correlation শূন্য হলে গড়ের variance 2। correlation 0.90 হলে তা 3.8। গড় কত variance সরাতে পারবে তা মডেলের নাম নয়, ভুলের নির্ভরতা ঠিক করে। এই হিসাব error variance নিয়ে; component পূর্বাভাসে পক্ষপাত থাকলে mean squared error-এ পক্ষপাতের বর্গও যোগ হয়।
আরেকটি উপায় হলো সংরক্ষিত component পূর্বাভাস দিয়ে realized target-এর ওপর regression করা, প্রায়ই intercept-সহ। Granger ও Ramanathan এমন linear regression পদ্ধতি আলোচনা করেন যেখানে ওজনের যোগফল এক হওয়া বাধ্যতামূলক নয়। Intercept ও মুক্ত ওজন training sample-এর গড় পক্ষপাত সংশোধন করতে পারে, তবে ব্যাখ্যাও বদলে যায়: coefficient-গুলো fitted forecast adjustment, portfolio-র অংশের মতো ওজন নাও হতে পারে (Granger and Ramanathan, 1984)।
মূল্যায়নের আগে শর্ত নির্ধারণ করুন। অঋণাত্মক ওজনের যোগফল এক হলে convex average তৈরি হয়, যা সর্বনিম্ন ও সর্বোচ্চ component পূর্বাভাসের মধ্যে থাকে। ঋণাত্মক ওজন বা intercept অনুমোদন করলে ফল এই সীমার বাইরে যেতে পারে। calibrated forecast-এর জন্য তা উপযুক্ত হতে পারে, কিন্তু variance-এর মতো অঋণাত্মক লক্ষ্য হলে অনুপযুক্ত হতে পারে।
একটি সমন্বয়ের হিসাব দেখুন
ধরা যাক, তিনটি মডেল পরবর্তী সেশনের একই লক্ষ্য যথাক্রমে 12, 15 ও 20 basis point পূর্বাভাস দিয়েছে। আগের যেসব forecast origin-এর লক্ষ্য জানা হয়ে গেছে সেগুলো দিয়ে অনুমিত একটি নিয়ম ওজন 0.50, 0.30 ও 0.20 দিলে সমন্বিত পূর্বাভাস:
\[ 0.50(12) + 0.30(15) + 0.20(20) = 14.5\ \text{basis point} \]
ওজনগুলো অঋণাত্মক এবং যোগফল এক, তাই এটি convex combination এবং component পূর্বাভাসগুলোর মাঝখানে। সমান-ওজনের 15.67 basis point থেকে পার্থক্যটি শুধু বাছা ওজনের ফল; এতে weighted forecast ভালো—এমন প্রমাণ নেই।
ওজন অনুমানের সময় কেবল সেই forecast origin-গুলোর ভুল ব্যবহার করতে হবে, যেগুলোর লক্ষ্য তখনই জানা গিয়েছিল। ঐতিহাসিক backtest-এ t সময়ের 14.5 basis point পূর্বাভাসে t পর্যন্ত তথ্য ব্যবহার করা যায়; t+1 বা তার পরের realized target নয়।
লক্ষ্য পর্যবেক্ষণযোগ্য হলে component পূর্বাভাস, সমন্বিত পূর্বাভাস, actual proxy এবং evaluation loss লিখে রাখুন। পরের forecast origin-গুলোতে একই কাজ করলে সাধারণ তারিখে নিয়মগুলো তুলনা করা যায়। তবু একটি হিসাবের উদাহরণ স্থায়ী সুবিধার প্রমাণ নয়।
অনুমিত ওজন কেন হতাশ করতে পারে
Population error covariance জানা থাকলে যে ওজন সর্বোত্তম, তা ছোট নমুনা থেকে অনুমিত ওজনের সমান নয়। অনুমিত ওজন আলাদা অনিশ্চয়তা যোগ করে। Component পূর্বাভাস কাছাকাছি হলে তাদের ভুলের correlation বেশি হতে পারে, আর optimization এমন ছোট ঐতিহাসিক পার্থক্য কাজে লাগাতে পারে যা ভবিষ্যতে থাকবে না।
Kang-এর simulation ও সামষ্টিক অর্থনৈতিক পূর্বাভাসের প্রয়োগে দেখা যায়, সমন্বয়-ওজন অস্থির হতে পারে এবং ওই পরিস্থিতিতে সহজ গড় বাস্তবে ভালো করতে পারে (Kang, 1986)। Timmermann-এর পর্যালোচনায় estimation error, model instability এবং error dependence কীভাবে সমন্বয়কে প্রভাবিত করে তা ব্যাখ্যা করা হয়েছে (Timmermann, 200601004-9))।
Forecast-combination puzzle নিয়ে পরবর্তী বিশ্লেষণও সীমিত নমুনার বিষয়টি তুলে ধরে: স্থির “optimal” ওজনের জন্য পাওয়া ফল একইভাবে প্রযোজ্য নাও হতে পারে, যখন ওজনও অনুমান করতে হয় (Claeskens et al., 2016)। এসব ফল সমান ওজন সবসময় জিতবে বলে না; এগুলো বোঝায় জটিল ওজনের নিয়মকে out-of-sample তুলনায় নিজের কার্যকারিতা দেখাতে হবে।
<!-- learn:illustration -->
সম্ভাব্য প্রতিক্রিয়া হলো সমান ওজন দিয়ে শুরু করা, input-এর সংখ্যা সীমিত রাখা, অনুমিত ওজনকে সমান অংশের দিকে shrink করা, অথবা সহজ constraint আরোপ করা। প্রতিটি পদ্ধতিতে নমনীয়তা ও estimation noise-এর মধ্যে বিনিময় আছে। প্রশিক্ষণ ডেটায় নিয়ম বেছে তা জানিয়ে দিন; চূড়ান্ত test period দেখে আকর্ষণীয় সংস্করণটি বাছবেন না।

বাস্তব সময়ে তৈরি করা যায় এমন পূর্বাভাসের আর্কাইভ বানান
আর্কাইভের প্রতিটি component forecast তার ঘোষিত origin-এ তৈরি করা সম্ভব হওয়া চাই। তখনকার তথ্য দিয়ে প্রতিটি মডেল পুনর্নির্মাণ করুন এবং forecast timestamp, model version ও target definition সংরক্ষণ করুন। In-sample fitted value প্রকৃত ঐতিহাসিক পূর্বাভাসের বিকল্প নয়, কারণ মডেল তখনও অজানা observation ব্যবহার করে থাকতে পারে।
Target ও origin অনুযায়ী আর্কাইভ সাজান। প্রতিটি row-তে component forecast-গুলোকে একই ভবিষ্যৎ interval লক্ষ্য করতে হবে এবং training information একই সিদ্ধান্ত-সময়ে থামতে হবে। combination estimate করার আগে missing forecast বাদ দিন বা স্পষ্টভাবে সামলান; নীরবে input সেট বদলালে তারিখভেদে ওজনের অর্থও বদলাতে পারে।
ওজন অনুমানকে চূড়ান্ত মূল্যায়ন থেকে আলাদা রাখুন। Rolling-origin পদ্ধতিতে t-এর আগে লক্ষ্য জানা ছিল এমন forecast দিয়ে ওজন অনুমান করা যায়, t-তে সমন্বয় প্রকাশ করা যায় এবং target দেখা গেলে স্কোর করা যায়। Expanding window সব যোগ্য পুরোনো origin রাখে; rolling window পূর্বনির্ধারিত দৈর্ঘ্য অনুযায়ী পুরোনো origin বাদ দেয়। কর্মদক্ষতা বদলালে দুই পদ্ধতি আলাদাভাবে মানিয়ে নিতে পারে।
Holdout period দেখার পর component model, transformation, forecast horizon, weight constraint বা loss function বাছলে সেই সময়কাল model development-এর অংশ হয়ে যায়। নতুন test period রাখুন অথবা nested evaluation ব্যবহার করুন, যাতে প্রতিটি selection ধাপ training data-র ভেতরেই থাকে।
একটি loss দিয়ে সমন্বয়গুলো তুলনা করুন
সমান-ওজন, অনুমিত বা shrinkage rule এবং individual forecast-গুলো একই origin ও realized target-এ তুলনা করুন। Evaluation loss ও common sample দেখান। তা না হলে সহজ তারিখে বা ভিন্ন target-এ স্কোর হওয়ার কারণেও কোনো পদ্ধতি ভালো দেখাতে পারে।
Loss target ও প্রশ্নের সঙ্গে মানানসই হওয়া চাই। Squared error বড় miss-কে বর্গ আকারে শাস্তি দেয়; absolute error বড় miss-কে ভিন্ন ওজন দেয়। Noisy realized measure দিয়ে volatility forecast স্কোর করলে proxy-র শর্ত এবং loss গুরুত্বপূর্ণ; QLIKE ও squared-error নির্দেশিকা এ পার্থক্যগুলো ব্যাখ্যা করে। কোন পদ্ধতি সুবিধা পায় তা দেখার পরে loss বেছে নেবেন না।
Forecast comparison test দেখা loss difference sampling variation-এর সঙ্গে সামঞ্জস্যপূর্ণ কি না মাপতে সাহায্য করতে পারে। Diebold–Mariano নির্দেশিকা paired forecast-loss তুলনা এবং forecast error overlap বা নির্ভরশীল হলে প্রাসঙ্গিক অনুমান আলোচনা করে। Test ফল look-ahead bias মুছে দেয় না বা অর্থনৈতিক মূল্য প্রমাণ করে না।
একই evaluation period-এ অনেক component set, weight constraint বা loss rule চেষ্টা করে পরে ভালো দেখানো সংস্করণটি রেখে দিলে রিপোর্ট করা তুলনায় সেই অনুসন্ধানের প্রভাবও আছে। White Reality Check নির্দেশিকা ও backtest overfitting-এর সম্ভাবনা নির্দেশিকা অনেক trading rule থেকে নির্বাচনের সমস্যা আলোচনা করে; কোনোটিই পরিষ্কার forecast archive বা আগাম পরিকল্পিত মূল্যায়নের বিকল্প নয়।
ব্যবহারের প্রকৃত horizon অনুযায়ী validation নকশা করুন। দৈনিক origin দিয়ে কয়েক দিনের overlapping outcome পূর্বাভাস করলে পরপর loss নির্ভরশীল হতে পারে। অনিশ্চয়তা হিসাবের সময় এই নির্ভরতা ধরুন; overlapping row বেশি মানেই ততগুলো স্বাধীন পরীক্ষা নয়।
সিদ্ধান্তের সঙ্গে মেলে এমন সমন্বয় বাছুন
সমন্বয়ের আগে দেখুন প্রতিটি মডেল আসলে কী পূর্বাভাস দেয়। Conditional mean, variance, quantile এবং সম্পূর্ণ probability distribution আলাদা forecast object। Point forecast-এর linear average করলেই calibrated density forecast বা নির্ভরযোগ্য tail-risk estimate তৈরি হয় না।
Variance-এর মতো অঋণাত্মক রাশির ক্ষেত্রে ব্যবহার করার আগে সমন্বিত মান পরীক্ষা করুন। অঋণাত্মক পূর্বাভাসের convex average অঋণাত্মক থাকে; কিন্তু ঋণাত্মক weight বা intercept-সহ regression তা নাও রাখতে পারে। Negative value-কে শূন্যে কেটে দেওয়াও forecast rule বদলে দেয়, তাই মূল্যায়নের আগে তা নির্দিষ্ট করুন।
Forecast-এর সংখ্যাও গুরুত্বপূর্ণ। দুর্বল বা প্রায় একই input যোগ করলে নতুন তথ্য কম বাড়লেও fitted weight-এর সংখ্যা বাড়তে পারে। K-এর তুলনায় ঐতিহাসিক archive ছোট হলে স্বচ্ছ, কম-মাত্রার নিয়ম পছন্দ করুন এবং ফল একটিমাত্র component-এর ওপর নির্ভর করছে কি না দেখান।
মডেলের পূর্বাভাস একত্র করা আর trading position একত্র করা আলাদা বিষয়। কম statistical loss মানে forecast-নির্ভর strategy fee, spread, slippage, market impact ও risk limit-এর পরে বেশি আয় করেছে—এমন নয়। Forecast নির্মাণ এবং তার ব্যবহারকারী trading rule—দুটিরই পৃথক out-of-sample প্রমাণ দরকার।
ফল পুনরুৎপাদনের মতো তথ্য দিন
উপযোগী রিপোর্টে target, horizon, units, component model, origin timestamp, archive period এবং missing-data rule থাকবে। ওজন সমান, অনুমিত, constrained, shrunk বা সময়ের সঙ্গে পরিবর্তনশীল কি না লিখুন; প্রতিটি tuning choice কীভাবে হয়েছে তাও জানান।
একই evaluation date-এ সমান-ওজনের benchmark, নির্বাচিত combination এবং সেরা individual forecast-এর ফল দেখান। Loss function, uncertainty method এবং overlapping outcome সামলানোর পদ্ধতি যুক্ত করুন। Window-ভেদে weight অনেক বদলালে শুধু শেষের মান না দেখিয়ে অস্থিরতাটিও দেখান।
শেষে empirical claim-কে decision claim থেকে আলাদা রাখুন। “এই sample-এ এই loss function অনুযায়ী combination-এর গড় loss কম ছিল” কথাটি “forecast combination trading উন্নত করে” বলার চেয়ে সীমিত ও পুনরুৎপাদনযোগ্য। প্রথমটি সংরক্ষিত forecast archive দিয়ে যাচাই করা যায়; দ্বিতীয়টির জন্য strategy, execution assumption এবং পৃথক প্রমাণ দরকার।
সাধারণ প্রশ্ন
Q1সমান-ওজনের সমন্বয় কি সব সময় একটি মডেলের চেয়ে ভালো?
না। Weight fit না করে তৈরি করা কার্যকর benchmark, তবে নির্ভুলতা component forecast ও target-এর ওপর নির্ভর করে। একই out-of-sample তারিখে প্রতিটি আলাদা forecast-এর সঙ্গে তুলনা করুন।
Q2Forecast weight-এর যোগফল কি সব সময় এক হতে হবে?
না। ব্যাখ্যাযোগ্য convex average পেতে প্রায়ই এই শর্ত দেওয়া হয়। Intercept-সহ regression অন্য ধরনের forecast adjustment estimate করতে পারে; specification ও তার প্রভাব উল্লেখ করুন।
Q3In-sample fitted value থেকে combination weight estimate করা যাবে?
এতে অবাস্তব archive তৈরি হতে পারে, কারণ মূল মডেলগুলো হয়তো ঐতিহাসিক origin-এ অজানা তথ্য ব্যবহার করেছে। প্রতিটি সময়ে কেবল তখনকার ডেটা দিয়ে তৈরি genuine rolling-origin forecast ব্যবহার করুন।
Q4বেশি নির্ভুল combined forecast কি trading edge প্রমাণ করে?
না। Forecast accuracy নির্দিষ্ট target, proxy, sample ও loss-এর অধীনে একটি পরিসংখ্যানগত ফল। Trading claim-এর জন্য নির্দিষ্ট strategy, execution cost, risk constraint ও আলাদা out-of-sample মূল্যায়ন দরকার। প্রাথমিক গবেষণা - Bates and Granger (1969), “The Combination of Forecasts,” *Journal of the Operational Research Society*, 20(4), 451–468. - Granger and Ramanathan (1984), “Improved Methods of Combining Forecasts,” *Journal of Forecasting*, 3(2), 197–204. - Kang (1986), “Unstable Weights in the Combination of Forecasts,” *Management Science*, 32(6), 683–695. - Timmermann (2006), “Forecast Combinations,” *Handbook of Economic Forecasting*, 1, 135–196.01004-9) - Claeskens, Magnus, Vasnev, and Wang (2016), “The Forecast Combination Puzzle: A Simple Theoretical Explanation,” *International Journal of Forecasting*, 32(3), 754–762.
উৎস ও আরও পড়ুন
সমস্যা জানান
এই নিবন্ধের লিংকসহ একটি ইমেল তৈরি হবে। পাঠানোর পরেই Mark প্রতিবেদনটি পাবে
দ্রুত যাচাই
গাইডটি পড়ার পর 3টি প্রশ্নে নিজেকে যাচাই করুন
প্রশ্ন 01
দুটি model forecast একত্র করার আগে কী এক করতে হবে?
ব্যাখ্যা দেখতে একটি উত্তর বেছে নিন