使用 SciPy 提供的普通最小二乘法分别计算 3 个特征与目标之间的一元线性回归模型拟合参数。

加载数据集
import pandas as pd

data = pd.read_csv(

‘http://labfile.oss.aliyuncs.com/courses/1211/Advertising.csv’, index_col=0)

data.head()

数据集包含 4 列,共 200 行。每个样本代表某超市销售相应单位件商品所需要支出的广告费用。以第一行为例,表示该超市平均销售 22.1 件商品,需要支出的电视广告费用,广播广告费用以及报刊广告费用为:230.1 美元,37.8 美元和 69.2 美元。将前 3 列视作特征,最后一列视作目标值。

计算拟合参数

import numpy as np

from scipy.optimize import leastsq

### 代码开始 ### (≈ 10 行代码)

m=2

def func(w, x):

return w[0]+w[1]*x

def err_func(w, x, y):

return y-func(w, x)

params_tv = leastsq(err_func,[1, 1], args=(data[‘tv’], data[‘sales’]))

params_radio = leastsq(err_func,[1, 1], args=(data[‘radio’], data[‘sales’]))

params_newspaper = leastsq(err_func,[1, 1], args=(data[‘newspaper’], data[‘sales’]))

### 代码结束 ###

输出:

(array([7.03259358, 0.04753664]), array([9.3116381 ,

0.20249578]), array([12.35140707, 0.0546931 ]))

拟合结果绘图

from matplotlib import pyplot as plt

%matplotlib inline

### 代码开始 ### (≈ 10 行代码)

fig, axes=plt.subplots(1, 3, figsize=(20,5))

axes[0].scatter(data[‘tv’], data[‘sales’])

axes[0].plot(data[‘tv’], func(params_tv[0], data[‘tv’]), color=’red’)

axes[0].set_xlabel(‘tv’)

axes[0].set_ylabel(‘sales’)

axes[1].scatter(data[‘radio’], data[‘sales’])

axes[1].plot(data[‘radio’], func(params_radio[0], data[‘radio’]), color=’red’)

axes[1].set_xlabel(‘radio’)

axes[1].set_ylabel(‘sales’)

axes[2].scatter(data[‘newspaper’], data[‘sales’])

axes[2].plot(data[‘newspaper’], func(params_newspaper[0], data[‘newspaper’]), color=’red’)

axes[2].set_xlabel(‘newspaper’)

axes[2].set_ylabel(‘sales’)

### 代码结束 ###

(1)请给出拟合结果绘图(10分)

多元线性回归模型

使用 scikit-learn 提供的线性回归方法建立由 3 个特征与目标组成的多元线性回归模型。

计算拟合参数

from sklearn.linear_model import LinearRegression

### 代码开始 ### (≈ 4 行代码)

model = LinearRegression()

model.fit(data[[‘tv’, ‘radio’, ‘newspaper’]], data[‘sales’])

### 代码结束 ###

model.coef_, model.intercept_ # 返回模型自变量系数和截距项

输出: (array([ 0.04576465, 0.18853002, -0.00103749]),

2.9388893694594103)

模型检验

使用 statsmodels 库提供的相关方法来完成上面多元回归模型的拟合优度检验和变量显著性检验。

import statsmodels.api as sm

x=sm.add_constant(data[[‘tv’, ‘radio’, ‘newspaper’]])

model=sm.OLS(endog=data[‘sales’], exog=x)

results=model.fit()

### 代码结束 ###

results.summary2() # 输出模型摘要

(2)给出模型输出结果(10分)

(3)对上述实验结果进行分析(10分)

内容查看
查看价格2
客服QQ:1668639739
点点赞赏,手留余香 给TA打赏

评论0

请先
  • 游客 下载了资源 2015年甘肃公务员考试《申论》卷及参考答案
  • u******* 下载了资源 2026年春江苏开放大学大学英语(B)(2)060052过程性考核作业4(综合性大作业)答案
  • u******* 签到打卡,获得1元奖励
  • 1******* 投稿收入增加1块钱
  • 游客 购买了资源 某企业月初在产品300件, 直接材料定额成本按上月旧定额计算为每件50元,从本月起,每件直接材料定额成本降低为45元,本月投产600件,实际发生直接材料费用31000元,900件产品本月全部完工。
  • 游客 购买了资源 某企业A产品采用定额法计算成本。A产品有关直接材料费用资料如下:月初在产品直接材料费用为40000 元, 月初在产品直接材料脱离定额差异为-1200元。月初在产品定额费用调整降低3000 元,定额变动差异全部计入完工产品成本中。本月定额直接材料费用为100000 元, 本月直接材料脱离定额差异为+4994.9元,本月材料成本差异率为 5% 材料成本差异全部由完工产品负担,本月完工产品直接材料定额费用为120000元。
  • 1******* 投稿收入增加1块钱
  • u******* 登录了本站
  • u******* 下载了资源 2026年春江苏开放大学中国近现代史纲要060110过程性考核作业三(实践作业)
  • u******* 下载了资源 2025年秋江苏开放大学儿童文学060527形考作业3(实践):请选择“诚实守信”或“勇敢善良”为主题,自主选择相应儿童文学作品
  • u******* 下载了资源 2026年春江苏开放大学科学思维方法论060053小论文
  • u******* 登录了本站
  • u******* 下载了资源 2026年春江苏开放大学江苏红色文化060703综合大作业
  • u******* 下载了资源 2026年春江苏开放大学儿童发展060519【实践项目2】幼儿园活动区域创设与儿童认知发展分析报告
  • 1******* 投稿收入增加5块钱
  • 游客 购买了资源 2025年秋江苏开放大学国际财务管理060038计分作业5:平时作业二
点击浏览器地址栏的⭐图标收藏本页
需要托管,代写作业,论文扫码加微信
显示验证码

社交账号快速登录

微信扫一扫关注
扫码关注后会自动登录