हम आँकड़ों के मॉडल रैखिक प्रतिगमन (OLS) को एक गैर-रेखीय वक्र के साथ लेकिन रैखिक डेटा के साथ प्लॉट कर सकते हैं।
कदम
-
फिगर साइज सेट करें और सबप्लॉट्स के बीच और आसपास पैडिंग को एडजस्ट करें।
-
एक नया बनाने के लिए, हम बीज () . का उपयोग कर सकते हैं विधि।
-
नमूना और सिग्मा चरों की संख्या प्रारंभ करें।
-
रैखिक डेटा बिंदु बनाएं x, X, बीटा, t_true , y और res सुन्न का उपयोग करना।
-
Res एक साधारण कम वर्ग वर्ग उदाहरण है।
-
मानक विचलन की गणना करें। भविष्यवाणी के लिए कॉन्फिडेंस इंटरवल WLS और OLS पर लागू होता है, सामान्य GLS पर नहीं, यानी स्वतंत्र रूप से लेकिन समान रूप से वितरित टिप्पणियों पर नहीं।
-
subplot() . का उपयोग करके एक आकृति और सबप्लॉट का एक सेट बनाएं विधि।
-
प्लॉट () . का उपयोग करके सभी वक्रों को प्लॉट करें (x, y), (x, y_true), (x, res.fittedvalues), (x, iv_u) के साथ विधि और (x, iv_l) डेटा बिंदु।
-
कथा को कथानक पर रखें।
-
आकृति प्रदर्शित करने के लिए, दिखाएँ () . का उपयोग करें विधि।
उदाहरण
import numpy as np from matplotlib import pyplot as plt from statsmodels import api as sm from statsmodels.sandbox.regression.predstd import wls_prediction_std plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True np.random.seed(9876789) nsample = 50 sig = 0.5 x = np.linspace(0, 20, nsample) X = np.column_stack((x, np.sin(x), (x - 5) ** 2, np.ones(nsample))) beta = [0.5, 0.5, -0.02, 5.] y_true = np.dot(X, beta) y = y_true + sig * np.random.normal(size=nsample) res = sm.OLS(y, X).fit() prstd, iv_l, iv_u = wls_prediction_std(res) fig, ax = plt.subplots() ax.plot(x, y, 'o', label="data") ax.plot(x, y_true, 'b-', label="True") ax.plot(x, res.fittedvalues, 'r--.', label="OLS") ax.plot(x, iv_u, 'r--') ax.plot(x, iv_l, 'r--') ax.legend(loc='best') plt.show()
आउटपुट