- 🐍 Python
- 📘 R
- 📊 GRETL
- 📑 Excel
- 📦 ...and more
This repository contains Python code examples for applying econometric methods. Currently, it focuses on the Ordinary Least Squares (OLS) method for linear regression using the Statsmodels library.
import numpy as np
import statsmodels.api as sm- 🔢 numpy is used for numerical operations.
- 📊 statsmodels is a library for estimating and testing statistical models.
np.random.seed(42)
x = np.random.rand(100, 1) # Independent variable
y = 2 * x + 1 + 0.1 * np.random.randn(100, 1) # Dependent variable with noise- 🎯 numpy.random.seed(42) sets the random seed for reproducibility.
- ➡️ x is a 1-dimensional array with 100 random values between 0 and 1.
- 📈 y is the dependent variable with a linear relationship to x and added random noise.
Copy codeX = sm.add_constant(x)- ⚡ sm.add_constant(x) adds a constant term (intercept) to the independent variable matrix. This is necessary for the OLS model to estimate the intercept.
model = sm.OLS(y, X).fit()- 📊 sm.OLS(y, X).fit() fits the OLS model to the data.
print(model.summary())- 📝 model.summary() prints a summary of the OLS regression results, including:
- ✅ coefficients
- 📏 standard errors
- 📊 t-values
- 🧪 p-values
- 🔍 R-squared
- ⏳ Implement other econometric methods (e.g., Time Series Analysis, Panel Data Analysis).
- 📉 Develop visualizations for better understanding and interpretation.
- 📚 Provide more detailed explanations and tutorials for each method.
- 🌍 Incorporate real-world datasets for practical applications.
- 🙌 Feel free to contribute, suggest improvements, or open issues for discussions!
- ✅ Feel free to adjust the content based on your project's specific goals.
set.seed(42): Sets the random seed for reproducibility.
x <- runif(100): Generates a vector with 100 random values between 0 and 1.
y <- 2 * x + 1 + 0.1 * rnorm(100): Creates the dependent variable with a linear relationship to x and adds some random noise.X <- cbind(1, x): Adds a constant term (intercept) to the independent variable matrix. This is necessary for the OLS model to estimate the intercept.model <- lm(y ~ X): Fits the OLS model to the data.summary(model): Prints a summary of the OLS regression results, including coefficients, standard errors, t-values, p-values, and R-squared.