0% found this document useful (0 votes)
10 views1 page

Problem 2

This document contains a Python script that performs linear regression analysis using NumPy and Matplotlib. It defines functions to estimate regression coefficients and plot the regression line based on given data points. The main function demonstrates the process with sample data and allows user input for predictions.

Uploaded by

outstanding749
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views1 page

Problem 2

This document contains a Python script that performs linear regression analysis using NumPy and Matplotlib. It defines functions to estimate regression coefficients and plot the regression line based on given data points. The main function demonstrates the process with sample data and allows user input for predictions.

Uploaded by

outstanding749
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 1

import numpy as np

import matplotlib.pyplot as plt

def estimate_coef(x, y):


# number of observations/points
n = np.size(x)

# mean of x and y vector


m_x = np.mean(x)
m_y = np.mean(y)

# calculating cross-deviation and deviation about x


SS_xy = np.sum(y * x) - n * m_y * m_x
SS_xx = np.sum(x * x) - n * m_x * m_x

# calculating regression coefficients


b_1 = SS_xy / SS_xx
b_0 = m_y - b_1 * m_x

return (b_0, b_1)

def plot_regression_line(x, y, b):


# plotting the actual points as scatter plot
plt.scatter(x, y, color="m",
marker="o", s=30)

# predicted response vector


y_pred = b[0] + b[1] * x

# plotting the regression line


plt.plot(x, y_pred, color="g")

# putting labels
plt.xlabel('x')
plt.ylabel('y')

# function to show plot


plt.show()

def main():
# observations / data
x = np.array([1, 2, 3, 4, 5])
y = np.array([1.2, 1.8, 2.6, 3.2, 3.8])

# estimating coefficients
b = estimate_coef(x, y)
print("Estimated coefficients:\nb_0 = {} nb_1 = {}".format(b[0], b[1]))
n = float(input("Input Week Number"))
pr: float = b[0] + b[1] * n
print("sale in Week",n, "will be", pr)
# plotting regression line
plot_regression_line(x, y, b)

if __name__ == "__main__":
main()

You might also like