检验样本是否服从泊松分布

news2024/11/24 8:00:26

本文以一个订单数据为例,研究顾客购买次数的分布规律,尝试从中估计总体的分布,以对后续的订单数据进行预测或进行业绩的对比。

# 环境准备
import numpy as np
import pandas as pd
import scipy.stats as stats
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']

一、数据预处理

df = pd.read_csv('orders.csv')
df.info()
df.head()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 8568 entries, 0 to 8567
Data columns (total 2 columns):
 #   Column      Non-Null Count  Dtype 
---  ------      --------------  ----- 
 0   customerId  8568 non-null   int64 
 1   orderDate   8568 non-null   object
dtypes: int64(1), object(1)
memory usage: 134.0+ KB
customerIdorderDate
05902010-10-13
15432012-02-20
25572011-07-15
35572011-07-15
45572011-07-15

可以看到订单日期字段是 object 对象,这里就是字符串。因此要先将其转化成 pandas 中的 DataTime 对象,然后再添加年份字段方便后续的分组聚合运算。

df.orderDate = df.orderDate.astype('datetime64')
df['year'] = df.orderDate.map(lambda dt: dt.year)
df.head()
customerIdorderDateyear
05902010-10-13 00:00:002010
15432012-02-20 00:00:002012
25572011-07-15 00:00:002011
35572011-07-15 00:00:002011
45572011-07-15 00:00:002011

二、变量分析

首先通过数据透视表,查看不同年份的购买次数分布。然后再查看单个顾客累计购买次数分布。

counts = pd.pivot_table(
    df, values='orderDate', index=['customerId'], columns=['year'], aggfunc='count'
).fillna(0).astype(int)
counts['all'] = counts.sum(axis=1)
df.head()
customerId2009201020112012all
140408
2745016
3543416
42831427
503126
plt.figure(figsize=(12,5))
counts.plot(kind='box')

在这里插入图片描述

plt.figure(figsize=(12,5))
plt.subplot(121)
plt.hist(counts.sum(axis=1), bins=30)
plt.xlabel('times'); plt.ylabel('counts')

plt.subplot(122)
counts.sum(axis=1).plot(kind='kde')
plt.xlim(-2,125); plt.ylim(0,0.04); plt.xlabel('times')

在这里插入图片描述

三、总体分布估计

根据预览的分布密度,并且由其统计学意义,猜测购买次数近似服从泊松分布。下面进行验证。

# 计算分布参数
lambda_ = counts.drop('all', axis=1).sum(axis=1).mean()
# 分布密度函数
def poisson(k, lambda_=lambda_):
    return np.e**(-lambda_) * lambda_**k / np.math.factorial(k)
# 计算总体分布
predict = [poisson(k) for k in range(60)]

# 可视化每个年份以及汇总的分布密度,与理想的总体分布进行对比
plt.figure(figsize=(12,5))
counts.drop('all', axis=1).plot(kind='kde', linestyle='--', linewidth=1)
counts['all'].plot(kind='kde', linewidth=1, color='lightblue', label='总和')
# 理想泊松分布:
plt.plot(range(60), predict, linewidth=1, color='green', label='泊松分布密度')
# 模拟的泊松分布:
test = pd.Series([stats.poisson.rvs(lambda_) for i in range(10000)])
test.plot(kind='kde', linewidth=1, linestyle='--', color='red', label='模拟的分布密度')
plt.legend(); plt.xlim(-5, 45)

在这里插入图片描述

四、结论与分析

由上图可以看到,首先总和的分布与理想的分布有差异,并且均值与时间跨度有关。具体表现为,一年内的次数分布,对比四年总和的次数分布,均值明显更小,集中趋势也更加显著。由于泊松分布为二项分布的极限分布,可以理解为,时间跨度影响了二项分布中的 n 参数,进而影响泊松分布中的 lambda 参数,亦即总体均值。因此结论得出的是,样本所在总体并不服从泊松分布,但是有明显的类似泊松分布的规律,由于其它未知变量的影响产生了偏移。

另外需要注意到,泊松分布的统计学解释认为每次抽样的条件相同。对应本例中的数据,即每次抽样中,其某个特定时间段(时间点)内购买的概率相同。但是由于数据中每个观测值来自不同的客户,因此不能保证这一点。

阅读原文

Fork Notebook

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nginx(3)nginx的Rewrite功能

nginx跨域 Rewrite功能配置Rewrite的相关命令Rewrite的案例域名跳转域名镜像独立域名目录自动添加/合并目录防盗链 Rewrite功能配置 Rewrite是Nginx服务器提供的一个重要基本功能&#xff0c;是Web服务器产品中几乎必备的功能。主要的作用是用来实现URL的重写。 注意:Nginx服…

AI生成图片检测器接口,应用于内容审核、虚拟现实应用和促进艺术及设计领域创新等场景

【检测率99.0%以上】可以快速准确地判断一张图片是否为AI生成&#xff0c;减少人工审核的工作量&#xff0c;提高工作效率、降低运营成本&#xff0c;帮助人们更好地管理和利用数字图像资源。广泛应用于内容审核、虚拟现实应用和促进艺术及设计领域创新等场景。 一、效果展示 …

Unity学习笔记--EventSystem事件系统在使用上需要注意的地方(很基础,但是很多人会忘记!!!)

目录 前言代码Unity 场景配置运行报错分析解决办法拓展&#xff08;预告&#xff09; 前言 之前有写过一篇关于事件系统实现以及使用的文章 Unity学习笔记–C#事件系统的实现与应用 最近在使用的时候遇到了一些问题&#xff0c;所以在此记录下&#xff0c;也为看到这篇文章的人…

魏副业而战:视频带货借助热点,这个账号月赚20w+

我是魏哥&#xff0c;与其在家躺平&#xff0c;不如魏副业而战&#xff01; 最近魏哥一直在研究短视频&#xff0c;每天刷刷抖音&#xff0c;经常刷到高考相关的视频。 本来高考跟我没关&#xff0c;毕竟孩子还小&#xff0c;但是刷得多了&#xff0c;魏哥发现有情况。 像这个…

oneAPI人工智能分析工具包实现图像处理

文章目录 一、oneAPI的介绍二、oneAPI实现图像处理环境配置加载预训练模型和网络创建IECore对象和设备插件准备输入数据执行推理总结 一、oneAPI的介绍 oneAPI是一个由英特尔&#xff08;Intel&#xff09;主导的、面向异构计算的开放标准和平台。它旨在简化和加速跨多种硬件架…

体验攻略 | 新时代的用研人,没有它不行

用户研究&#xff08;以下简称“用研”&#xff09;是随着互联网兴起和发展、从体验设计领域进一步分化出来的岗位。在互联网公司&#xff0c;用研岗位更多以用户体验为导向&#xff0c;主要工作为洞察用户的需求、行为和动机&#xff0c;为产品开发和服务设计提供指导性意见。…

DNS解析:连接互联网的关键步骤

&#x1f604;作者简介&#xff1a; 小曾同学.com,一个致力于测试开发的博主⛽️&#xff0c;主要职责&#xff1a;测试开发、CI/CD 如果文章知识点有错误的地方&#xff0c;还请大家指正&#xff0c;让我们一起学习&#xff0c;一起进步。&#x1f60a; 座右铭&#xff1a;不想…

C语言多组输入问题

目录 前言 scanf返回值介绍&#xff1a; EOF又是什么&#xff1f; 一、scanf的返回值等于输入参数的个数 二、scanf的返回值不等于EOF 三、对scanf的返回值按位取反&#xff08;~&#xff09; 如何结束&#xff1f; 前言 如果您经常刷题就一定碰到过多组输入的问题&#…

threejs纹理

个人博客地址: https://cxx001.gitee.io 前面我们介绍了各种可以用来覆盖对象的材质&#xff0c;也介绍了如何修改材质的颜色、关泽和不透明度&#xff0c;但是我们还没有详细介绍如何在材质中使用外部图片(也叫纹理). 将纹理应用于材质 1. 加载纹理并应用到网格 纹理最基础…

微信小程序,考试小程序,答题小程序,刷题小程序,知识竞赛小程序,活动答题小程序

简介 微信小程序&#xff0c;考试小程序&#xff0c;答题小程序&#xff0c;刷题小程序&#xff0c;知识竞赛小程序&#xff0c;活动答题小程序。题库小程序。毕业设计小程序&#xff0c;有前后端完整源码和数据库&#xff0c;易于二次开发。 还可用于考试预约&#xff0c;企…

创客匠人标杆客户——毛丫绘本蒋凌

蒋凌&#xff08;毛丫&#xff09;老师专注绘本阅读职业培训领域&#xff0c;举办过数百场绘本故事会、家长讲座、职业培训&#xff0c;培训总人数超过10万人&#xff0c;携手创客匠人搭建【毛丫讲绘本】线上平台。两三年时间&#xff0c;线上营业额突破千万&#xff0c;成功联…

【Vue】axios发请求下载excel--20230630

1.关键点&#xff1a; blob乱码传参 2.参考资料&#xff1a;处理blob文件流和乱码问题 https://blog.csdn.net/qq_41512902/article/details/125680531 https://blog.csdn.net/qq_38804584/article/details/109238794 3.我的代码&#xff1a;axios发请求下载excel js代…

【C++学习】类和对象 | 运算符重载 | 赋值运算符重载

写在前面&#xff1a; 上一篇文章我们学了拷贝构造&#xff0c;还探索了操作符重载的使用&#xff0c; 如果有兴趣可以去看看&#xff1a;http://t.csdn.cn/dkD1g 今天我们接着学习类和对象相关的知识。 目录 写在前面&#xff1a; 1. 运算符重载 2. 赋值运算符重载 写在…

Nginx常用模块

Nginx常用模块 文章目录 Nginx常用模块1.Nginx常用模块1.1.Nginx目录索引/下载模块1.1.1.配置autoindex语法1.1.2.autoindex配置实例1.1.3上传资源1.1.4.autoindex_exact_size配置语法1.1.5.修改配置文件1.1.6.再次访问1.1.7.修改日期1.1.8.autoindex_localtime语法格式1.1.9.修…

【C51】基于51单片机的出租车计价器设计

摘 要 随着我国经济的快速发展&#xff0c;出行选择乘坐出租车的人越来越多。与此同时电子信息技术的发展更新&#xff0c;更加准确、便捷、稳定的出租车计价收费系统随之出现。基于单片机的出租车计价系统的设计&#xff0c;不仅可以更加准确、稳定的反映计价情况&#xff0c;…

FreeRTOS—任务基础知识

文章目录 一、FreeRTOS任务特性二、FreeRTOS任务状态三、FreeRTOS任务优先级四、FreeRTOS任务实现五、任务控制块六、任务堆栈 一、FreeRTOS任务特性 简单没有使用限制&#xff08;任务数量没有显示&#xff0c;一个优先级下可以有多个任务&#xff09;支持抢占&#xff08;高…

前端谷歌浏览器调试

【浏览器调试工具精讲】Chrome Dev Tools精讲&#xff0c;前端必看&#xff01; 文章目录 命令菜单主题切换截屏窗口停放位置 常用Tabelement查找ID修改样式、样式文件定位 样式的来源如继承、自定义等让某个状态常驻如鼠标悬停全局、部分样式的的选择与取消复制样式某个样式属…

Java开发 - Canal的基本用法

前言 今天给大家带来的是Canal的基本用法&#xff0c;Canal在Java中常被我们用来做数据的同步&#xff0c;当然不是MySQL与MySQL&#xff0c;Redis与Redis之间了&#xff0c;如果是他们&#xff0c;那就好办了&#xff0c;我们可以直接通过配置来完成他们之间的主从、主主&…

【AUTOSAR】BMS开发实际项目讲解(三十)----电池管理系统电池SOH和SOE估算

电池SOH估算 关联的系统需求 Sys_Req_4004、Sys_Req_4005; 功能实现描述 SOH主要包括以下内容&#xff1a; SOH模块输入信息 序号 参数 说明 1 满电电压 4.14V 3 电芯OCV曲线 [CELL] 4 充放电循环次数 [CELL] 2 电芯循环衰减数据表 [CELL] SOH算法 ID Descr…

在docker中使用tomcat

检查本地操作系统版本&#xff1a; [rootnode ~]# cat /etc/os-release NAME"CentOS Linux" VERSION"7 (Core)" ID"centos" ID_LIKE"rhel fedora" VERSION_ID"7" PRETTY_NAME"CentOS Linux 7 (Core)" ANSI_COLO…