拓端tecdat|R语言中如何使用排队论预测等待时间?
原文链接:http://tecdat.cn/?p=4698
原文出处:拓端数据部落公众号
介绍
顾名思义,排队论是对用于预测队列长度和等待时间的长等待线的研究。这是一种流行的理论,主要用于运营,零售分析领域。
到目前为止,我们已经解决了传入呼叫量和呼叫持续时间事先已知的情况。在现实世界中,情况并非如此。在现实世界中,我们需要假设到达率和服务率的分布并相应地采取行动。
到货率仅仅是客户需求的结果,公司无法控制这些需求。另一方面,服务费率在很大程度上取决于有多少来电者代表可以服务,他们的表现如何以及他们的日程安排如何优化。
在本文中,我将使用排队理论让您更接近实际操作分析。我们还将解决几个问题,我们在之前的文章中以简单的方式回答了这些问题。
目录
- 什么是排队论?
- 排队论中使用的概念
- 肯德尔的记谱法
- 感兴趣的重要参数
- 小定理
- 案例研究1使用R
- 案例研究2使用R.
什么是排队论?
如上所述,排队理论是对用于估计队列长度和等待时间的长等待线的研究。它使用概率方法进行运筹学,计算机科学,电信,交通工程等领域的预测。
排队论最早是在20世纪初实施的,用于解决电话呼叫拥堵问题。因此,它不是任何新发现的概念。如今,沃达丰,Airtel,沃尔玛,AT&T,Verizon等公司正大量使用这一概念,以便为未来的流量做好准备。
让我们现在深入研究这个理论。我们现在将理解一个称为肯德尔符号和小定理的排队理论的重要概念。
感兴趣的参数
排队模型使用多个参数。这些参数有助于我们分析排队模型的性能。想想我们可以感兴趣的所有因素是什么?以下是我们对任何排队模型感兴趣的一些参数:
- 系统中没有客户的概率
- 系统中没有队列的概率
- 新客户进入系统后直接获得服务器的可能性
- 系统中不允许新客户的概率
- 队列的平均长度
- 系统中的平均人口
- 平均等待时间
- 系统中客户的平均时间
小定理
这是一个有趣的定理。让我们用一个例子来理解它。
考虑具有 实际进入系统的平均到达率λ的过程的队列 。设 N 是系统中作业(客户)的平均数(等待和服务), W 是系统中作业(等待和服务)所花费的平均时间。
然后,Little的结果表明这些数量将彼此相关:
N = λ w ^
这个定理非常方便地得出给定系统队列长度的等待时间。
4个最简单系列的参数:
1. M / M / 1 /∞/∞
这里,N和Nq分别是系统和队列中的人数。W和Wq分别是系统和队列中的等待时间。Rho是到达率与服务率的比率。概率也可以如下:
其中,p0是系统中零人的概率,pk是系统中k人的概率。
2. M / M / 1 /∞/∞排队 :
这是常见的分布之一,因为如果队列长度增加,到达率会下降。想象一下,你去了必胜客在美食广场举办比萨派对。但队列太长了。你可能会因为期待很长的等待时间而吃其他东西。
如您所见,到达率随着k的增加而减少。
3. M / M / c /∞/∞
使用c服务器,方程变得更加复杂。以下是到达和服务时这种马尔可夫分布的表达式。
案例研究1
想象一下,你在一家多国家银行工作。您有责任设置整个呼叫中心流程。您需要与呼叫中心联系并告诉他们您需要的服务器数量。
您正在为客户的特定功能查询设置此呼叫中心,该客户在一小时内有大约20个查询。每个查询大约需要15分钟才能解决。找出所需的服务器/代表数量,将平均等待时间缩短至不到30秒。
解
给定的问题是具有以下参数的M / M / c类型查询。
Lambda = 20
Mue = 4
这是一个R代码,可以找出每个服务器/代表数量值的等待时间。
> Lambda < - 20
> Mue < - 4 > Rho < - Lambda / Mue#创建一个空矩阵#创建一个函数而不是可以找到等待时间
> calculatewq < - { P0inv < - Rho ^ c /(factorial(c)*(1-(Rho / c)))(i in 1:c-1){ P0inv = P0inv +(Rho ^ i)/ factorial(i)} P0 = 1 / P0inv Wq = 60 * Lq / Lambda Ls < - Lq + Rho Ws < - 60 * Ls / Lambda a < - cbind(Lq, Wq,Ls,Ws)}#Now用等待时间的每个值填充矩阵
> for(i in 1:10){ matrix [i,2] < - calculatewq(i)[2] }
以下是我们等待时间的值:
等待时间的负值意味着参数的值不可行,并且我们有一个不稳定的系统。很明显,9 Reps,我们的平均等待时间降至0.3分钟。
案例研究2
让我们来看一个更复杂的例子。
想象一下,您是银行分行的运营官。您的分支机构最多可容纳50名客户。如果客户以100客户/小时的速度进入并且出纳员在3分钟内解决查询,您需要多少柜员?
您需要确保能够容纳超过99.999%的客户。这意味着只有不到0.001%的客户应该在没有进入分支机构的情况下返回,因为brach已经有50个客户。还要确保等待时间少于30秒。
解
这是一种“M / M / c / N = 50 /∞”类型的队列系统。不要担心这种复杂系统的队列长度公式(直接使用此代码中给出的那个)。只关注我们如何能够在这种有限队列长度系统中找到没有解决方案的客户离开的概率。
这是R代码
> Lambda < - 100 > Mue < - 20
> Rho < - Lambda / Mue
> N < - 50 > calculatewq(6)> calculatewq < - (c){ P0inv < - (R ^ c *(1 - ((Rho / c)^(N-c + 1))))/( (c)*(1-(Rho / c) ))for(i in 1:c-1){ P0inv = P0inv +(Rho ^ i)/ factorial(i)} P0 = 1 / P0inv Wq = 60 * Lq / Lambda Ls < - Lq + Rho Ws < - 60 * Ls / Lambda PN < - (Rho ^ N)* P0 /( ( c)* c ^(Nc)) customer_serviced < - (1 - PN)* 100a < - cbind(Lq,Wq,Ls,Ws,customer_serviced)return(a)} > for(i in 1:100){ matrix [i,2] < - calculatewq(i)[2] matrix [i,3 ] < - calculatewq(i)[5] }
显然,您需要更多7个代表来满足客户离开时出现的问题
最受欢迎的见解
1.R语言中使用排队论预测等待时间
2.R语言进行数值模拟:模拟泊松回归模型
3.用R语言模拟M M 1随机服务排队系统
4.R语言对布丰投针(蒲丰投针)实验进行模拟和动态可视化
5.用R语言模拟混合制排队随机服务排队系统
6.用R语言模拟随机服务排队系统
7.R语言做复杂金融产品的几何布朗运动的模拟
8.R语言进行数值模拟:模拟泊松回归模型
9.使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测
拓端tecdat|R语言中如何使用排队论预测等待时间?相关推荐
- 拓端tecdat|R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险
最近我们被客户要求撰写关于冠心病风险的研究报告,包括一些图形和统计输出. 相关视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险 逻辑回归Logistic模型原理和R语言分类预测冠 ...
- 拓端tecdat|R语言用LOESS(局部加权回归)季节趋势分解(STL)进行时间序列异常检测
最近我们被客户要求撰写关于LOESS(局部加权回归)的研究报告,包括一些图形和统计输出. 这篇文章描述了一种对涉及季节性和趋势成分的时间序列的中点进行建模的方法.我们将对一种叫做STL的算法进行研究, ...
- 拓端tecdat|R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系
最近我们被客户要求撰写关于向量误差修正模型的研究报告,包括一些图形和统计输出. 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以 ...
- 拓端tecdat|R语言线性回归和时间序列分析北京房价影响因素可视化案例
最近我们被客户要求撰写关于北京房价影响因素的研究报告,包括一些图形和统计输出. 目的 房价有关的数据可能反映了中国近年来的变化: 人们得到更多的资源(薪水),期望有更好的房子 人口众多 独生子女政策: ...
- R语言中的广义线性模型(GLM)和广义相加模型(GAM):多元(平滑)回归分析保险资金投资组合信用风险敞口
最近我们被客户要求撰写关于信用风险敞口的研究报告,包括一些图形和统计输出. 在之前的课堂上,我们已经看到了如何可视化多元回归模型(带有两个连续的解释变量).在此,目标是使用一些协变量(例如,驾驶员的年 ...
- 在r语言中使用GAM(广义相加模型)进行电力负荷时间序列分析
广义相加模型(GAM:Generalized Additive Model),它模型公式如下:有p个自变量,其中X1与y是线性关系,其他变量与y是非线性关系,我们可以对每个变量与y拟合不同关系,对X2 ...
- 二次拟合r方_拟合R语言中的多项式回归
原标题:拟合R语言中的多项式回归 让我们看一个经济学的例子:假设你想购买一定数量q的特定产品.如果单价是p,那么你会支付总金额y.这是一个线性关系的典型例子.总价格和数量成正比. 如下所示: 但购买和 ...
- 拓端tecdat|bilibili视频流量数据潜望镜
最近我们被客户要求撰写关于bilibili视频流量的研究报告,包括一些图形和统计输出. 最新研究表明,中国有超过7亿人在观看在线视频内容.Bilibili,被称为哔哩哔哩或简称为B站,是中国大陆第二个 ...
- 技巧 | 在R语言中使用高德地图的API进行地理/逆地理编码(地址与经纬度的相互转换)...
高德地图和百度地图都提供了坐标拾取系统,通过坐标查询或坐标反查操作可以查询一个地址对应的经纬度或经纬度对应的地址名称.但是,手动查询的方式效率很低,也不能进行批量查询. 本篇就来介绍在R语言中调用高德 ...
- r语言中检测异常值_R中的异常值检测
r语言中检测异常值 介绍 (Introduction) An outlier is a value or an observation that is distant from other obser ...
最新文章
- java运行过程_Java执行过程
- (积累)java里的套接字
- 在AWS上搭建NEO私有链(1)
- ubuntu交叉编译x264报错:‘X264_VERSION’ undeclared(已解决)运行version.sh
- 2019-10-06 线性系统的理解
- ebs r12 -- adadmin: error while loading shared libraries: libclntsh.so.10.1
- 开发文档模板_需求文档模板一堆什么样的适合你呢?
- 指定开始_Flink-Kafka指定offset的五种方式
- phpstrom php cli,在docker中的PhpStorm 2017.1远程php-cli:配置php.ini文件不存在
- jquery 获取父窗口的元素、父窗口、子窗口
- 计算机文件夹无法排序,文件夹下文件不能手动调整顺序?-开启Windows 7文件/文件夹手动排序功能...
- 阅读科研文献心得分享(二)
- Android Behavior之ViewPager+Fragment+RecyclerView实现吸顶效果
- MSTAR648方案遥控器配置
- 采样频率和带宽的关系_示波器的带宽与采样率是什么关系
- Excel合并单元格怎么分组排序?
- ISP——坏点矫正(Defective Pixel Correction,DPC)
- 【大话QT之十】实现FTP断点续传
- mobiscroll用法
- 疫情期间被迫营业帮妹妹辅导作业之经纬度和东西半球的判断
热门文章
- 图像处理之基础---叹为观止的图像处理
- java例程练习(数组复制与arraycopy)
- Anaconda3环境path与notepad++的NppExec插件激活环境与快速运行python脚本与matlab脚本,c代码
- 函数——C++的编程模块
- C++--第1课 - C到C++的升级
- Android-LayoutParams的那些事
- Linux学习笔记(二十三)shell介绍、history命令历史、命令补全和别名、通配符、...
- 【转】Caffe初试(八)Blob,Layer和Net以及对应配置文件的编写
- Linux系统下CMake的安装和使用
- 什么是git subcommand,如何创建git子命令?