数据分析问答总结
一、SQL窗口函数
1.是什么
OLAP(Online Anallytical Processing联机分析处理),对数据库数据进行实时分析处理。
2.基本语法:
- <窗口函数>OVER (PARTITION BY <用于分组的列名>
ORDER BY <用于排序的列名>)
注:
<窗口函数>都有哪些:
1.专用窗口函数:rank(相等的值排名相同,计数)、dense_rank(相等的值排名相同,不计数)、row_number(对相等的值不进行区分)、first_value(用于获取在分组内的第一个值)、last_value、lead(用于在查询结果集中访问当前行之后的行的数据)、lag(在查询结果集中访问当前行之前的行的数据)等

SELECT order_id,customer_name,order_amount,order_amount - LAG(order_amount) OVER (ORDER BY order_id) AS previous_order_difference
FROM orders;
2.聚合窗口函数:count, sum, avg, max, min等,除count,其他聚合函数忽略NULL。
- PARTITION BY:类似于聚合函数中的GROUP BY子句,但是在窗口函数中,要写成PARTITION BY
- ORDER BY:和普通查询语句中的ORDER BY没什么不同
3. 窗口函数和聚合函数的区别
1.用OVER关键字区分窗口函数和聚合函数。
2.聚合函数每组只返回一个值,窗口函数每组可返回多个值。
4.注意事项
1.原则上只能写在SELECT子句中,因为窗口函数是对WHERE或者GROUP BY子句处理后的结果进行操作。over()里的分组以及排序的执行,晚于where、group by、order by的执行。
2.常见主流数据库目前都支持窗口函数。
3.partition子句原则上可省略,但这就失去了窗口函数的意义。
5.为什么要用
group by分组汇总后改变了表的行数,一行只有一个类别。而partition by和rank函数不会减少原表中的行数。
窗口函数表示“范围”的意思,partition by分组后的结果。
二、A/B test
1. 原理
核心:假设检验。检验实验组和对照组的指标是否有显著性差异。
先做出假设,然后获取数据,最后根据数据来进行检验。
假设:
零假设:实验组 & 对照组:指标相同,无显著差异
备择假设:实验组 & 对照组: 指标不同,有显著差异
检验:根据指标的属性以及样本量的大小选择合适的检验方法。常用的检验方法有Z检验、t检验、卡方检验和F检验。
- t检验:总体正态分布、总体方差未知或独立小样本平均数的显著性检验、平均数差异显著性检验。
- Z检验:总体正态分布、总体方差已知或独立大样本平均数的显著性检验、平均数差异显著性检验。
- 卡方检验:检验实验组是否服从理论分布(将对照组看成理论分布)。
2. 流程
1.确定实验目标
评价指标和护栏指标
评价指标是驱动公司实现核心价值的指标,要具有可归因性、可测量性、敏感性和稳定性;
护栏指标也就是辅助指标。
评价指标重点关注一个目标,护栏指标可以选择多个作为辅助,避免达成一个目标造成别的利益的损失。
比如:要提升广告收入,我们在页面部分多插入一条或多条广告,虽然短期内是提高了收入,但是长期以来用户体验就会变差,造成用户反感继而流失。
2.设计实验:
- 建立假设:建立零假设和备选假设,零假设一般是没有效果,备择假设是有效果。
- 选取实验单位:有以下三种,常用用户粒度。
用户粒度:以一个用户的唯一标识来作为实验样本。好处是符合A/B实验的分桶单位唯一性,不会造成一个实验单位处于两个分桶,造成的数据不置信。
设备粒度:以一个设备标识为实验单位。相比用户粒度,如果一个用户有两个手机,那么也可能出现一个用户在两个分桶中的情况,所以会造成数据不置信。
行为粒度:以一次行为为实验单位,也就是用户某一次使用该功能,实验桶,下一次使用可能就被切换为基线桶,会造成大量的用户处于不同的分桶。不推荐。
- 计算样本量:很重要
太小:实验结果不会可信
太大:影响面越大。负面影响,流量和资源的浪费。
- 流量分配:分流(指直接将整体用户切割为几块,用户只能在一个实验中,不会相互影响。实验之间是互斥的)和分层(指将同一批用户,不停地随机后,处于不同的桶种。同一用户属于多个不同的实验,且相互之间不影响,企业中常用)
- 计算试验周期
相关文章:
数据分析问答总结
一、SQL窗口函数 1.是什么 OLAP(Online Anallytical Processing联机分析处理),对数据库数据进行实时分析处理。 2.基本语法: <窗口函数>OVER (PARTITION BY <用于分组的列名> ORDER BY <用于排序的…...
Python学习笔记_实战篇(二)_django多条件筛选搜索
多条件搜索在很多网站上都有用到,比如京东,淘宝,51cto,等等好多购物教育网站上都有,当然网上也有很多开源的比楼主写的好的多了去了,仅供参考,哈哈 先来一张效果图吧,不然幻想不出来…...
【生态经济学】利用R语言进行经济学研究技术——从数据的收集与清洗、综合建模评价、数据的分析与可视化、因果推断等方面入手
查看原文>>>如何快速掌握利用R语言进行经济学研究技术——从数据的收集与清洗、综合建模评价、数据的分析与可视化、因果推断等方面入手 近年来,人工智能领域已经取得突破性进展,对经济社会各个领域都产生了重大影响,结合了统计学、…...
xml中的vo是干什么用的
在Java中,VO(Value Object)是一种常见的设计模式,用于表示纯粹的数据对象。VO 通常用于在不同层或模块之间传递数据,并且它们的主要目的是封装和组织数据,而不包含业务逻辑。 VO 在Java中的具体作用有以下…...
现代企业数据泄露的原因分析与建议
近年来,随着信息技术的飞速发展,数据已经成为现代企业不可或缺的发展资源。然而,随之而来的数据泄露危机,给个人、企业甚至整个社会带来了巨大的风险与威胁。本文将综合探讨企业数据泄露的主要途径和原因,并提出防护建…...
飞天使-kubeadm安装一主一从集群
文章目录 安装前准备安装前准备配置yum源等安装前准备docker安装 安装kubeadm配置kubeadm验证集群 参考链接 安装前准备 cat >> /etc/hosts <<EOF 192.168.100.30 k8s-01 192.168.100.31 k8s-02 EOF hostnamectl set-hostname k8s-01 #所有机器按照要求修改 ho…...
string类写时拷贝
文章目录 1.string类拷贝构造函数的现代写法2.string类写时拷贝vs和g下string结构的不同vs下string的结构:g下string的结构 3.总结 1.string类拷贝构造函数的现代写法 string类拷贝构造函数的传统写法: string(const string& s){if (this ! &s)…...
QT VS编译环境无法打开包括文件type_traits
这问题,别人给的处理方法都是: 添加环境变量执行vsvars32.bat/vcvarsall.bat/vsdevcmd.bat重新安装QT项目:执行qmake。。。。 个人不推荐配置环境编译,除非你非常熟,因为配置环境变量需要你知道有哪些路径需要添加&a…...
深入浅出 TCP/IP 协议栈
TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。TCP/IP 协议采用4层结构,分别是应用层、传输层、网络层和链路层,每一层都呼叫它的下…...
Servlet+JDBC实战开发书店项目讲解第13讲:库存管理功能
ServletJDBC实战开发书店项目讲解第13讲:库存管理功能 在第13讲中,我们将讲解如何实现书店项目中的库存管理功能。该功能包括图书的添加、编辑、删除和查询等核心功能。下面是实现该功能的主要思路: 显示库存列表: 创建一个管理页…...
Shepherd: A Critic for Language Model Generation
本文是LLM系列的相关文章,针对《Shepherd: A Critic for Language Model Generation》的翻译。 Shepherd:语言模型生成的评价 摘要1 引言2 数据收集3 Shepherd模型4 评估反馈5 结果6 相关工作7 结论不足 摘要 随着大型语言模型的改进,人们对…...
【Python爬虫案例】爬取大麦网任意城市的近期演出!
老规矩,先上结果: 含10个字段: 页码,演出标题,链接地址,演出时间,演出城市,演出地点,售价,演出类别,演出子类别,售票状态。 代码演示…...
【框架】SpringBoot数组传参问题
方式一 前端以字符串形式传递idList,采用逗号拼接,后端直接使用list接收 // 前端代码 form: {otherParam: ,idList: [id1,id2].join(,) }//后端代码 // 在后端接收idList时,直接使用List<T> 就可以接收前端字符串(默认使用…...
四川天蝶电子商务:2023短视频运营分析
短视频运营分析是指通过对短视频平台上的各种数据进行收集、整理和分析,以寻找出视频内容、用户活跃度、用户行为等方面的规律和问题,从而为短视频平台的运营决策提供依据。下面将从几个方面具体介绍短视频运营分析的重要性和方法。 首先,短…...
Git(5)已有项目连接远端git仓库
文章目录 初始化git连接远程仓库拉下仓库代码添加代码到本地仓库删除idea配置的git本地缓存提交代码推上去 初始化git git init连接远程仓库 git remote add origin 你的仓库地址拉下仓库代码 git pull --rebase origin master添加代码到本地仓库 git add .删除idea配置的g…...
Datawhale Django 后端开发入门 Task05 DefaultRouter、自定义函数
一、DefaultRouter是Django REST framework中提供的一个路由器类,用于自动生成URL路由。路由器是将URL与视图函数或视图集关联起来的一种机制。Django REST framework的路由器通过简单的配置可以自动生成标准的URL路由,从而减少了手动编写URL路由的工作量…...
JVM的元空间了解吗?
笔者近期在面试的时候被问到了这个问题,元空间也是Java8当时的一大重大革新,之前暑期实习求职的时候有专门看过,但是近期秋招的时候JVM相关的内容确实有点生疏了,故在此进行回顾。 结构 首先,我们应了解JVM的堆结构&a…...
WPS中的表格错乱少行
用Office word编辑的文档里面包含表格是正常的,但用WPS打开里面的表格就是错乱的,比如表格位置不对,或者是表格的前几行无法显示、丢失了。 有一种可能的原因是: 表格属性里面的文字环绕选成了“环绕”而非“无”,改…...
Pytorch-day09-模型微调-checkpoint
模型微调(fine-tune)-迁移学习 torchvision微调timm微调半精度训练 起源: 1、随着深度学习的发展,模型的参数越来越大,许多开源模型都是在较大数据集上进行训练的,比如Imagenet-1k,Imagenet-11k等2、如果…...
leetcode304. 二维区域和检索 - 矩阵不可变(java)
前缀和数组 二维区域和检索 - 矩阵不可变题目描述前缀和代码演示 一维数组前缀和 二维区域和检索 - 矩阵不可变 难度 - 中等 原题链接 - 二维区域和检索 - 矩阵不可变 题目描述 给定一个二维矩阵 matrix,以下类型的多个请求: 计算其子矩形范围内元素的总…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
