Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में डेटा के लिए लेगेंडर श्रृंखला का न्यूनतम वर्ग फिट प्राप्त करें


लेगेंडर श्रृंखला का डेटा के लिए न्यूनतम वर्ग फिट प्राप्त करने के लिए, पायथन numpy में legendre.legfit() विधि का उपयोग करें। यह विधि निम्न से उच्च क्रम में लेगेंडर गुणांक लौटाती है। यदि y 2-D था, तो y के कॉलम k में डेटा के लिए गुणांक कॉलम k में होते हैं।

पैरामीटर x, M नमूना (डेटा) बिंदुओं (x[i], y[i]) के x-निर्देशांक हैं। पैरामीटर y, नमूना बिंदुओं के y-निर्देशांक हैं। समान x-निर्देशांक साझा करने वाले नमूना बिंदुओं के कई सेट को y के लिए एक 2-D ऐरे पास करके एक कॉल में स्वतंत्र रूप से फिट किया जा सकता है जिसमें प्रति कॉलम एक डेटा सेट होता है।

पैरामीटर deg, फिटिंग बहुपदों की डिग्री है। यदि deg एक पूर्णांक है तो deg'वें पद तक के सभी पद फिट में शामिल होते हैं। पैरामीटर rcond, फिट की सापेक्ष स्थिति संख्या है। सबसे बड़े एकवचन मान के सापेक्ष rcond से छोटे एकवचन मानों को नजरअंदाज किया जाएगा। डिफ़ॉल्ट मान len(x)*eps है, जहां eps प्लेटफॉर्म के फ्लोट प्रकार की सापेक्ष सटीकता है, ज्यादातर मामलों में लगभग 2e-16। पैरामीटर full, वापसी मूल्य की प्रकृति निर्धारित करने वाला स्विच है। जब False (डिफ़ॉल्ट) तो केवल गुणांक लौटाए जाते हैं; जब True, तो एकवचन मान विघटन से नैदानिक जानकारी भी लौटाई जाती है।

पैरामीटर w, भार हैं। यदि None नहीं है, तो भार w[i] x[i] पर अनवर्ग अवशेष y[i] - y_hat[i] पर लागू होता है। आदर्श रूप से भार इस प्रकार चुने जाते हैं कि उत्पादों w[i]*y[i] की त्रुटियों का समान विचरण हो। व्युत्क्रम-विचरण भार का उपयोग करते समय, w[i] = 1/sigma(y[i]) का उपयोग करें। डिफ़ॉल्ट मान None है।

चरण

सबसे पहले, आवश्यक लाइब्रेरी आयात करें −

import numpy as np from numpy.polynomial import legendre as L

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)

लेगेंडर श्रृंखला का डेटा के लिए न्यूनतम वर्ग फिट प्राप्त करने के लिए, पायथन numpy में legendre.legfit() विधि का उपयोग करें। यह विधि निम्न से उच्च क्रम में लेगेंडर गुणांक लौटाती है। यदि y 2-D था, तो y के कॉलम k में डेटा के लिए गुणांक कॉलम k में होते हैं −

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

उदाहरण

import numpy as np from numpy.polynomial import legendre as L # 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 Legendre series to data, use the legendre.legfit() method in Python numpy c, stats = L.legfit(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... [-5.28795520e-02 -7.61252904e-03 7.35194215e-02 -1.33072588e-01 -1.21785636e+00 7.75679385e-02 6.55168668e-01 1.42872448e+00 8.42326214e-01 2.49667989e+00 9.58942508e-01 -2.67332869e-01 -7.85575928e-01 1.93333045e+00 7.32492468e-01 5.23576961e-01 -1.91529521e+00 -1.41434385e+00 4.44787373e-01 3.81831261e-01 3.74128321e-01 1.20562789e+00 1.44870029e+00 1.01091575e-03 8.94334713e-01 1.22342199e+00 9.52055370e-01 -7.29520012e-01 -2.42648820e-01 -9.78434555e-02 1.27468237e-01 9.39489448e-01 1.08795136e+00 2.31230197e+00 1.93107556e-02 -6.13335407e-01 1.93170835e-01 -8.77958854e-01 -3.59868085e-01 4.31331759e-01 7.24929856e-01 -2.22736540e-01 -1.29623093e+00 4.13226024e-01 7.82155644e-01 -1.56618537e-01 1.25043737e+00 6.32386988e-01 -2.75716271e-01 8.80669895e-02 -3.20225560e-01] Result... [ 0.29249467 -0.10521942 -0.24847572 0.2010877 ] Result... [array([39.35467561]), 4, array([1.0425003 , 1.02126704, 0.97827074, 0.95561139]), 1.1324274851176597e-14]
  1. - Python में 3D ऐरे का इनवर्स (प्रतिलोम) निकालें

    NumPy का numpy.linalg.tensorinv() फंक्शन N-डायमेंशनल ऐरे (टेंसर्स) का टेंसर इनवर्स निकालता है। यह सामान्य मैट्रिक्स इनवर्स का उच्च-आयामी सामान्यीकरण है। सिंटैक्स और पैरामीटर्स numpy.linalg.tensorinv(a, ind=2) a: इनपुट टेंसर (ऐरे)। इसका आकार वर्गाकार होना चाहिए: prod(a.shape[:ind]) == prod(a.sha

  1. - पायथन में टेंसरफ्लो का उपयोग करके डेटा को मॉडल में फिट कैसे करें?

    टेंसरफ्लो का उपयोग fit मेथड का उपयोग करके डेटा को मॉडल में फिट करने के लिए किया जा सकता है। और पढ़ें: टेंसरफ्लो क्या है और केरस टेंसरफ्लो के साथ न्यूरल नेटवर्क बनाने में कैसे काम करता है? एक न्यूरल नेटवर्क जिसमें कम से कम एक लेयर होती है, कन्वोल्यूशनल लेयर के रूप में जानी जाती है। हम कन्वोल्यूशनल

  1. - दिए गए सीरीज़ में सभी तत्वों को शफ़ल करने के लिए पायथन प्रोग्राम लिखें

    मान लीजिए आपके पास एक डेटाफ्रेम है और सीरीज़ में सभी डेटा को शफ़ल करने का परिणाम है: The original series is 0 1 1 2 2 3 3 4 4 5 dtype: int64 The shuffled series is: 0 2 1 1 2 3 3 5 4 4 dtype: int64 समाधान 1 एक सीरीज़ परिभाषित करें सीरीज़ डेटा को आर्गुमेंट के रूप में लेने वाली रैंडम शफ़ल विधि लागू