কম্পিউটার টিউটোরিয়াল

Python-এ ডেটার সাথে Hermite_e সিরিজের লিস্ট স্কোয়ার ফিট পাওয়ার পদ্ধতি


ডেটার সাথে Hermite_e সিরিজের লিস্ট স্কোয়ার ফিট পেতে, Python NumPy-এ hermite_e.hermfit() মেথডটি ব্যবহার করুন। মেথডটি Hermite_e কোইফিশিয়েন্ট রিটার্ন করে নিম্ন থেকে উচ্চ ক্রমে। যদি y 2-D হয়, তবে y-র কলাম k-এর ডেটার কোইফিশিয়েন্ট কলাম k-এ থাকবে। প্যারামিটার x হলো M স্যামপল (ডেটা) পয়েন্ট (x[i], y[i])-এর x-কোঅর্ডিনেট।

প্যারামিটার y হলো স্যামপল পয়েন্টের y-কোঅর্ডিনেট। একই x-কোঅর্ডিনেট শেয়ার করে অনেক সেট স্যামপল পয়েন্ট আলাদা আলাদা ফিট করা যায় polyfit-এ এক কল দিয়ে y-র জন্য 2-D অ্যারে পাস করলে যাতে প্রতিটি কলামে এক ডেটা সেট থাকে। প্যারামিটার deg হলো ফিটিং পলিনোমিয়ালের ডিগ্রি(গুলি)। যদি deg একটি সিঙ্গেল ইন্টিজার হয় তবে deg'-th টার্ম পর্যন্ত সব টার্ম ফিটে অন্তর্ভুক্ত হবে। প্যারামিটার rcond হলো ফিটের রিলেটিভ কন্ডিশন নম্বর। rcond-এর চেয়ে ছোট সিংগুলার ভ্যালু, সর্বোচ্চ সিংগুলার ভ্যালুর সাপেক্ষে, ইগনোর করা হবে। ডিফল্ট ভ্যালু len(x)*eps, যেখানে eps হলো প্ল্যাটফর্মের ফ্লোট টাইপের রিলেটিভ প্রিসিশন, অধিকাংশ ক্ষেত্রে প্রায় 2e-16।

প্যারামিটার full হলো রিটার্ন ভ্যালুর প্রকৃতি নির্ধারণকারী সুইচ। False হলে (ডিফল্ট) শুধু কোইফিশিয়েন্ট রিটার্ন করা হয়; True হলে, সিংগুলার ভ্যালু ডিকম্পোজিশন থেকে ডায়াগনস্টিক ইনফরমেশনও রিটার্ন করা হয়। প্যারামিটার w হলো ওয়েইট। যদি None না হয়, তবে ওয়েইট w[i] আনস্কোয়ার্ড রেজিডুয়াল y[i] - y_hat[i]-এ x[i]-তে প্রয়োগ করা হয়। আদর্শভাবে ওয়েইটগুলো এভাবে বেছে নেওয়া উচিত যাতে প্রোডাক্ট w[i]*y[i]-এর এরর সব একই ভ্যারিয়েন্স থাকে। ইনভার্স-ভ্যারিয়েন্স ওয়েইটিং gebruic করার সময়, w[i] = 1/sigma(y[i]) ব্যবহার করুন। ডিফল্ট ভ্যালু None।

ধাপসমূহ

প্রথমে প্রয়োজনীয় লাইব্রেরি ইমপোর্ট করুন −

import numpy as np
from numpy.polynomial import hermite_e as H

x-কোঅর্ডিনেট −

x = np.linspace(-1, 1, 51)

x-কোঅর্ডিনেট ডিসপ্লে করুন −

print("X Co-ordinate...\n", x)

y-কোঅর্ডিনেট −

y = x**3 - x + np.random.randn(len(x))
print("\nY Co-ordinate...\n", y)

Hermite_e সিরিজের লিস্ট স্কোয়ার ফিট পেতে, Python-এ hermite_e.hermfit() মেথডটি ব্যবহার করুন −

c, stats = H.hermefit(x, y, 3, full=True)
print("\nResult...\n", c)
print("\nResult...\n", stats)

উদাহরণ

import numpy as np
from numpy.polynomial import hermite_e as H

# The x-coordinate
x = np.linspace(-1, 1, 51)

# Display the x-coordinate
print("X Co-ordinate...\n", x)

# The y-coordinate
y = x**3 - x + np.random.randn(len(x))
print("\nY Co-ordinate...\n", y)

# To get the Least squares fit of Hermite_e series to data
c, stats = H.hermefit(x, y, 3, full=True)
print("\nResult...\n", c)
print("\nResult...\n", stats)

আউটপুট

X Co-ordinate...   [-1.   -0.96 -0.92 -0.88 -0.84 -0.8  -0.76 -0.72 -0.68 -0.64 -0.6  -0.56  -0.52 -0.48 -0.44 -0.4  -0.36 -0.32 -0.28 -0.24 -0.2  -0.16 -0.12 -0.08  -0.04  0.    0.04  0.08  0.12  0.16  0.2   0.24  0.28  0.32  0.36  0.4   0.44  0.48  0.52  0.56  0.6   0.64  0.68  0.72  0.76  0.8   0.84  0.88  0.92  0.96  1.  ]
Y Co-ordinate... [-0.54079609 -1.17586687 -0.81506394  0.8047718  -1.21403444 -1.09247646 -0.88942226 -0.62335081  0.83995142  0.29147171  2.45859847 -0.37545462  0.90161986 -0.7125131  -0.82978518  0.25422338  0.62073702 -1.43305948  0.96436296  0.03069738 -1.07349677  0.55233582  1.23286374  0.37330458  0.27239629  0.46859691 -0.1074476  1.19279741  0.15844038 -0.20424904 -1.41467693 -0.79396457 -2.38068246 -1.24121297 -0.7877071  -1.09171002  1.0806185  -0.94389035 -2.16201749  0.21671724 -1.15596405  0.57090598 -0.52496753 -0.20358065 -3.72121093  1.39868958 -0.02626711 -1.51582035 -0.12223608 -0.58368042  0.69138128]
Result... [-0.54892802  4.71593168 -0.40858959  2.08689429]
Result... [array([51.90771673]), 4, array([1.41192215, 1.37967947, 0.31061966, 0.08047256]), 1.1324274851176597e-14]
  1. পাইথনে Hermite_e সিরিজ অবকলন

  2. পাইথনে 3D অ্যারের ইনভার্স নির্ণয়

  3. পাইথনে টেনসরফ্লো দিয়ে ডেটা মডেলে ফিট (fit) করা

  4. প্রদত্ত সিরিজের সকল উপাদান শাফল (shuffle) করার পাইথন প্রোগ্রাম লিখুন