概率统计与随机过程--作业5
一、推导题

二、计算题
1、某单位为了研究太阳镜销售和广告费用之间的关系,搜集了以下数据,使用回归分析方法得到线性回归模型:![]()
| 广告费用(万元)x | 2 | 5 | 6 | 7 | 22 | 25 | 28 | 30 | 22 | 18 |
| 销售量(个) y | 75 | 90 | 148 | 183 | 242 | 263 | 278 | 318 | 256 | 200 |

解:
(1)绘制的散点图和回归线如下图所示:



import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号#数据
data=np.array([[2,5,6,7,22,25,28,30,22,18],[75, 90,148,183,242,263,278,318,256,200]])x=data[0]
y=data[1]
plt.scatter(x, y, c='r',marker='o',label='销售量') #散点图
linreg = LinearRegression()#线性回归
linreg.fit(x.reshape(-1,1),y) #拟合,x要转换为列向量
y_pre=linreg.predict(x.reshape(-1,1))
plt.plot(x,y_pre,c='b') #回归线
s='y='
for i in range(len(linreg.coef_)):if(linreg.coef_[i]>=0 and i>0):s=s+'+'+str(round(linreg.coef_[i],3))+'x'+str(i)else:s=s+str(round(linreg.coef_[i],3))+'x'+str(i)
if(linreg.intercept_>=0):s=s+'+'+str(round(linreg.intercept_,3))
else:s=s+str(round(linreg.intercept_,3))
plt.title('太阳镜销售和广告费用之间的关系')
plt.xlabel('x-广告费用(万元)')
plt.ylabel('y-销售量(个)')
plt.legend()
plt.show()
a_i=linreg.intercept_ # a 的估计值
b_i=linreg.coef_[0] # a 的估计值
print("线性回归方程为:",s)# 计算统计量
Sxx=0
Syy=0
Sxy=0
SSe=Qe=0n=data.shape[1]
x_=x.mean()
y_=y.mean()
for i in range(n):t=(x[i]-x_)**2Sxx=Sxx+tt=(y[i]-y_)**2Syy=Syy+tt=(y[i]-y_)*(x[i]-x_)Sxy=Sxy+tt=(y[i]-y_pre[i])**2SSe=SSe+t
# b的估计值 b_i=Sxy/Sxx
Qe=Syy-b_i*Sxy # Qe==SSe
sigma_i= np.sqrt(Qe/(n-2)) #sigma 的估计值
print("主要统计参数:Sxx={:.3f},Syy={:.3f},Sxy={:.3f},SSe=Qe={:.3f},Sigma={:.3f}".format(Sxx,Syy,Sxy,SSe,sigma_i))
sigma_i= np.sqrt(Qe/(n-2)) #sigma 的估计值
x_i=35 #输入的x值
y_i=b_i*x_i+a_i #相应的预测值
t_c=2.306 # t_a/2的临界值,a=0.05
interval=np.sqrt((1+1/n+(x_i-x_)**2/Sxx)*sigma**2)*t_c
print("对应x={:.3f}的Y的预测值为{:.3f},置信度为95%的预测区间为:({:.3f},{:.3f})".format(x_i,y_i,y_i-interval,y_i+interval))
2. 对鲍鱼数据集(abalone.txt)进行向前逐步回归,将“Length”列值全设置为1,给出优化后属性列表(参加ppt中【例5-9】,【例5-10】及相关代码)。
答案: final formula is Age~Rings+Viscera+Height+Shucked+Shell+Whole
import numpy as np
import pandas as pd
import statsmodels.api as sm #最小二乘
from statsmodels.formula.api import ols #加载ols模型
# 数据准备
#读取鲍鱼数据集
aba = pd.read_table('abalone.txt',sep=',', names=['Length', 'Diam', 'Height', 'Whole' ,'Shucked', 'Viscera', 'Shell', 'Rings','Age'
],header = None)#该数据集源于UCI,记录了鲍⻥的⽣物属性,⽬标字段是该⽣物的年龄
print(aba.shape)
aba.iloc[:, 0] = 1 # 把类型列置1
print(aba.head())print(aba.shape) #查看数据集大小
print(aba.head(5)) #查看前10行数据
print(aba.columns)#定义向前逐步回归函数
def forward_select(data,target):variate=set(data.columns) #将字段名转换成字典类型variate.remove(target) #去掉因变量的字段名selected=[]current_score,best_new_score=float('inf'),float('inf') #目前的分数和最好分数初始值都为无穷大(因为AIC越小越好)#循环筛选变量while variate:aic_with_variate=[]for candidate in variate: #逐个遍历自变量formula="{}~{}".format(target,"+".join(selected+[candidate])) #将自变量名连接起来aic=ols(formula=formula,data=data).fit().aic #利用ols训练模型得出aic值aic_with_variate.append((aic,candidate)) #将第每一次的aic值放进空列表aic_with_variate.sort(reverse=True) #降序排序aic值best_new_score,best_candidate=aic_with_variate.pop() #最好的aic值等于删除列表的最后一个值,以及最好的自变量等于列表最后一个自变量if current_score>best_new_score: #如果目前的aic值大于最好的aic值variate.remove(best_candidate) #移除加进来的变量名,即第二次循环时,不考虑此自变量了selected.append(best_candidate) #将此自变量作为加进模型中的自变量current_score=best_new_score #最新的分数等于最好的分数print("aic is {},continuing!".format(current_score)) #输出最小的aic值else:print("for selection over!")breakformula="{}~{}".format(target,"+".join(selected)) #最终的模型式子print("final formula is {}".format(formula))model=ols(formula=formula,data=data).fit()return(model)
# 对数据进行前向逐步回归
forward_select(data=aba,target="Age")
相关文章:
概率统计与随机过程--作业5
一、推导题 二、计算题 1、某单位为了研究太阳镜销售和广告费用之间的关系,搜集了以下数据,使用回归分析方法得到线性回归模型: 广告费用(万元)x 2 5 6 7 22 25 28 30 22 18 销售量(个…...
“802.11g”,“802.11n”,“802.11ac”,“802.11ax”
802.11g、802.11n、802.11ac、802.11ax都是IEEE制定的无线局域网(WLAN)标准,它们各自具有不同的特点和性能。以下是对这四个标准的详细介绍: 1. 802.11g 定义:802.11g是IEEE制定的一种无线局域网标准,它提…...
Kubernetes 常用的网络插件
上篇内容跟大家简单聊了k8s网络模型原理。分别围绕着容器、Pod、Service、网络策略等展开了详细的讲解。这次想跟大家聊聊k8s的CNI网络插件。 CNI 是 Kubernetes 网络模型的核心组件,它是一个插件接口,允许用户选择和配置网络插件来管理 Pod 的网络。CN…...
Retrofit和rxjava 实现窜行请求,并行请求,循环多次请求,递归请求,错误重试
在使用 Retrofit 和 RxJava 时,可以通过多种方式实现多次请求,比如串行请求、并行请求、依赖请求等。以下是一些常见的实现方式: 1. 串行请求(依赖关系) 一个请求的结果作为另一个请求的输入,可以用 flat…...
2025年度好用便签推荐,电脑桌面便签app分享
在快节奏的现代生活中,高效的时间管理和任务规划变得尤为重要。一款好用的便签软件不仅能帮助我们记录灵感、待办事项,还能极大地提升我们的工作效率。 在众多电脑桌面便签中,好用便签以其出色的桌面便签功能脱颖而出,备受用户青…...
【论文解读】Arbitrary-steps Image Super-resolution via Diffusion Inversion
级别:arXiv Computer Vision and Pattern Recognition(2024)作者:Zongsheng Yue,Kang Liao,Chen Change Loy时间:2024论文链接:Arbitrary-steps Image Super-resolution via Diffusion Inversion摘要 技术概述:该技术基于扩散反转,通过设计部分噪声预测策略来构建扩散…...
kkFileView集成springboot:使用自定义预览接口(非minio预览接口),发现无法预览资源
目录 1、背景2、原因分析3、解决办法 1、背景 按照项目验收要求,需要对minio中存储的数据进行加密 之前提供给kkFileView的预览地址都是获取的minio预览地址 由于minio中的资源进行了加密处理,所以我们自定义预览接口(进行解密操作ÿ…...
被裁20240927 --- 嵌入式硬件开发 STM32篇
人很容易原谅别人的错误但很难原谅别人的正确 1. 文档、手册、指南、资源2. MCU 结构3. MCU 和 MPU 的区别4. 一些概念什么是看门狗 ?什么是 DMA ?什么是晶振 ?什么是片内外设?软件协议、硬件协议、数据协议、通讯协议、通信协议u…...
留学生交流互动系统|Java|SSM|VUE| 前后端分离
【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库可…...
C/C++ 数据结构与算法【图】 图+邻接矩阵+邻接表+DFS+BFS+最小生成树+最短路径+拓扑排序详细解析【日常学习,考研必备】带图+详细代码
一、图的定义 1)无向图,有向图,完全图 2)稀疏图,稠密图,网,邻接,关联 3)度 4)路径 5)连通图 6)权与网 7)子图 8࿰…...
Linux实验报告7-文件管理
目录 一:实验目的 二:实验内容 (1)查看/etc/inittab文件的权限属性,并指出该文件的所有者以及文件所属组群。 (2)新建文件test,设置文件权限为r--r-----。 (3)新建文件test2,设系统中有用户study和用户组studygr…...
RJ45网口模块设计
1、以太网概述及RJ45实物 2、常用网口信号介绍 3、RJ45网口布局布线要点分析 4、总结 1、变压器下面需要进行挖空处理,以免底下的铜引入干扰,(将多边形挖空区域的所在层设置为Multi-Layer多层) 2、为了更直观的看一个类中线的长…...
电子电器架构 --- 智能座舱HUD技术革新
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源&…...
嵌入式开发中的机器人表情绘制
机器人的表情有两种,一种是贴图,一钟是调用图形API自绘。 贴图效果相对比较好,在存储空间大的情况下是可以采用的。 自绘比较麻烦,但在资源和空缺少的情况下,也是很有用的。而且自绘很容易通过调整参数加入随机效果&…...
orm01
静态文件处理 静态文件:如:图片、音频、视频、css、js等静态文件的相关配置也在 项目名/项目名/settings.py 文件中进行配置 - 配置静态文件的访问路径STATIC_URL- 功能:通过哪个 url 地址找静态文件- 默认配置:STATIC_URL /sta…...
Maven 测试和单元测试介绍
一、测试介绍 二、单元测试 1)介绍 2)快速入门 添加依赖 <dependencies><!-- junit依赖 --><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>5.9…...
Postman接口测试03|执行接口测试、全局变量和环境变量、接口关联、动态参数、断言
目录 七、Postman 1、安装 2、postman的界面介绍 八、Postman执行接口测试 1、请求页签 3、响应页签 九、Postman的环境变量和全局变量 1、创建环境变量和全局变量可以解决的问题 2、postman中的操作-全局变量 1️⃣手动设置 2️⃣代码设置 3️⃣界面获取 4️⃣代…...
UE5 丧尸类杂兵的简单AI
A、思路 1、关卡初始化时,自动产生随机巡逻点,小兵到达后,去另一个随机巡逻点。 2、加入视力,发现主角后,不再巡逻,而开始追击主角并攻击。条件循环。 3、加入听力。主角的奔跑与射击会产生噪音…...
Linux字符设备驱动开发的三种方式(分析+对比+示例)
文章目录 一. 字符设备的驱动方法二. 三种方法的对比三. 开发环境四. 代码示例1. 传统设备驱动模型2. 总线设备驱动模型3. 设备树驱动模型 五. 相关链接 一. 字符设备的驱动方法 字符设备驱动 是指在I/O传输过程中以字节流进行读写操作的设备。典型的如LCD、蜂鸣器、SPI、触摸屏…...
C++设计模式之行为型模式概述,它们的目的与特点
行为型设计模式需要解决的问题 行为型设计模式主要关注对象之间的责任分配和交互。它们解决的问题包括: 对象之间的通信:如何让对象之间高效地通信,同时保持松耦合。算法的封装与复用:如何将算法或行为封装起来,使其…...
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
