0% found this document useful (0 votes)
3 views

Problem1

The document contains a Python script that estimates the coefficients of a linear regression model using given data points. It defines functions to calculate the coefficients and plot the regression line alongside the actual data points. The main function executes the process with a sample dataset and displays the estimated coefficients and the plot.

Uploaded by

outstanding749
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Problem1

The document contains a Python script that estimates the coefficients of a linear regression model using given data points. It defines functions to calculate the coefficients and plot the regression line alongside the actual data points. The main function executes the process with a sample dataset and displays the estimated coefficients and the plot.

Uploaded by

outstanding749
Copyright
© © All Rights Reserved
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, 3, 4, 6, 8, 9, 11, 14])
y = np.array([1, 2, 4, 4, 5, 7, 8, 9])

# estimating coefficients
b = estimate_coef(x, y)
print("Estimated coefficients:\nb_0 = {} \
\nb_1 = {}".format(b[0], b[1]))

# plotting regression line


plot_regression_line(x, y, b)

if __name__ == "__main__":
main()

You might also like