R和Python市场篮分析算法及行为分析模型

embedded/2024/11/15 4:59:46/

🎯要点

  1. 行为数据分析:🎯线性统计研究生学业表现:🖊绘制测试分数配对图 | 🖊构建简单线性回归模型,拟合数据 | 🖊构建多线性回归,三维可视化数据拟合模型 | 🖊测试多重共线性 | 🖊二次模型改善拟合度。🎯二项式逻辑回归分析销售人员升职与否:🖊绘制业绩配对图 | 🖊业绩对数赔率建模。🎯名义类别多项逻辑回归选择商业保险:🖊绘制保险类别配对图 | 🖊分层二项式建模产品选择性。🎯有序类别结比例赔率逻辑回归分析运动员纪律和表现:🖊 依据表现结果生成比例优势模型 | 🖊计算运动员表现观察值与相关类别可能性 | 🖊检验比例优势假设.。🎯单一事件生存模型分析职工情绪推理在职与否:🖊考克斯比例风险回归模型 | 🖊舍恩菲尔德检验比例风险假设。
  2. 市场​数据​分析​:🎯图形和表格数据:🖊简单回归模型分析销售力度数据,多线性回归模型分析销售薪资经验及技术水平 | 🖊决策树分类模型分析人员流失,K最近邻模型分析贷款审批和朴素贝叶斯模型分析信用评级 | 🖊神经网络和逻辑回归模型预测人员流失 | 🖊市场篮分析模型物品采购关系模式。🎯算法实例:🖊 先验算法、频繁模式增长算法、怡亨算法、分类和回归树算法
  3. 商业利润分析:🎯商品选择:🖊 不同口味食物预测选择因果行为分析 | 🖊兴趣效应建模分析押金类型影响酒店预订率,从行为科学和商业角度寻找其他影响因素 | 🖊商业销售使用鲁宾分类法建模处理客户缺失数据 | 🖊统计模型模拟异常影响因子分析食品制作和上市不确定因素 | 🖊商业利润行为逻辑测试方式一:简单样本量分配和功效分析 | 🖊商业利润行为逻辑测试方式二:分层随机化增强测试功效分析 | 🖊商业利润行为逻辑测试方式三:层次线性模型 | 🖊商业营销行为适度分析:分割数据为观测数据和测试数据,交互非线性关系。

🍇R 考克斯比例风险模型

它适用于定量预测变量和分类变量。此外,考克斯回归模型扩展了生存分析方法,可以同时评估多种风险因素对生存时间的影响。

在临床研究中,在许多情况下,几个已知量(称为协变量)可能会影响患者的预后。例如,假设比较两组患者:具有特定基因型的患者和不具有特定基因型的患者。 如果其中一组还包含老年个体,则存活率的任何差异都可能归因于基因型或年龄或两者兼而有之。 因此,在调查与任何一种因素相关的生存时,通常需要根据其他因素的影响进行调整。

统计模型是一种常用的工具,可以同时分析多个因素的生存情况。此外,统计模型提供了每个因素的效应大小。

考克斯比例风险模型的目的是同时评估多个因素对生存的影响。 换句话说,它使我们能够检查特定因素如何影响特定时间点特定事件(例如感染、死亡)的发生率。 该比率通常称为危险率。 在生存分析文献中,预测变量(或因素)通常被称为协变量。

考克斯模型用h(t)表示的风险函数来表示。简而言之,危险函数可以解释为在时间 t 时死亡的风险。可以估计如下:
h ( t ) = h 0 ( t ) × exp ⁡ ( b 1 x 1 + b 2 x 2 + … + b p x p ) h(t)=h_0(t) \times \exp \left(b_1 x_1+b_2 x_2+\ldots+b_p x_p\right) h(t)=h0(t)×exp(b1x1+b2x2++bpxp)
其中,

  • t t t 表示时间
  • h ( t ) h(t) h(t) 是由一组 p p p 协变量 ( x 1 , x 2 , … , x p ) \left(x_1, x_2, \ldots, x_p\right) (x1,x2,,xp) 确定的风险函数
  • 系数( b 1 , b 2 , … , b p b_1, b_2, \ldots, b_p b1,b2,,bp )衡量协变量的影响(即效应大小)
  • h 0 h_0 h0 项称为基线危险。如果所有 x i x_i xi 都等于 0(数量 exp(0) 等于 1),则它对应于危险值。 h ( t ) h ( t ) h(t) 中的“ t t t”提醒我们危险可能会随时间而变化。

考克斯模型可以写为变量 x i x_i xi​ 风险对数的多元线性回归,其中基线风险是随时间变化的“截距”项。

数量 exp ⁡ ( b i ) \exp \left(b_i\right) exp(bi) 称为风险比 (HR)。 b i b_i bi 的值大于零,或者相当于风险比大于 1,表示随着 i th  i^{\text {th }} ith  协变量值的增加,事件风险增加,从而生存时间延长减少。换句话说,风险比高于 1 表示协变量与事件概率正相关,因此与生存长度负相关。

  • H R = 1 : H R=1: HR=1: 无影响
  • H R < 1 HR <1 HR<1:减少危险
  • H R > 1 H R>1 HR>1:危险增加

考虑两个患者 k k k k ′ k^{\prime} k,其 x x x 值不同。相应的危险函数可以简单写成如下

  • 患者 k k k 的危险函数:
    h k ( t ) = h 0 ( t ) e ∑ i = 1 n β x h_k(t)=h_0(t) e^{\sum_{i=1}^n \beta x} hk(t)=h0(t)ei=1nβx

  • 患者 k ′ k^{\prime} k 的危险函数:

h k ′ ( t ) = h 0 ( t ) e ∑ i = 1 n β x ′ h_{k^{\prime}}(t)=h_0(t) e^{\sum_{i=1}^n \beta x^{\prime}} hk(t)=h0(t)ei=1nβx

  • 这两名患者的风险比 [ h k ( t ) h k ′ ( t ) = h 0 ( t ) e ∑ i − 1 n β z h 0 ( t ) e ∑ − 1 n β z ′ = ∑ n l − 1 β z ∑ ∑ i − 1 n β z ′ ] \left[\frac{h_k(t)}{h_{k^{\prime}}(t)}=\frac{h_0(t) e^{\sum_{i-1 }^n \beta z}}{h_0(t) e^{\sum_{-1}^n \beta z^{\prime}}}=\frac{\sum^{\frac{n}{l- 1}} \beta z}{\sum_{\sum^{i-1}}^n \beta z^{\prime}}\right] [hk(t)hk(t)=h0(t)e1nβzh0(t)ei1nβz=i1nβzl1nβz] 与时间 t 无关。

换句话说,如果一个人在某个初始时间点的死亡风险是另一个人的两倍,那么在以后的所有时间点,死亡风险仍然是另一个人的两倍。

代码实现:

library("survival")
library("survminer")

函数 coxph()[生存包中]可用于计算 R 中的 Cox 比例风险回归模型。 简化格式如下:

coxph(formula, data, method)

我们将使用生存 R 包中的肺癌数据。

data("lung")
head(lung)

计算模型

我们首先计算所有这些变量的单变量 Cox 分析;然后我们将使用两个变量进行多元 Cox 分析,以描述这些因素如何共同影响生存。

res.cox <- coxph(Surv(time, status) ~ sex, data = lung)
res.cox
summary(res.cox)

要将单变量 coxph 函数一次应用于多个协变量,请输入以下内容:

covariates <- c("age", "sex",  "ph.karno", "ph.ecog", "wt.loss")
univ_formulas <- sapply(covariates,function(x) as.formula(paste('Surv(time, status)~', x)))univ_models <- lapply( univ_formulas, function(x){coxph(x, data = lung)})
# Extract data 
univ_results <- lapply(univ_models,function(x){ x <- summary(x)p.value<-signif(x$wald["pvalue"], digits=2)wald.test<-signif(x$wald["test"], digits=2)beta<-signif(x$coef[1], digits=2);#coeficient betaHR <-signif(x$coef[2], digits=2);#exp(beta)HR.confint.lower <- signif(x$conf.int[,"lower .95"], 2)HR.confint.upper <- signif(x$conf.int[,"upper .95"],2)HR <- paste0(HR, " (", HR.confint.lower, "-", HR.confint.upper, ")")res<-c(beta, HR, wald.test, p.value)names(res)<-c("beta", "HR (95% CI for HR)", "wald.test", "p.value")return(res)#return(exp(cbind(coef(x),confint(x))))})
res <- t(as.data.frame(univ_results, check.names = FALSE))
as.data.frame(res)

多元Cox回归分析

res.cox <- coxph(Surv(time, status) ~ age + sex + ph.ecog, data =  lung)
summary(res.cox)

可视化

# Plot the baseline survival function
ggsurvplot(survfit(res.cox), color = "#2E9FDF",ggtheme = theme_minimal())
# Create the new data  
sex_df <- with(lung,data.frame(sex = c(1, 2), age = rep(mean(age, na.rm = TRUE), 2),ph.ecog = c(1, 1)))
sex_df

参阅一:python-shi-chang-lan-fen-xi-suan-fa-ji-hang-wei-fen-xi-mo-xing" rel="nofollow">计算思维

参阅二:亚图跨际


http://www.ppmy.cn/embedded/27614.html

相关文章

Tomact安装配置及使用(超详细)

文章目录 web相关知识概述web简介(了解)软件架构模式(掌握)BS&#xff1a;browser server 浏览器服务器CS&#xff1a;client server 客户端服务器 B/S和C/S通信模式特点(重要)web资源(理解)资源分类 URL请求路径(理解)作用介绍格式浏览器通过url访问服务器的过程 服务器(掌握)…

STM32 外部中断的理解

以下代码是一个“对射式红外传感器计次”&#xff0c;实现的功能是&#xff0c;通过隔档对射式红外传感器&#xff0c;产生中断&#xff0c;在中断中计数&#xff08;显示在OLED上&#xff09;&#xff0c;本篇以此代码&#xff0c;大致了解下STM32中断代码编写的方式。 #incl…

JAVA: Spring Boot加载 Shiro 配置 >>找不到 SecurityManager

在 Spring Boot 应用中集成和配置 Apache Shiro 通常涉及创建一个配置类来设置 SecurityManager&#xff0c;以及定义 Shiro 的 Web 支持和必要的安全策略。下面是使用 Spring Boot 配置 Apache Shiro 的步骤&#xff1a; ### 1. 添加依赖 首先&#xff0c;确保在你的 pom.xml…

Fast-DetectGPT 无需训练的快速文本检测

本文提出了一种新的文本检测方法 ——Fast-DetectGPT&#xff0c;无需训练&#xff0c;直接使用开源小语言模型检测各种大语言模型&#xff0c;如GPT等生成的文本内容。 Fast-DetectGPT 将检测速度提高了 340 倍&#xff0c;将检测准确率相对提升了 75%&#xff0c;超过商用系…

源码篇--Nacos服务--中章(8):Nacos服务端感知客户端实例变更-3

文章目录 前言一、客户端实例变更&#xff1a;二、实例变更感知&#xff1a;2.1 实例注册信息通知&#xff1a;2.1.1 接收DistroDataRequest 请求&#xff1a;2.1.2 onReceive 处理请求&#xff1a;2.1.3 processData 处理请求&#xff1a;2.1.4 handlerClientSyncData 处理数据…

服务器数据恢复—存储硬盘坏道,指示灯亮黄色的数据恢复案例

服务器数据恢复环境&故障&#xff1a; 一台某品牌EqualLogic PS系列某型号存储&#xff0c;存储中有一组由16块SAS硬盘组建的RAID5磁盘阵列&#xff0c;RAID5上划分VMFS文件系统存放虚拟机文件。存储系统上层一共分了4个卷。 raid5阵列中磁盘出现故障&#xff0c;有2块硬盘…

HTTP 与 HTTPS

HTTP 浅谈 HTTP HTTPS 浅谈 HTTPS HTTP 与 HTTPS区别 HTTP&#xff08;Hypertext Transfer Protocol&#xff09;和HTTPS&#xff08;Hyper Text Transfer Protocol Secure&#xff09;在多个方面存在显著的区别&#xff0c;这些区别主要体现在以下几个方面&#xff1a; 特…

Rust学习03:解决了如何更改项目名称的小问题

好不容易跑通了第一个小程序&#xff01; 高兴之余&#xff0c;突然又对小程序的名字不满意了&#xff0c;想改一个更好的。奇怪么&#xff1f;不奇怪&#xff01;对于一位想不开而来自学Rust的人又有什么事情是做不出的呐~~ 开始我是直接改了项目文件夹的名字~捅了马蜂窝了&am…