Code Explanation:
Import Libraries
import statsmodels.api as sm
import numpy as np
statsmodels.api → For statistical modeling (OLS regression, t-tests, etc.).
numpy → Provides numerical operations, arrays, etc.
Both are required to prepare data and fit the regression.
Create Feature (Independent Variable) with Intercept
X = sm.add_constant([1, 2, 3, 4, 5])
[1, 2, 3, 4, 5] → independent variable x.
sm.add_constant() → Adds a column of ones to account for the intercept in the regression.
After this line, X looks like:
[[1. 1.]
[1. 2.]
[1. 3.]
[1. 4.]
[1. 5.]]
First column = intercept
Second column = actual x values
Define Dependent Variable (y)
y = [2, 4, 5, 4, 5]
These are the target values we want to predict using x.
Notice: The data is not perfectly linear — the y-values fluctuate a little. This is why the slope is not exactly 1 or 0.8.
Fit the OLS Regression Model
model = sm.OLS(y, X).fit()
sm.OLS(y, X) → Creates an Ordinary Least Squares (OLS) regression model.
.fit() → Finds the best-fit line that minimizes the sum of squared errors between predicted and actual y-values.
The model will estimate:
y=intercept+(slope×x)
Access and Round the Slope Coefficient
print(round(model.params[1], 2))
model.params → Array of coefficients: [intercept, slope]
params[1] → Slope of x
round(..., 2) → Rounds slope to 2 decimal places
Output
0.6


0 Comments:
Post a Comment