বুটস্ট্র্যাপিং অবশিষ্টাংশগুলি: আমি কি এটি সঠিকভাবে করছি?


10

প্রথমত: আমি যা বুঝতে পেরেছি সেগুলি থেকে বুটস্ট্র্যাপিং অবশিষ্টাংশগুলি নিম্নলিখিত হিসাবে কাজ করে:

  1. ডেটা মাপসই মডেল
  2. অবশিষ্টগুলি গণনা করুন
  3. অবশিষ্টগুলি পুনরায় নমুনা করুন এবং তাদের 1 এ যুক্ত করুন।
  4. 3 থেকে নতুন ডেটাসেটে মডেল ফিট করুন।
  5. পুনরাবৃত্তি nবার করুন, কিন্তু সর্বদা 1 থেকে পুনরায় সজ্জিত অবশিষ্টাংশ যুক্ত করুন।

এখনও কি এটি সঠিক?


আমি যা করতে চাই তা কিছুটা আলাদা:

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

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

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

/ সম্পাদনা করুন ^ 2: সেখানে ম্যাটল্যাব-ব্যবহারকারীদের জন্য , আমি কী বোঝাতে চাইছি তার জন্য কিছু দ্রুত এবং নোংরা লিনিয়ার রিগ্রেশন উদাহরণ লিখেছি।

এটিই আমি বিশ্বাস করি যে অবশিষ্টাংশগুলির "সাধারণ" বুটস্ট্র্যাপিং হ'ল (আমি ভুল হলে দয়া করে আমাকে সংশোধন করুন): http://pastebin.com/C0CJp3d1

এটিই আমি করতে চাই: http://pastebin.com/mbapsz4c


আপনি এতক্ষণ যে কোডটি করেছেন তা যদি আপনি প্রদর্শন করেন তবে এটি পরিষ্কার হবে।
মেট্রিকস

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

এখানে খুব খারাপ ম্যাটল্যাব-শৈলীর সিউডো কোড দেওয়া আছে, এটি আমি কী করতে চাই তা বুঝতে সহায়তা করে: পেস্টবিন.com
ফ্রেড এস

দুঃখিত ফ্রেড, আমি মতলবকে জানি না users ব্যবহারকারীদের কাছ থেকে ইনপুট পেতে মাতলাব হিসাবে ট্যাগ করুন।
মেট্রিকস 23 '

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

উত্তর:


8

এখানে আরও বিশদে সাধারণ (আধা-প্যারামেট্রিক-বুটস্ট্র্যাপ) অ্যালগরিদম রয়েছে:

B = বুটস্ট্র্যাপের সংখ্যা

মডেল:
y=xβ+ϵ

দিন অবশিষ্টাংশ হতেϵ^

  1. রিগ্রেশন চালান এবং অনুমানকারী (গুলি) এবং অবশিষ্টাংশগুলি ।β^ϵ^
  2. প্রতিস্থাপন সঙ্গে অবশিষ্টাংশ রীস্যাম্পেল এবং স্থানে বুট-স্ট্র্যাপ অবশিষ্ট ভেক্টর প্রাপ্ত ।ϵ^B
  3. : মূল regressors সঙ্গে থেকে (1) মূল্নির্ধারক (গুলি) গুন এবং স্থানে বুট-স্ট্র্যাপ অবশিষ্ট যোগ করে স্থানে বুট-স্ট্র্যাপ নির্ভরশীল পরিবর্তনশীল প্রাপ্ত করুন ।yB=xβ^+ϵ^B
  4. স্থানে বুট-স্ট্র্যাপ নির্ভরশীল ভেরিয়েবল এবং মূল regressors সঙ্গে রিগ্রেশন চালান, এই স্থানে বুট-স্ট্র্যাপ মূল্নির্ধারক, অর্থাত্ regress দেয় উপর , এই দেয় ।yBxβ^B
  5. একই পদ্ধতি পুনরাবৃত্তি করুন কার্যপ্রণালী (2) ফিরে গিয়ে -times।B

1

আমি নিশ্চিত না যে আমার বোঝাপড়াটি সঠিক কিনা। তবে আপনার কোডটি ("অবসরগুলির সাধারণ বুটস্ট্র্যাপিং", লাইন ২৮-৩৪) এ এখানে পরিবর্তন করার জন্য আমার পরামর্শটি দেওয়া হয়েছে:

for i = 2:n_boot  
x_res_boot = x_residuals( randi(n_data,n_data,1) );  
x_boot = x_res_boot+ x_best_fit;  
p_est(:, i) = polyfit( t, x_boot, 1 );  
x_best_fit2 = polyval( p_est(:, i), t );  
x_residuals = x_best_fit2 - x_boot;
x_best_fit=x_best_fit2;
end  

ধারণাটি হ'ল প্রতিবার আপনি অবশিষ্টাংশগুলি প্রথম রান থেকে নয়, তবে পূর্ববর্তী বুটস্ট্র্যাপ ফিট থেকে ব্যবহার করছেন। আমার হিসাবে, অন্য সবগুলি বৈধ বলে মনে হচ্ছে।

এটি ম্যাট্ল্যাব-এ পরীক্ষা করা হয়েছে যা সংশোধিত সংস্করণ। দুটি ত্রুটি স্থির করা হয়েছে।


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

উফফফ, 25 লাইনে ছোট ভুল (পি_স্ট (:,1) এর পরিবর্তে পি_স্ট ((i) হওয়া উচিত)), তবে আমি যখন ঠিক করেছি যে প্যারামিটারের বিতরণগুলি এখনও খারাপ দেখাচ্ছে: ক্লিক করুন
ফ্রেড এস

1
উত্তরটি স্থির করে এমএটিএলবি-তে পরীক্ষা করা হয়েছে। এখন এটি ভাল যায়।
ও_দেভিনিয়াক

1
প্রতিটি ফিটের জন্য নতুন রেসিডুয়ালগুলি - এটাই ছিল আমার অবশিষ্টাংশের বুটস্ট্র্যাপের প্রথম উপলব্ধি। তবে আমাকে অবশ্যই স্বীকার করতে হবে যে বিভিন্ন উত্স সেই উদ্দেশ্যে মূল উপাত্তের সাথে থাকা ফিটগুলির অবশিষ্টাংশ ব্যবহার করছে। বুটস্ট্র্যাপ ( econ.pdx.edu/factory/KPL/readings/mackinnon06.pdf ) সম্পর্কে সুন্দর টিউটোরিয়ালটি এখানে রয়েছে । দেখে মনে হচ্ছে আপনার প্রয়োগটি সঠিক হওয়ার সাথে সাথে আমার পদ্ধতিরটি ভুল। আমি কি দেওয়া উত্তর মুছে ফেলা উচিত?
ও_দেভিনিয়াক

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

1

ভবিষ্যদ্বাণীমূলক যথার্থতা / গড় স্কোয়ার ত্রুটির ক্ষেত্রে একটি অ্যালগরিদম কীভাবে সম্পাদন করে তা দেখতে আপনার সম্ভবত ইফ্রন-গং "আশাবাদ" বুটস্ট্র্যাপের প্রয়োজন। আর rmsপ্যাকেজে সহজে ব্যবহারের জন্য এটি প্রয়োগ করা হয় । উহার কার্যাবলী দেখুন ols, validate.ols, calibrate

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