广义线性模型下的数据分析(R语言)
一、实验目的:
通过上机试验,掌握利用R实现线性回归分析、逻辑回归、列联分析及方差分析,并能对分析结果进行解读。
数据:
链接: https://pan.baidu.com/s/1JqZ_KbZJEk-pqSUWKwOFEw 提取码: hxts
二、实验内容:
1、27名糖尿病人的血清总胆固醇(X1)、甘油三酯(X2)、空腹胰岛素(X3)、糖化血红蛋白(X4)、空腹血糖(Y )的测量值列于diabetes.txt:
(1)试建立空腹血糖与其它指标的多元线性回归方程, 并对回归结果进行解读,包括各回归系数的显著性,此模型的拟合效果等。
(2)可以发现,(1)中的回归模型效果并不好。此时,需考虑自变量的选择是否合适。请以Y为因变量,以Xi(i=1,2,3,4)为候选自变量,使用下述两种方法:方法一:向前逐步回归法+AIC,方法二:向后逐步回归法+BIC;分别进行变量选择以建立最优的回归模型,并对两种方法模型选择结果进行比较。
2.数据文件ex.csv是关于200个不同年龄(age,定量变量)和性别(sex,定性变量,0和1分别代表女和男)的人对某项服务产品的观点(opinion,二水平定性变量,用1和0代表认可和不认可)的数据,将观点作为因变量,建立logistic模型加以分析,并预测一个年龄是30岁的女人对该项服务产品认可的可能性。
3.数据包ISwR中的数据集juul中含有三个分类变量: sex, tanner, menarche.
(1) 从juul中选择这3个变量组成新数据框njuul,并用na.omit函数删掉njuul里缺失值,仍命名为njuul。
(2)在数据框njuul下,对变量tanner、menarche进行列联分析,包括:绘制列联表;进行卡方独立性检验,并解释检验结果。
4、检验果汁中含铅量已有三种方法A1、A2、A3, 现研究出另一种快速检验法A4, 欲研究能否用A4代替前三种方法。以果汁为观察对象进行实验考察,不同的果汁当做不同的水平: B1为苹果, B2为葡萄汁, B3为西红柿汁, B4为苹果汁, B5桔子汁, B6菠萝柠檬汁。现进行双因素交错搭配试验,即用四种方法同时检验每一种果汁, 其检验结果如下表所示。问因素A(检验方法)和B(果汁品种) 对果汁的含铅量是否有显著影响?
果汁含铅量测试实验数据统计
B1 B2 B3 B4 B5 B6
A1 0.05 0.46 0.12 0.16 0.84 1.30
A2 0.08 0.38 0.40 0.10 0.92 1.57
A3 0.11 0.43 0.05 0.10 0.94 1.10
A4 0.11 0.44 0.08 0.03 0.93 1.15
(1)在R中生成方差分析所需要的数据框。(注:因子型变量A,B因子水平可用gl()函数给出,也可自己设定。所生成数据框应有24行。)
(2)进行双因素方差分析,并对R中方差分析结果给以解释。
三、实验过程与结果:
1.(1)多元线性回归:
d1<-read.table("E:/学习资料及作业/2.2多元统计分析R/实验2/diabetes.txt",header = T)f1<-lm(Y~X1+X2+X3+X4,data = d1)summary(f1)
运行结果:

从运行结果看,拟合函数为:

因为4个自变量仅变量X3、X4较为显著,其余两个变量X1、X2显著性不明显,所以拟合效果并不好。
(2)向前逐步回归法+AIC:
d2<-lm(Y~1,data = d1)d2f<-step(d2,scope = list(upper=~X1+X2+X3+X4,lower=~1),direction = "forward")summary(d2f)



后退法逐步回归:
d2b<-step(f1,direction = "backward")summary(d2b)


向前法回归初始模型只包含截距项,分别加入变量X1、X2、X3、X4,计算AIC,由计算结果知X4的AIC小于初始截距项的,因此回归模型中加入变量X4,继续迭代计算直到向模型中加入变量后,不能使AIC比上一次计算结果小时,表明该模型为最优模型。从运行结果知,向前法回归的最优模型为:
Y=5.9433+0.6382X4+0.1424X1-0.2706X3+0.3515X2
与第(1)问的模型一样,模型整体上较为显著,X2、X4显著性较好。
向后逐步回归法,初始模型包含所有变量,从中依次去掉一个变量,并计算AIC,发现去掉X1时AIC小于初始模型的,因此从模型中去掉变量X1,第二轮时,无论去掉哪一个变量其AIC值都没有小于上一步的,即此模型为最优模型:
Y=6.4996+0.4023X2-0.2870X3+0.6632X4
模型的整体显著性程度与向前法回归的一样,但是各个变量的显著性要比向前回归的好。
2. logistic模型:
d3<-read.csv("E:/学习资料及作业/2.2多元统计分析R/实验2/ex.csv")logit.glm<-glm(opinion~age+sex,family = binomial,data=d3)summary(logit.glm)

logistic模型为:opinion=3.49978-0.07156age-1.77815sex,无论是模型整体还是各变量都及其显著。
预测一个年龄是30岁的女人对该项服务产品认可的可能性:
prel<-predict(logit.glm,data.frame(age=30,sex=0))p1<-exp(prel)/(1+exp(prel))p1

这位30岁的女士,对某项服务产品认可的概率为0.7946。
3. (1)
install.packages("ISwR")data(juul,package="ISwR")njuul <- juul[, c('sex', 'tanner', 'menarche')] # 从数据集中选3个变量组成新数据集njuul <- na.omit(njuul) # 删除缺失值njuul


(2)在数据框njuul下,对变量tanner、menarche进行列联分析:
table('menarche','tanner') # 行、列d4<-xtabs(~menarche+tanner,data=njuul)d4chisq.test(d4) #卡方独立性检验


menarche分为两类,tanner分为5类,tanner为类1、2时,样本几乎都属于menarche的类1,卡方独立性检验原假设为行menarche、列tanner变量独立,由于P<0.05,所以拒绝原假设,认为tanner与menarche不独立。
4.(1)生成数据框
A <- factor(rep(c("A1", "A2", "A3", "A4"), times = 6))B <- factor(rep(c("B1", "B2", "B3", "B4", "B5", "B6"), each = 4))y <- c(0.05, 0.08, 0.11, 0.11, 0.46, 0.38, 0.43, 0.44, 0.12, 0.40, 0.05, 0.08, 0.16,0.10, 0.10, 0.03, 0.84, 0.92, 0.94, 0.93, 1.30, 1.57, 1.10, 1.15)df <- data.frame(A, B, y)df


(2)双因素方差分析:
fit <- aov(y ~ A+B, data = d5) # 不加交互项summary(fit)

从运行结果可以看出,果汁品种(B)对果汁含铅量有显著影响(F=83.976,P<0.05),而检验方法(A)对果汁含铅量没有显著影响(F=1.629,P=0.225)。
fit1<-aov(y~A+B+A:B,data=d5) # 加交互项summarry(fit1)

加了交互项,没有P、F值,推测果汁品种和检验方法的交互作用(A:B)对果汁含铅量也没有显著影响。因此得出结论:果汁品种对果汁含铅量有显著影响,而检验方法对果汁含铅量没有显著影响。
相关文章:
广义线性模型下的数据分析(R语言)
一、实验目的: 通过上机试验,掌握利用R实现线性回归分析、逻辑回归、列联分析及方差分析,并能对分析结果进行解读。 数据: 链接: https://pan.baidu.com/s/1JqZ_KbZJEk-pqSUWKwOFEw 提取码: hxts 二、实验内容: 1、2…...
AutoMQ:无需 Cruise Control 实现 Kafka 的自动分区再平衡
导读:AutoMQ是一款贯彻云优先理念来设计的 Kafka 替代产品。AutoMQ 创新地对 Apache Kafka 的存储层进行了基于云的重新设计,在 100% 兼容 Kafka 的基础上通过将持久性分离至 EBS 和 S3 带来了 10x 的成本降低以及 100x 的弹性能力提升,并且相…...
在剪映中给英文学习视频添加中文字幕
文章目录 一、剪映是什么?二、使用步骤1.下载2.操作 一、剪映是什么? 剪映是由字节跳动公司开发的一款功能强大且易于使用的视频编辑软件,在移动端和电脑端均有应用。 二、使用步骤 1.下载 2.操作...
Opencv之sift特征检测和FLANN 匹配器进行指纹特征匹配
sift特征检测和FLANN 匹配器进行指纹匹配 目录 sift特征检测和FLANN 匹配器进行指纹匹配1 sift特征检测1.1 概念1.2 优缺点 2 FLANN 匹配器2.1 概念2.2 工作原理与匹配方式2.3 FLANN 匹配器的使用步骤2.4 优缺点 3 函数3.1 特征检测匹配3.2 匹配符合条件点并绘制 3 代码测试3.1…...
rust学习~tokio的io
await Suspend execution until the result of a Future is ready. 暂停执行,直到一个 Future 的结果就绪。 .awaiting a future will suspend the current function’s execution until the executor has run the future to completion. 对一个 Future 使用 .awa…...
FPGA开发,使用Deepseek V3还是R1(2):V3和R1的区别
以下都是Deepseek生成的答案 FPGA开发,使用Deepseek V3还是R1(1):应用场景 FPGA开发,使用Deepseek V3还是R1(2):V3和R1的区别 FPGA开发,使用Deepseek V3还是R1&#x…...
本地部署大数据集群前置准备
1. 设置VMware网段 虚拟网络编辑器——更改设置——选择VMnet8——子网改成192.168.88.0——NAT设置——网关设置为192.168.88.2 2. 下载CentOS操作系统 下载CentOS 7.6(1810)版本 3. 在VMware中安装CentOS操作系统 创建新的虚拟机——典型——安装光盘映像文件——输入账…...
Spring Boot整合RabbitMQ
1. 环境准备 Spring Boot 2.1.3.RELEASERabbitMQ 3.xJDK 8 或以上Maven 3.5 2. 安装Erlang、RabbitMQ 2.1 安装前准备 RabbitMQ 依赖 Erlang 环境,需确保两者的版本匹配,官方兼容性参考:RabbitMQ & Erlang 版本对照表。 2.2 下载安…...
CDefView::_OnFSNotify函数分析
进入CDefView::_OnFSNotify函数时状态栏 _UpdateStatusBar函数之后增加一个对象,变成7个对象。 LRESULT CDefView::_OnFSNotify(LONG lNotification, LPCITEMIDLIST* ppidl) { LPITEMIDLIST pidl; LPCITEMIDLIST pidlItem; // we may be registered for no…...
精准汇报:以明确答复助力高效工作
在工作场景中,汇报工作是一项至关重要的沟通环节,它不仅关乎工作进展的有效传达,更影响着团队协作的顺畅度和整体工作效率。而汇报工作的关键,就在于给予明确肯定的答复,摒弃“应该”“可能”这类模糊词汇,…...
Java自动拆箱装箱/实例化顺序/缓存使用/原理/实例
在 Java 编程体系中,基本数据类型与包装类紧密关联,它们各自有着独特的特性和应用场景。理解两者之间的关系,特别是涉及到拆箱与装箱、实例化顺序、区域问题、缓存问题以及效率问题。 一、为什么基本类型需要包装类 泛型与集合的需求 Java…...
软件工程---基于构件的软件工程
基于构件的软件工程(CBSE)是一种软件开发方法,通过重用现有的软件构件来构建系统,从而提高开发效率和软件质量。这种方法强调软件系统的模块化设计和构建复用,使得软件开发过程更加高效和灵活。 企业软件开发…...
AMD RDNA3 GPU架构解析
本文会通过把AMD的RDNA3架构为例比喻为**“施工公司”**工作模式,深入理解GPU如何高效处理顶点着色、像素计算等任务。 一、施工公司的组织架构 1. 施工公司(WGP)与施工队(CU) WGP(Work Group Processor&…...
docker关闭mysql端口映射的使用
需求 项目中的数据库为mysql,如果将端口映射到宿主机上,容易被工具扫描出,且随着国产化的进程推进,mysql将不被允许。为了提高安全性与满足项目需求,这里采用隐藏mysql端口方式,不映射宿主机端口ÿ…...
关于对机器中的人工智能进行基准测试
大家读完觉得有帮助记得及时关注和点赞!!! 抽象 最近的基准研究声称,AI 在各种认知任务上的表现已经接近甚至超过人类的“水平”。然而,本立场文件认为,当前的 AI 评估范式不足以评估类似人类的认知能力。我…...
CSS - 妙用Sass
官方文档:https://www.sass.hk/docs/ 1.例1: each $theme in $themeList {$themeKey: map-get($theme, key);media screen and (weex-theme: $themeKey) {.btnText {max-width: 150px;include font(map-get($theme, medFont),map-get($theme, subFontS…...
MS模块创新
1. 动态分支权重融合 创新思路:引入通道注意力机制,自动学习高频/低频分支的融合权重 class DynamicMS(nn.Module):def __init__(self, in_channels1):super().__init__()# 原高频/低频分支保持不变self.high_freq ... # 与原MS模块相同self.low_freq…...
私有化部署DeepSeek并SpringBoot集成使用(附UI界面使用教程-支持语音、图片)
私有化部署DeepSeek并SpringBoot集成使用(附UI界面使用教程-支持语音、图片) windows部署ollama Ollama 是一个开源框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计 下载ollama 下载地址(…...
MFC中CMutex类和CSingleLock类,配合使用疑惑
在使用CMutex过程中,看到别人使用了CSingleLock类,想着明明CMutex已经可以实现线程同步了,为什么还有使用CSingleLock类呢? 在MFC中,虽然CMutex类本身可以实现线程同步,但通常会与CSingleLock类一起使用&am…...
残差收缩模块
1. 多尺度阈值生成 创新思路:融合不同尺度的统计信息(如平均池化最大池化)生成更鲁棒的阈值。 class MultiScaleShrinkage(nn.Module):def __init__(self, channel, reduction4):super().__init__()# 多尺度池化分支self.avg_pool nn.Adap…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...
