पायथन में एसएसटी, एसएसआर और एसएसई की गणना कैसे करें
हम अक्सर यह मापने के लिए वर्ग मानों के तीन अलग-अलग योगों का उपयोग करते हैं कि एक प्रतिगमन रेखा डेटा के एक सेट में कितनी अच्छी तरह फिट बैठती है:
1. कुल वर्गों का योग (एसएसटी) – व्यक्तिगत डेटा बिंदुओं (y i ) और प्रतिक्रिया चर के माध्य ( y ) के बीच अंतर के वर्गों का योग।
- एसएसटी = Σ(y i – y ) 2
2. वर्गों प्रतिगमन का योग (एसएसआर) – अनुमानित डेटा बिंदुओं (ŷ i ) और प्रतिक्रिया चर के माध्य ( y ) के बीच अंतर के वर्गों का योग।
- एसएसआर = Σ(ŷ i – y ) 2
3. वर्गों का योग त्रुटि (एसएसई) – अनुमानित डेटा बिंदुओं (ŷ i ) और देखे गए डेटा बिंदुओं (y i ) के बीच अंतर के वर्गों का योग।
- एसएसई = Σ(ŷ i – y i ) 2
निम्नलिखित चरण-दर-चरण उदाहरण दिखाता है कि पायथन में दिए गए प्रतिगमन मॉडल के लिए इनमें से प्रत्येक मीट्रिक की गणना कैसे करें।
चरण 1: डेटा बनाएं
सबसे पहले, आइए एक डेटासेट बनाएं जिसमें किसी दिए गए विश्वविद्यालय में 20 अलग-अलग छात्रों के लिए अध्ययन किए गए घंटों की संख्या और प्राप्त परीक्षा स्कोर शामिल हों:
import pandas as pd #create pandas DataFrame df = pd. DataFrame ({' hours ': [1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 6, 7, 7, 8], ' score ': [68, 76, 74, 80, 76, 78, 81, 84, 86, 83, 88, 85, 89, 94, 93, 94, 96, 89, 92, 97]}) #view first five rows of DataFrame df. head () hours score 0 1 68 1 1 76 2 1 74 3 2 80 4 2 76
चरण 2: एक प्रतिगमन मॉडल फिट करें
इसके बाद, हम प्रतिक्रिया चर के रूप में स्कोर और भविष्यवक्ता चर के रूप में घंटों का उपयोग करके एक सरल रैखिक प्रतिगमन मॉडल को फिट करने के लिए स्टेटमॉडल लाइब्रेरी से ओएलएस () फ़ंक्शन का उपयोग करेंगे:
import statsmodels. api as sm #define response variable y = df[' score '] #define predictor variable x = df[[' hours ']] #add constant to predictor variables x = sm. add_constant (x) #fit linear regression model model = sm. OLS (y,x). fit ()
चरण 3: एसएसटी, एसएसआर और एसएसई की गणना करें
अंत में, हम मॉडल के एसएसटी, एसएसआर और एसएसई मूल्यों की गणना करने के लिए निम्नलिखित सूत्रों का उपयोग कर सकते हैं:
import numpy as np #calculate sse = np. sum ((model. fitted values - df. score ) ** 2) print (sse) 331.07488479262696 #calculate ssr ssr = np. sum ((model. fitted values - df. score . mean ()) ** 2) print (ssr) 917.4751152073725 #calculate sst sst = ssr + sse print (sst) 1248.5499999999995
मेट्रिक्स इस प्रकार हैं:
- वर्गों का कुल योग (एसएसटी): 1248.55
- वर्ग प्रतिगमन का योग (एसएसआर): 917.4751
- वर्गों की त्रुटि का योग (एसएसई): 331.0749
हम सत्यापित कर सकते हैं कि SST = SSR + SSE:
- एसएसटी = एसएसआर + एसएसई
- 1248.55 = 917.4751 + 331.0749
अतिरिक्त संसाधन
आप किसी भी सरल रैखिक प्रतिगमन रेखा के लिए स्वचालित रूप से एसएसटी, एसएसआर और एसएसई की गणना करने के लिए निम्नलिखित कैलकुलेटर का उपयोग कर सकते हैं:
- एसएसटी कैलकुलेटर
- आरएसएस कैलकुलेटर
- ईएसएस कैलकुलेटर
निम्नलिखित ट्यूटोरियल बताते हैं कि अन्य सांख्यिकीय सॉफ़्टवेयर में एसएसटी, एसएसआर और एसएसई की गणना कैसे करें: