Question
In your initial post, address the following items: Check to be sure your scatterplots of miles per gallon against horsepower and weight of the car
In your initial post, address the following items:
- Check to be sure your scatterplots of miles per gallon against horsepower and weight of the car were included in your attachment. Do the plots show any trend? If yes, is the trend what you expected? Why or why not? See Steps 2 and 3 in the Python script.
- What are the coefficients of correlation between miles per gallon and horsepower? Between miles per gallon and the weight of the car? What are the directions and strengths of these coefficients? Do the coefficients of correlation indicate a strong correlation, weak correlation, or no correlation between these variables? See Step 4 in the Python script.
- Write the multiple regression equation for miles per gallon as the response variable. Use weight and horsepower as predictor variables. See Step 5 in the Python script. How might the car rental company use this model?
Step 1: Generating cars dataset
This block of Python code will generate the sample data for you. You will not be generating the data set using numpy module this week. Instead, the data set will be imported from a CSV file. To make the data unique to you, a random sample of size 30, without replacement, will be drawn from the data in the CSV file. The data set will be saved in a Python dataframe that will be used in later calculations.
Click the block of code below and hit theRunbutton above.
In[1]:
import pandas as pd
from IPython.display import display, HTML
?
# read data from mtcars.csv data set.
cars_df_orig = pd.read_csv("https://s3-us-west-2.amazonaws.com/data-analytics.zybooks.com/mtcars.csv")
?
# randomly pick 30 observations from the data set to make the data set unique to you.
cars_df = cars_df_orig.sample(n=30, replace=False)
?
# print only the first five observations in the dataset.
print("Cars data frame (showing only the first five observations) ")
display(HTML(cars_df.head().to_html()))
Cars data frame (showing only the first five observations)
Unnamed: 0
mpg
cyl
disp
hp
drat
wt
qsec
vs
am
gear
carb
24
Pontiac Firebird
19.2
8
400.0
175
3.08
3.845
17.05
0
0
3
2
7
Merc 240D
24.4
4
146.7
62
3.69
3.190
20.00
1
0
4
2
27
Lotus Europa
30.4
4
95.1
113
3.77
1.513
16.90
1
1
5
2
9
Merc 280
19.2
6
167.6
123
3.92
3.440
18.30
1
0
4
4
25
Fiat X1-9
27.3
4
79.0
66
4.08
1.935
18.90
1
1
4
1
Step 2: Scatterplot of miles per gallon against weight
The block of code below will develop a scatterplot of the variables "miles per gallon" (coded as mpg in the data set) and "weight" of the car (coded as wt).
Click the block of code below and hit theRunbutton above.
NOTE: If the plot is not created, click the code section and hit theRunbutton again.
In[3]:
import matplotlib.pyplot as plt
?
# create scatterplot of variables mpg against wt.
plt.plot(cars_df["wt"], cars_df["mpg"], 'o', color='red')
?
# set a title for the plot, x-axis, and y-axis.
plt.title('MPG against Weight')
plt.xlabel('Weight (1000s lbs)')
plt.ylabel('MPG')
?
# show the plot.
plt.show()
Step 3: Scatterplot of miles per gallon against horsepower
The block of code below will develop a scatterplot of the variables "miles per gallon" (coded as mpg in the data set) and "horsepower" of the car (coded as hp).
Click the block of code below and hit theRunbutton above.
NOTE: If the plot is not created, click the code section and hit theRunbutton again.
In[4]:
import matplotlib.pyplot as plt
?
# create scatterplot of variables mpg against hp.
plt.plot(cars_df["hp"], cars_df["mpg"], 'o', color='blue')
?
# set a title for the plot, x-axis, and y-axis.
plt.title('MPG against Horsepower')
plt.xlabel('Horsepower')
plt.ylabel('MPG')
?
# show the plot.
plt.show()
Step 4: Correlation matrix for miles per gallon, weight and horsepower
Now you will calculate the correlation coefficient between the variables "miles per gallon" and "weight". You will also calculate the correlation coefficient between the variables "miles per gallon" and "horsepower". Thecorrmethod of a dataframe returns the correlation matrix with the correlation coefficients between all variables in the dataframe. You will specify to only return the matrix for the three variables.
Click the block of code below and hit theRunbutton above.
In[5]:
# create correlation matrix for mpg, wt, and hp.
# The correlation coefficient between mpg and wt is contained in the cell for mpg row and wt column (or wt row and mpg column).
# The correlation coefficient between mpg and hp is contained in the cell for mpg row and hp column (or hp row and mpg column).
mpg_wt_corr = cars_df[['mpg','wt','hp']].corr()
print(mpg_wt_corr)
mpgwthp
mpg1.000000 -0.875322 -0.778370
wt-0.8753221.0000000.692993
hp-0.7783700.6929931.000000
Step 5: Multiple regression model to predict miles per gallon using weight and horsepower
This block of code produces a multiple regression model with "miles per gallon" as the response variable, and "weight" and "horsepower" as predictor variables. Theolsmethod in statsmodels.formula.api submodule returns all statistics for this multiple regression model.
Click the block of code below and hit theRunbutton above.
In[6]:
from statsmodels.formula.api import ols
?
# create the multiple regression model with mpg as the response variable; weight and horsepower as predictor variables.
model = ols('mpg ~ wt+hp', data=cars_df).fit()
print(model.summary())
OLS Regression Results
==============================================================================
Dep. Variable:mpgR-squared:0.823
Model:OLSAdj. R-squared:0.810
Method:Least SquaresF-statistic:62.75
Date:Tue, 08 Jun 2021Prob (F-statistic):7.06e-11
Time:17:48:34Log-Likelihood:-70.363
No. Observations:30AIC:146.7
Df Residuals:27BIC:150.9
Df Model:2
Covariance Type:nonrobust
==============================================================================
coefstd errtP>|t|[0.0250.975]
------------------------------------------------------------------------------
Intercept37.21511.64722.5950.00033.83640.595
wt-3.92200.682-5.7540.000-5.321-2.523
hp-0.03010.010-2.9420.007-0.051-0.009
==============================================================================
Omnibus:4.248Durbin-Watson:2.211
Prob(Omnibus):0.120Jarque-Bera (JB):3.137
Skew:0.787Prob(JB):0.208
Kurtosis:3.183Cond. No.554.
==============================================================================
Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started