5 Variable Regression Model Latest Jupyter Notebook

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

4/28/24, 10:30 PM 5 variable regression Model - Jupyter Notebook

localhost:8888/notebooks/5 variable regression Model.ipynb 1/4


4/28/24, 10:30 PM 5 variable regression Model - Jupyter Notebook

In [1]: import numpy as np


import statsmodels.api as sm

# Function to get user-defined inputs
def get_user_inputs():
num_samples = int(input("Enter the number of samples: "))

X = np.zeros((num_samples, 5))
for i in range(num_samples):
print(f"Enter values for sample {i+1}:")
for j in range(5):
X[i, j] = float(input(f"Enter value for independent variable {j+1}: "))

y = np.zeros(num_samples)
print("Enter corresponding dependent variable values:")
for i in range(num_samples):
y[i] = float(input(f"Enter value for dependent variable for sample {i+1}: "))

return X, y

# Get user inputs
X, y = get_user_inputs()

# Add a constant to the independent variables (for intercept term)
X = sm.add_constant(X)

# Fit the multivariate linear regression model
model = sm.OLS(y, X).fit()

# Print the summary of the regression model
print(model.summary())

# Print the final regression equation
coefficients = model.params
equation = "y = "
for i, coeff in enumerate(coefficients):
if i == 0:
equation += f"{coeff:.2f} + "
else:
equation += f"{coeff:.2f} * x{i} + "
equation = equation[:-2] # Remove the trailing ' + '
print("Final Regression Equation:")
print(equation)

localhost:8888/notebooks/5 variable regression Model.ipynb 2/4


4/28/24, 10:30 PM 5 variable regression Model - Jupyter Notebook

Enter the number of samples: 5


Enter values for sample 1:
Enter value for independent variable 1: 4.2
Enter value for independent variable 2: 5.7
Enter value for independent variable 3: 3.8
Enter value for independent variable 4: 4.1
Enter value for independent variable 5: 5.4
Enter values for sample 2:
Enter value for independent variable 1: 3.5
Enter value for independent variable 2: 4.3
Enter value for independent variable 3: 2.5
Enter value for independent variable 4: 3.3
Enter value for independent variable 5: 4.1
Enter values for sample 3:
Enter value for independent variable 1: 5.1
Enter value for independent variable 2: 3.9
Enter value for independent variable 3: 4.7
Enter value for independent variable 4: 5.5
Enter value for independent variable 5: 3.6
Enter values for sample 4:
Enter value for independent variable 1: 4.8
Enter value for independent variable 2: 5.2
Enter value for independent variable 3: 3.2
Enter value for independent variable 4: 4.4
Enter value for independent variable 5: 5.3
Enter values for sample 5:
Enter value for independent variable 1: 2.3
Enter value for independent variable 2: 4.6
Enter value for independent variable 3: 5.4
Enter value for independent variable 4: 2.8
Enter value for independent variable 5: 4.7
Enter corresponding dependent variable values:
Enter value for dependent variable for sample 1: 3.7
Enter value for dependent variable for sample 2: 4.1
Enter value for dependent variable for sample 3: 3.9
Enter value for dependent variable for sample 4: 3.6
Enter value for dependent variable for sample 5: 4.5
OLS Regression Results
==============================================================================
Dep. Variable: y R-squared: 1.000
Model: OLS Adj. R-squared: nan
Method: Least Squares F-statistic: 0.000
Date: Sun, 28 Apr 2024 Prob (F-statistic): nan
Time: 22:20:39 Log-Likelihood: 156.20
No. Observations: 5 AIC: -302.4
Df Residuals: 0 BIC: -304.4
Df Model: 4
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
const 5.7664 inf 0 nan nan nan
x1 -0.2814 inf -0 nan nan nan
x2 -0.1774 inf -0 nan nan nan
x3 0.0503 inf 0 nan nan nan
x4 0.0243 inf 0 nan nan nan
x5 -0.0303 inf -0 nan nan nan
==============================================================================
Omnibus: nan Durbin-Watson: 1.603
Prob(Omnibus): nan Jarque-Bera (JB): 0.675
Skew: 0.618 Prob(JB): 0.713
Kurtosis: 1.691 Cond. No. 107.
==============================================================================

Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The input rank is higher than the number of observations.
Final Regression Equation:
y = 5.77 + -0.28 * x1 + -0.18 * x2 + 0.05 * x3 + 0.02 * x4 + -0.03 * x5

localhost:8888/notebooks/5 variable regression Model.ipynb 3/4


4/28/24, 10:30 PM 5 variable regression Model - Jupyter Notebook

C:\Users\Akshay\Anaconda3\lib\site-packages\statsmodels\stats\stattools.py:71: ValueWarning: omni_normtest is


not valid with less than 8 observations; 5 samples were given.
"samples were given." % int(n), ValueWarning)
C:\Users\Akshay\Anaconda3\lib\site-packages\statsmodels\regression\linear_model.py:1648: RuntimeWarning: divid
e by zero encountered in true_divide
return 1 - (np.divide(self.nobs - self.k_constant, self.df_resid)
C:\Users\Akshay\Anaconda3\lib\site-packages\statsmodels\regression\linear_model.py:1649: RuntimeWarning: inval
id value encountered in double_scalars
* (1 - self.rsquared))
C:\Users\Akshay\Anaconda3\lib\site-packages\statsmodels\regression\linear_model.py:1665: RuntimeWarning: divid
e by zero encountered in double_scalars
return self.ssr/self.df_resid
C:\Users\Akshay\Anaconda3\lib\site-packages\statsmodels\regression\linear_model.py:1578: RuntimeWarning: divid
e by zero encountered in double_scalars
return np.dot(wresid, wresid) / self.df_resid

In [ ]: ​

localhost:8888/notebooks/5 variable regression Model.ipynb 4/4

You might also like