广义线性模型下的数据分析(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下,对变量tannermenarche进行列联分析,包括:绘制列联表;进行卡方独立性检验,并解释检验结果。

        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)

      向前法回归初始模型只包含截距项,分别加入变量X1X2X3X4,计算AIC,由计算结果知X4AIC小于初始截距项的,因此回归模型中加入变量X4,继续迭代计算直到向模型中加入变量后,不能使AIC比上一次计算结果小时,表明该模型为最优模型。从运行结果知,向前法回归的最优模型为:

Y=5.9433+0.6382X4+0.1424X1-0.2706X3+0.3515X2

与第(1)问的模型一样,模型整体上较为显著,X2X4显著性较好。

       向后逐步回归法,初始模型包含所有变量,从中依次去掉一个变量,并计算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下,对变量tannermenarche进行列联分析:

table('menarche','tanner')  # 行、列d4<-xtabs(~menarche+tanner,data=njuul)d4chisq.test(d4) #卡方独立性检验

menarche分为两类,tanner分为5类,tanner为类12时,样本几乎都属于menarche的类1,卡方独立性检验原假设为行menarche、列tanner变量独立,由于P<0.05,所以拒绝原假设,认为tannermenarche不独立。

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.976P<0.05),而检验方法(A)对果汁含铅量没有显著影响(F=1.629P=0.225)。

fit1<-aov(y~A+B+A:B,data=d5) # 加交互项summarry(fit1)

加了交互项,没有PF值,推测果汁品种和检验方法的交互作用(A:B)对果汁含铅量也没有显著影响。因此得出结论:果汁品种对果汁含铅量有显著影响,而检验方法对果汁含铅量没有显著影响。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/27668.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows环境下Maven的配置

Windows环境下Maven的配置 一、Maven下载 Maven官网地址 apache-maven-3.8.8-bin.zip 二、安装和配置 解压到本地目录&#xff0c;例如&#xff1a;D:\software\apache-maven-3.8.8 新建变量MAVEN_HOMED:\software\apache-maven-3.8.8&#xff08;以自己的安装路径为准&…

Spring MVC 处理请求

目录 1、SpringMVC 处理请求1.1、HTTP 请求报文1.2、获取 URL 中参数 PathVariable1.3、获取请求头数据1.3.1、传统获取 Header/Cookie1.3.2、获取 Header—RequestHeader1.3.3、获取 Cookie—CookieValue1.3.4、Session 的存储和获取—SessionAttribute 1.4、获取请求数据1.4.…

OpenAI 最后一代非推理模型:OpenAI 发布 GPT-4.5预览版

最后一代非推理大模型 在人工智能领域&#xff0c;OpenAI 一直以其创新的技术和卓越的产品引领着行业的发展。近期&#xff0c;OpenAI 正式发布了 GPT-4.5 研究预览版。不仅如此&#xff0c;官方还宣称 GPT-4.5 被定位为 “最后一代非推理模型”&#xff0c;这一消息再次引起了…

什么是JTAG、SWD?

一、什么是JTAG&#xff1f; JTAG&#xff08;Joint Test Action Group&#xff0c;联合测试行动小组&#xff09;是一种国际标准测试协议&#xff0c;常用于芯片内部测试及对系统进行调试、编程等操作。以下从其起源、工作原理、接口标准、应用场景等方面详细介绍&#xff1a…

知识周汇|SAP脚本自动化-淋过雨的人更懂得伞的价值

目录 摘要 1 知识概览 1.1SAP GUI脚本 1.2Tracker工具 2 实践案例 2.1步骤1&#xff1a;SAP启动并进入系统&#xff08;文本关键&#xff09; 2.1.1手动操作&#xff1a;鼠标双击SAP&#xff0c;并点击所需要系统 2.1.2代码实现 2.2步骤2&#xff1a;通过tracker完善后…

【GPU使用】如何在物理机和Docker中指定GPU进行推理和训练

我的机器上有4张H100卡&#xff0c;我现在只想用某一张卡跑程序&#xff0c;该如何设置。 代码里面设置 import os # 记住要写在impot torch前 os.environ[CUDA_VISIBLE_DEVICES] "0, 1"命令行设置 export CUDA_VISIBLE_DEVICES0,2 # Linux 环境 python test.py …

【无标题】ABP更换MySql数据库

原因&#xff1a;ABP默认使用的数据库是sqlServer&#xff0c;本地没有安装sqlServer&#xff0c;安装的是mysql&#xff0c;需要更换数据库 ABP版本&#xff1a;9.0 此处以官网TodoApp项目为例 打开EntityFrameworkCore程序集&#xff0c;可以看到默认使用的是sqlServer&…

【网络编程】之TCP实现客户端远程控制服务器端及断线重连

【网络编程】之TCP实现客户端远程控制服务器端及断线重连 TCP网络通信实现客户端简单远程控制主机基本功能演示通信过程代码实现服务器模块执行命令模块popen系列函数 客户端模块服务器主程序 windows作为客户端与服务器通信#pragma comment介绍 客户端使用状态机断线重连代码实…

Git快速入门

文章目录 Git简介准备工作常用的Linux命令git配置 git工作原理git项目创建和克隆git基本操作命令git忽略文件配置ssh远程连接 IDEA集成Gitgit分支&#xff08;多人开发&#xff09;公司中用到的&#xff08;很清楚&#xff09; Git 简介 Git就是版本控制的工具 下面这个叫手动…

Redis 的几个热点知识

前言 Redis 是一款内存级的数据库&#xff0c;凭借其卓越的性能&#xff0c;几乎成为每位开发者的标配工具。 虽然 Redis 包含大量需要掌握的知识&#xff0c;但其中的热点知识并不多。今天&#xff0c;『知行』就和大家分享一些 Redis 中的热点知识。 Redis 数据结构 Redis…

深入解析Java虚拟机(JVM)的核心组成

深入解析Java虚拟机&#xff08;JVM&#xff09;的核心组成 Java虚拟机&#xff08;JVM&#xff09;作为Java语言跨平台的核心实现&#xff0c;其架构设计精妙而复杂。理解JVM的组成部分&#xff0c;是掌握Java内存管理、性能调优和问题排查的关键。本文将从四大核心模块剖析J…

GIT工具学习【2】:分支

1.什么是分支 新建一个分支&#xff0c;可以认为把当前项目copy了一份&#xff0c;不太严谨&#xff0c;没毛病&#xff0c;里面虽然文件内容和名字相同&#xff0c;其实互相没有关系。 2.什么是合并分支 就是把两个分支&#xff08;项目文件夹&#xff09;合并在一起 git m…

40岁开始学Java:Java中单例模式(Singleton Pattern),适用场景有哪些?

在Java中&#xff0c;单例模式&#xff08;Singleton Pattern&#xff09;用于确保一个类只有一个实例&#xff0c;并提供全局访问点。以下是详细的实现方式、适用场景及注意事项&#xff1a; 一、单例模式的实现方式 1. 饿汉式&#xff08;Eager Initialization&#xff09; …

Linux常见基本指令(一)

目录 前言 1、ls指令 2、用户相关指令 3、pwd指令 4、cd指令 相对路径与绝对路径 5、创建、删除文件和目录相关的指令 创建相关的指令 删除相关的指令 6、拷贝、移动和重命名 cp指令 mv指令 前言 学习Linux的过程中一定要多自己动手&#xff0c;Linux的指令繁多&a…

测试金蝶云的OpenAPI

如何使用Postman测试K3Cloud的OpenAPI 1. 引言 在本篇博客中&#xff0c;我将带你逐步了解如何使用Postman测试和使用K3Cloud的OpenAPI。内容包括下载所需的SDK文件、配置文件、API调用及测试等步骤。让我们开始吧&#xff01; 2. 下载所需的SDK文件 2.1 获取SDK 首先&…

Tomcat

1.Tomcat是什么&#xff1f; Tomcat 是一个开源的、轻量级的 Servlet 容器&#xff0c;也被称为 Web 服务器&#xff0c;由 Apache 软件基金会的 Jakarta 项目开发&#xff0c;在 Java Web 开发领域应用广泛。 1&#xff09;Servlet 容器&#xff1a;Servlet 是 Java 语言编写…

【windows driver】 开发环境简明安装教程

一、下载路径 https://learn.microsoft.com/en-us/windows-hardware/drivers/other-wdk-downloads 二、安装步骤&#xff1a; 1、安装Visual Studio IDE 笔者建议安装最新版本&#xff0c;可以向下兼容。发文截止到目前&#xff0c;VS2022是首选&#xff0c;当前笔者由于项…

长时间目标跟踪算法(3)-GlobalTrack:A Simple and Strong Baseline for Long-termTracking

GlobalTrack的原始论文和源码均已开源&#xff0c;下载地址。 目录 背景与概述 1.1 长期视觉跟踪的挑战 1.2 现有方法的局限性 1.3 GlobalTrack的核心思想 算法原理与架构 2.1 全局实例搜索框架 2.2 Query-Guided RPN&#xff08;QG-RPN&#xff09; 2.3 Query-Guided RCNN&a…

使用mermaid查看cursor程序生成的流程图

一、得到cursor生成的流程图文本 cursor写的程序正常运行后&#xff0c;在对话框输入框中输入诸如“请生成扫雷的代码流程图”&#xff0c;然后cursor就把流程图给生成了&#xff0c;但是看到的还是文本的样子&#xff0c;保留这部分内容待用 二、注册一个Mermaid绘图账号 …

MacOS本地部署Deepseek,不联网也可以使用AI,保护隐私

苹果笔记本本地部署deepseek主要用到Ollama与open-webui 1. 安装Ollama “Ollama” 是一个轻量级的 AI 模型运行时环境&#xff08;runtime&#xff09;&#xff0c;旨在简化在本地部署和使用大语言模型&#xff08;LLM&#xff09;的过程。它由 Vicarious 公司开发&#xff…