Statsmodels का परिचय
Statsmodels एक शक्तिशाली Python लाइब्रेरी है, जो सांख्यिकीय डेटा विश्लेषण के लिए डिज़ाइन की गई है। यह रिग्रेशन मॉडल बनाने, पैरामीटर अनुमान लगाने, सांख्यिकीय परिकल्पनाओं की जाँच करने और टाइम सीरीज विश्लेषण के लिए उपकरण प्रदान करती है। Statsmodel का उपयोग अर्थमिति, बायोस्टैटिस्टिक्स और सामाजिक विज्ञानों में व्यापक रूप से किया जाता है, जो परिणामों की गहन सांख्यिकीय व्याख्या सुनिश्चित करता है।
Statsmodels लाइब्रेरी की प्रमुख क्षमताएँ
रिग्रेशन विश्लेषण
Statsmodels रिग्रेशन विश्लेषण के लिए व्यापक सुविधाएँ प्रदान करता है, जिसमें सामान्य न्यूनतम वर्ग (OLS), सामान्यीकृत रैखिक मॉडल (GLM), रोबस्ट रिग्रेशन और पैनल डेटा मॉडल शामिल हैं। यह लाइब्रेरी पैरामीट्रिक और नॉन-पैरामीट्रिक दोनों अनुमान विधियों का समर्थन करती है।
टाइम सीरीज विश्लेषण
टाइम सीरीज मॉड्यूल में ARIMA, SARIMA, एक्सपोनेंशियल स्मूथिंग, वेक्टर ऑटोरिग्रेशन (VAR) और कई अन्य मॉडल शामिल हैं। स्थिरता जाँच, श्रृंखला अपघटन और पूर्वानुमान के लिए फ़ंक्शन उपलब्ध हैं।
सांख्यिकीय परिकल्पना परीक्षण
लाइब्रेरी में सांख्यिकीय परीक्षणों का एक विस्तृत सेट शामिल है: t-टेस्ट, F-टेस्ट, सामान्यता परीक्षण, विचरण समानता परीक्षण, ऑटोकोरिलेशन परीक्षण और कई अन्य।
विचरण विश्लेषण (ANOVA)
एक-कारक और बहु-कारक ANOVA मॉडल, ANCOVA, दोहराए गए माप और मिश्रित प्रभाव मॉडल समर्थित हैं।
नॉन-पैरामीट्रिक विधियाँ
कर्नेल घनत्व अनुमान, नॉन-पैरामीट्रिक रिग्रेशन और रैंक-आधारित परीक्षण शामिल हैं।
Statsmodels की स्थापना और कनेक्शन
लाइब्रेरी स्थापित करना
लाइब्रेरी को मानक कमांड से स्थापित किया जाता है:
pip install statsmodels
अतिरिक्त सुविधाओं के लिए पूर्ण निर्भरताओं के साथ स्थापित करें:
pip install statsmodels[complete]
आवश्यक घटकों को आयात करना
import statsmodels.api as sm
import statsmodels.formula.api as smf
import statsmodels.tsa.api as tsa
import statsmodels.stats.api as sms
लाइब्रेरी की संरचना और मुख्य मॉड्यूल
मुख्य API इंटरफ़ेस
statsmodels.api — डेटा मैट्रिक्स के सीधे निर्देश के साथ क्लासिक इंटरफ़ेस
statsmodels.formula.api — R के समान फ़ॉर्मूला-आधारित इंटरफ़ेस
statsmodels.tsa — टाइम सीरीज विश्लेषण के लिए मॉड्यूल
statsmodels.stats — सांख्यिकीय परीक्षण और निदान
statsmodels.graphics — परिणामों का विज़ुअलाइज़ेशन
डेटा के साथ काम करना और तैयारी
Statsmodels pandas.DataFrame के साथ बेहतर काम करता है:
import pandas as pd
import numpy as np
# डेटा लोड करना
data = pd.read_csv("dataset.csv")
# लापता मानों की जाँच
print(data.isnull().sum())
# बुनियादी आँकड़े
print(data.describe())
लीनियर रिग्रेशन (OLS)
क्लासिक इंटरफ़ेस
import statsmodels.api as sm
# डेटा तैयार करना
X = data[["x1", "x2", "x3"]]
X = sm.add_constant(X) # कॉन्स्टेंट जोड़ना
y = data["y"]
# मॉडल बनाना
model = sm.OLS(y, X).fit()
print(model.summary())
# गुणांक निकालना
print("गुणांक:", model.params)
print("P-मान:", model.pvalues)
print("R-वर्ग:", model.rsquared)
फ़ॉर्मूला इंटरफ़ेस
import statsmodels.formula.api as smf
# फ़ॉर्मूले का उपयोग
model = smf.ols("y ~ x1 + x2 + x3", data=data).fit()
print(model.summary())
# चरों का परस्पर प्रभाव
model_interaction = smf.ols("y ~ x1 * x2 + x3", data=data).fit()
# श्रेणीबद्ध चर
model_cat = smf.ols("y ~ C(category) + x1", data=data).fit()