এটি ম্যানুয়ালি ফিট করার জন্য আমরা যে পদ্ধতিগুলি ব্যবহার করব (এটি এক্সপ্লোরার ডেটা অ্যানালাইসিসের) এই জাতীয় ডেটার সাথে উল্লেখযোগ্যভাবে ভাল কাজ করতে পারে।
আমি মডেলটির পরামিতিগুলিকে ইতিবাচক করার জন্য কিছুটা পুনরায় পরিমিত করতে চাই :
y=ax−b/x−−√.
প্রদত্ত , ধরে নেওয়া যাক এই সমীকরণটি সন্তুষ্ট করার জন্য একটি অনন্য বাস্তব ; যখন এ বোঝা যায় তখন এটিকে বা ব্রিভিটির জন্য, ।x f ( y ; a , b ) f ( y ) ( a , b )yxf(y;a,b)f(y)(a,b)
আমরা জোড়া এর যেখানে শূন্য মাধ্যমে স্বাধীন র্যান্ডম পরিবর্তনের মাধ্যমে থেকে বিচ্যুত হয় । এই আলোচনায় আমি ধরে নেব যে তাদের সকলের একটি সাধারণ বৈচিত্র রয়েছে তবে এই ফলাফলগুলির একটি বর্ধিতকরণ (ওজনযুক্ত সর্বনিম্ন স্কোয়ারগুলি ব্যবহার করে) সম্ভব, সুস্পষ্ট এবং কার্যকর করা সহজ। এখানে , , এবং এর একটি সাধারণ বৈকল্পিক সহ মানের সংগ্রহের একটি সিমুলেটেড উদাহরণ ।x i f ( y i ; a , b ) 100 a = 0.0001 খ = 0.1 σ 2 = 4(xi,yi)xif(yi;a,b)100a=0.0001b=0.1σ2=4
এটি একটি (ইচ্ছাকৃতভাবে) শক্ত উদাহরণ, যেমনটি ননফিজিক্যাল (নেতিবাচক) মানগুলি এবং তাদের অসাধারণ স্প্রেড দ্বারা প্রশংসা করা যেতে পারে (যা সাধারণত অনুভূমিক একক, তবে অক্ষের উপরে বা অবধি হতে পারে )। যদি আমরা ব্যবহার করা , , এবং অনুমানের নিকটবর্তী যে কোনও জায়গায় এই ডেটাগুলিতে যুক্তিসঙ্গত ফিট অর্জন করতে পারি তবে আমরা অবশ্যই করব।± 2 5 6 x ক খ σ 2x±2 56xabσ2
একটি অনুসন্ধানী ফিটিং পুনরাবৃত্ত হয়। প্রতিটি পর্যায় দুটি পদক্ষেপ নিয়ে গঠিত: অনুমান করুন ( এবং এর ডেটা এবং পূর্ববর্তী অনুমান এবং এর উপর ভিত্তি করে , পূর্ববর্তী পূর্বাভাসিত মানগুলি জন্য প্রাপ্ত করা যেতে পারে ) এবং তারপরে অনুমান । ত্রুটিগুলি x- এ থাকায়, থেকে অন্য চেয়ে বেশি অনুমান করে । এর ত্রুটিগুলিতে প্রথমে অর্ডার করতে , যখন পর্যাপ্ত পরিমাণে বড় হয়,একটি খ একটি খ এক্স আমি এক্স আমি খ x আমি ( Y আমি ) এক্স এক্সaa^b^abx^ixibxi(yi)xx
xi≈1a(yi+b^x^i−−√).
অতএব, আমরা এই মডেলটিকে সর্বনিম্ন স্কোয়ারের সাথে ফিট করে notice update আপডেট করতে পারি (লক্ষ্য করুন এটির কেবলমাত্র একটি প্যারামিটার রয়েছে - opeাল , - এবং কোনও বাধা নেই) এবং আপডেট হওয়া প্রাক্কলন হিসাবে সহগের পারস্পরিক প্রতিফলন গ্রহণ করুন ।a^aa
এরপরে, যখন যথেষ্ট পরিমাণে ছোট হয়, বিপরীত চতুর্ভুজ শব্দটি প্রাধান্য পায় এবং আমরা (ত্রুটিগুলিতে প্রথমে পুনরায় অর্ডার করতে) পাই যাx
xi≈b21−2a^b^x^3/2y2i.
আবারও কমপক্ষে স্কোয়ার ব্যবহার করে (কেবল একটি opeাল শব্দ ) আমরা লাগানো opeালের বর্গমূলের মাধ্যমে একটি আপডেট অনুমান obtain প্রাপ্ত করি।bb^
এটি কেন কাজ করে তা দেখার জন্য, এই ফিটের সাথে একটি অপরিশোধিত অনুসন্ধানের আনুমানিক ছোট জন্য বিপরীতে প্লট করে পাওয়া যাবে । আরও ভাল, কারণ ত্রুটি দিয়ে পরিমাপ করা হয় এবং সাথে একঘেয়েভাবে পরিবর্তন হয় , আমাদের এর বৃহত্তর মানগুলির সাথে ডেটাতে ফোকাস করা উচিত । এখানে আমাদের সিমুলেটেড ডেটাসেটের একটি উদাহরণ যা এর বৃহত্তম অর্ধেক , নীল রঙের সবচেয়ে ছোট অর্ধেক এবং মূল পয়েন্টের মধ্য দিয়ে একটি রেখা লাল পয়েন্টগুলিতে ফিট করে showingxi1/y2ixixiyixi1/y2iyi
পয়েন্টগুলি প্রায় সারিবদ্ধ, যদিও এবং এর ছোট মানগুলিতে কিছুটা বক্রতা রয়েছে । (অক্ষগুলির পছন্দটি লক্ষ্য করুন: কারণ হল পরিমাপ, এটি উল্লম্ব অক্ষের উপরে চক্রান্ত করা প্রচলিত )) লাল বিন্দুগুলিতে ফিটের উপর দৃষ্টি নিবদ্ধ করে যেখানে বক্রতা ন্যূনতম হওয়া উচিত, আমাদের যুক্তিসঙ্গত অনুমান করা উচিত । শিরোনামে প্রদর্শিত এর মান এই লাইনের line বর্গমূল: এটি সত্য মানের থেকে % কম!xyxb0.0964
এই মুহুর্তে পূর্বাভাসিত মানগুলি আপডেট করা যেতে পারে
x^i=f(yi;a^,b^).
প্রাক্কলন স্থিতিশীল না হওয়া পর্যন্ত ইল্ট্রেট করুন (যার গ্যারান্টি নেই) অথবা তারা মানগুলির ছোট পরিসীমা (যা এখনও নিশ্চিত হতে পারে না) মাধ্যমে চক্র হয়।
এটা পরিনত হয় যে অনুমান করার জন্য যদি না আমরা এর খুব বড় মূল্যবোধের একটি ভাল সেট আছে কঠিন , কিন্তু যে --which মূল কাহিনিসূত্রেও উল্লম্ব অসীমপথ নির্ধারণ করে (প্রশ্নে) এবং question-- ফোকাস উল্লম্ব অ্যাসিম্পোটোটের মধ্যে কিছু ডেটা রয়েছে তবে বেশ নিখুঁতভাবে পিন করা যায় । আমাদের চলমান উদাহরণে, পুনরাবৃত্তিগুলি (যা প্রায় এর সঠিক মানের দ্বিগুণ ) এবং (যা সঠিক মানের কাছাকাছি) তে করে । এই প্লটটি ডেটা আরও একবার দেখায়, যার উপরে সুপারভাইজড (ক) সত্যaxba^=0.0001960.0001b^=0.10730.1ধূসর বর্ণের বক্ররেখা (ড্যাশড) এবং (খ) লাল (ঘন) মধ্যে আনুমানিক বক্ররেখা:
এই ফিটটি এতটা ভাল যে আসল বক্ররেখা লাগানো বক্ররেখা থেকে পৃথক করা কঠিন: এগুলি প্রায় সর্বত্র ছড়িয়ে পড়ে p ঘটনাচক্রে, এর আনুমানিক ত্রুটিটির বৈকল্পিক সত্যিকারের মানের খুব কাছাকাছি ।3.734
এই পদ্ধতির সাথে কিছু সমস্যা রয়েছে:
অনুমান পক্ষপাতদুষ্ট। যখন ডেটাসেটটি ছোট হয় এবং অপেক্ষাকৃত কয়েকটি মান এক্স-অক্ষের নিকটে থাকে তখন পক্ষপাতটি স্পষ্ট হয়। ফিটটি নিয়মিতভাবে কিছুটা কম।
অনুমান পদ্ধতিতে "ছোট" মানগুলি থেকে "বৃহত্তর" বলতে একটি পদ্ধতি প্রয়োজন । আমি সর্বোত্তম সংজ্ঞা সনাক্ত করার জন্য অনুসন্ধানের উপায়গুলি প্রস্তাব করতে পারি, তবে ব্যবহারিক বিষয় হিসাবে আপনি এগুলিকে "টিউনিং" ধ্রুবক হিসাবে ছেড়ে যেতে পারেন এবং ফলাফলের সংবেদনশীলতা পরীক্ষা করতে তাদের পরিবর্তন করতে পারেন। আমি এর মান অনুযায়ী ডেটা তিনটি সমান গ্রুপে বিভক্ত করে এবং দুটি বাহ্যিক গ্রুপ ব্যবহার করে নির্বিচারে সেট করেছি setyiyi
পদ্ধতিটি এবং বা সমস্ত সম্ভাব্য ডেটার সমস্ত সংমিশ্রণের জন্য কাজ করবে না । যাইহোক, যখনই যথেষ্ট পরিমাণে বক্ররেখা উভয় অ্যাসিপোটোটকে প্রতিফলিত করার জন্য ডেটাসেটে উপস্থাপিত হয় তখন এটি ভালভাবে কাজ করা উচিত: এক প্রান্তে উল্লম্ব এক এবং অন্য প্রান্তে তীর্যক একটি।ab
কোড
নিচে গাণিতিকায় লেখা আছে ।
estimate[{a_, b_, xHat_}, {x_, y_}] :=
Module[{n = Length[x], k0, k1, yLarge, xLarge, xHatLarge, ySmall,
xSmall, xHatSmall, a1, b1, xHat1, u, fr},
fr[y_, {a_, b_}] := Root[-b^2 + y^2 #1 - 2 a y #1^2 + a^2 #1^3 &, 1];
k0 = Floor[1 n/3]; k1 = Ceiling[2 n/3];(* The tuning constants *)
yLarge = y[[k1 + 1 ;;]]; xLarge = x[[k1 + 1 ;;]]; xHatLarge = xHat[[k1 + 1 ;;]];
ySmall = y[[;; k0]]; xSmall = x[[;; k0]]; xHatSmall = xHat[[;; k0]];
a1 = 1/
Last[LinearModelFit[{yLarge + b/Sqrt[xHatLarge],
xLarge}\[Transpose], u, u]["BestFitParameters"]];
b1 = Sqrt[
Last[LinearModelFit[{(1 - 2 a1 b xHatSmall^(3/2)) / ySmall^2,
xSmall}\[Transpose], u, u]["BestFitParameters"]]];
xHat1 = fr[#, {a1, b1}] & /@ y;
{a1, b1, xHat1}
];
তথ্য (সমান্তরাল ভেক্টর কর্তৃক প্রদত্ত এই আবেদন করুন x
এবং y
একটি দুই কলাম ম্যাট্রিক্স মধ্যে গঠিত data = {x,y}
) অভিসৃতি পর্যন্ত আনুমানিক পরিসংখ্যান দিয়ে শুরু :a=b=0
{a, b, xHat} = NestWhile[estimate[##, data] &, {0, 0, data[[1]]},
Norm[Most[#1] - Most[#2]] >= 0.001 &, 2, 100]